@Test(expected = IllegalArgumentException.class) public void acceptsProfiles_withEmptyArgument() { environment.acceptsProfiles(""); }
@Test(expected = IllegalArgumentException.class) public void acceptsProfiles_withNullArgumentList() { environment.acceptsProfiles((String[]) null); }
@Test(expected = IllegalArgumentException.class) public void acceptsProfiles_withNullArgument() { environment.acceptsProfiles((String) null); }
@Test(expected = IllegalArgumentException.class) public void acceptsProfiles_withEmptyArgumentList() { environment.acceptsProfiles(); }
@Test(expected = IllegalArgumentException.class) public void acceptsProfiles_withInvalidNotOperator() { environment.acceptsProfiles("p1", "!"); }
@Test public void acceptsProfiles_withNotOperator() { assertThat(environment.acceptsProfiles("p1"), is(false)); assertThat(environment.acceptsProfiles("!p1"), is(true)); environment.addActiveProfile("p1"); assertThat(environment.acceptsProfiles("p1"), is(true)); assertThat(environment.acceptsProfiles("!p1"), is(false)); }
@Test public void acceptsProfiles_defaultProfile() { assertThat(environment.acceptsProfiles("pd"), is(false)); environment.setDefaultProfiles("pd"); assertThat(environment.acceptsProfiles("pd"), is(true)); environment.setActiveProfiles("p1"); assertThat(environment.acceptsProfiles("pd"), is(false)); assertThat(environment.acceptsProfiles("p1"), is(true)); }
@Test public void acceptsProfiles_activeProfileSetProgrammatically() { assertThat(environment.acceptsProfiles("p1", "p2"), is(false)); environment.setActiveProfiles("p1"); assertThat(environment.acceptsProfiles("p1", "p2"), is(true)); environment.setActiveProfiles("p2"); assertThat(environment.acceptsProfiles("p1", "p2"), is(true)); environment.setActiveProfiles("p1", "p2"); assertThat(environment.acceptsProfiles("p1", "p2"), is(true)); }
@Test @SuppressWarnings("deprecation") public void environmentMerge() { assertThat(this.root.getEnvironment().acceptsProfiles("rootProfile1"), is(true)); assertThat(this.root.getEnvironment().acceptsProfiles("wacProfile1"), is(false)); assertThat(this.applicationContext.getEnvironment().acceptsProfiles("rootProfile1"), is(true)); assertThat(this.applicationContext.getEnvironment().acceptsProfiles("wacProfile1"), is(true)); }
private DocumentFilter getNegativeProfileFilter(Profile profile) { return (Document document) -> (profile == null && !ObjectUtils.isEmpty(document.getProfiles()) && this.environment .acceptsProfiles(Profiles.of(document.getProfiles()))); }
@Test public void acceptsProfiles_activeProfileSetViaProperty() { assertThat(environment.acceptsProfiles("p1"), is(false)); environment.getPropertySources().addFirst(new MockPropertySource().withProperty(ACTIVE_PROFILES_PROPERTY_NAME, "p1")); assertThat(environment.acceptsProfiles("p1"), is(true)); }
@Test public void acceptsProfiles_withProfileExpression() { assertThat(environment.acceptsProfiles(Profiles.of("p1 & p2")), is(false)); environment.addActiveProfile("p1"); assertThat(environment.acceptsProfiles(Profiles.of("p1 & p2")), is(false)); environment.addActiveProfile("p2"); assertThat(environment.acceptsProfiles(Profiles.of("p1 & p2")), is(true)); }
@Test public void withAwareTypeFilter() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(ComponentScanWithAwareTypeFilter.class); assertTrue(ctx.getEnvironment().acceptsProfiles(Profiles.of("the-filter-ran"))); }
@Test public void withMultiCustomReservedDefaultProfile() { class CustomEnvironment extends AbstractEnvironment { @Override @SuppressWarnings("serial") protected Set<String> getReservedDefaultProfiles() { return new HashSet<String>() {{ add("rd1"); add("rd2"); }}; } } ConfigurableEnvironment env = new CustomEnvironment(); assertThat(env.acceptsProfiles(defaultProfile()), is(false)); assertThat(env.acceptsProfiles(Profiles.of("rd1 | rd2")), is(true)); // finally, issue additional assertions to cover all combinations of calling these // methods, however unlikely. env.setDefaultProfiles("d1"); assertThat(env.acceptsProfiles(Profiles.of("rd1 | rd2")), is(false)); assertThat(env.acceptsProfiles(Profiles.of("d1")), is(true)); env.setActiveProfiles("a1", "a2"); assertThat(env.acceptsProfiles(Profiles.of("d1")), is(false)); assertThat(env.acceptsProfiles(Profiles.of("a1 | a2")), is(true)); env.setActiveProfiles(); assertThat(env.acceptsProfiles(Profiles.of("d1")), is(true)); assertThat(env.acceptsProfiles(Profiles.of("a1 | a2")), is(false)); env.setDefaultProfiles(); assertThat(env.acceptsProfiles(defaultProfile()), is(false)); assertThat(env.acceptsProfiles(Profiles.of("rd1 | rd2")), is(false)); assertThat(env.acceptsProfiles(Profiles.of("d1")), is(false)); assertThat(env.acceptsProfiles(Profiles.of("a1 | a2")), is(false)); }
private DocumentFilter getPositiveProfileFilter(Profile profile) { return (Document document) -> { if (profile == null) { return ObjectUtils.isEmpty(document.getProfiles()); } return ObjectUtils.containsElement(document.getProfiles(), profile.getName()) && this.environment .acceptsProfiles(Profiles.of(document.getProfiles())); }; }
@Override public boolean acceptsProfiles(String... profiles) { return delegate.acceptsProfiles(profiles); }
@Override public boolean acceptsProfiles(String... profiles) { return delegate.acceptsProfiles(profiles); }
@Override protected void configureProfiles(final ConfigurableEnvironment environment, final String[] args) { super.configureProfiles(environment, args); final boolean standaloneActive = environment.acceptsProfiles(StarterProfiles.STANDALONE); final boolean stagingActive = environment.acceptsProfiles(StarterProfiles.STAGING); final boolean productionActive = environment.acceptsProfiles(StarterProfiles.PRODUCTION); if (stagingActive && productionActive) { throw new IllegalStateException("Cannot activate staging and production profiles at the same time."); } else if (productionActive || stagingActive) { System.out.println("Activating " + (productionActive ? StarterProfiles.PRODUCTION : StarterProfiles.STAGING) + " profile."); } else if (standaloneActive) { System.out.println("Activating " + "the default standalone profile."); } else { throw new IllegalStateException( "Unknown profiles specified. Please specify one of default, staging or production."); } }
@Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { if (environment.getActiveProfiles().length == 0) { System.out.println("No active profile specified, switch to DEVELOPMENT mode by default"); environment.addActiveProfile("dev"); } if (environment.acceptsProfiles("dev")) { Validate.validState(environment.getActiveProfiles().length == 1, "Development profile could not be mixed with other profiles"); System.out.println("Application is started in DEVELOPMENT mode"); } } }
if (configurableEnvironment.acceptsProfiles("api")) { configurableEnvironment.addActiveProfile("environmentcache-fs");