@Override protected void tearDown() throws Exception { classReloader.close(); Thread.currentThread().setContextClassLoader(oldClassLoader); System.clearProperty("guava.concurrent.generate_cancellation_cause"); }
@After public void cleanup() { System.clearProperty(P1); }
@After public void after() { if (enabled != null) { System.setProperty("ENABLED", enabled); } else { System.clearProperty("ENABLED"); } if (context != null) { context.close(); } }
@Test public void suppressGetenvAccessThroughSystemProperty() { System.setProperty("spring.getenv.ignore", "true"); assertTrue(environment.getSystemEnvironment().isEmpty()); System.clearProperty("spring.getenv.ignore"); }
@Test public void withResolvablePlaceholder() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(ConfigWithResolvablePlaceholder.class); System.setProperty("path.to.properties", "org/springframework/context/annotation"); ctx.refresh(); assertThat(ctx.getBean(TestBean.class).getName(), equalTo("p1TestBean")); System.clearProperty("path.to.properties"); }
@Test @SuppressWarnings("resource") public void valueFieldsAreProcessedWhenStaticPlaceholderConfigurerIsIntegrated() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(ConfigWithValueFieldAndStaticPlaceholderConfigurer.class); System.setProperty("test.name", "foo"); ctx.refresh(); System.clearProperty("test.name"); TestBean testBean = ctx.getBean(TestBean.class); assertThat(testBean.getName(), equalTo("foo")); }
@Test public void resolveSystemProperty() throws Exception { System.setProperty("systemProperty", "22"); Object value = resolver.resolveArgument(paramSystemProperty, null, webRequest, null); System.clearProperty("systemProperty"); assertEquals("22", value); }
@Test public void withResolvablePlaceholderAndFactoryBean() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(ConfigWithResolvablePlaceholderAndFactoryBean.class); System.setProperty("path.to.properties", "org/springframework/context/annotation"); ctx.refresh(); assertThat(ctx.getBean(TestBean.class).getName(), equalTo("p1TestBean")); System.clearProperty("path.to.properties"); }
@Test @SuppressWarnings("resource") public void valueFieldsAreProcessedWhenPlaceholderConfigurerIsSegregated() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.register(ConfigWithValueField.class); ctx.register(ConfigWithPlaceholderConfigurer.class); System.setProperty("test.name", "foo"); ctx.refresh(); System.clearProperty("test.name"); TestBean testBean = ctx.getBean(TestBean.class); assertThat(testBean.getName(), equalTo("foo")); }
@Test public void resolveSystemProperty() throws Exception { System.setProperty("systemProperty", "22"); try { Mono<Object> mono = this.resolver.resolveArgument( this.paramSystemProperty, new BindingContext(), this.exchange); Object value = mono.block(); assertEquals(22, value); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveDefaultValueFromSystemProperty() throws Exception { System.setProperty("systemProperty", "bar"); try { Object result = resolver.resolveArgument(paramSystemProperty, null, webRequest, null); assertTrue(result instanceof String); assertEquals("bar", result); } finally { System.clearProperty("systemProperty"); } }
@Before @After public void clearProperties() { System.clearProperty(MAX_CONTEXT_CACHE_SIZE_PROPERTY_NAME); SpringProperties.setProperty(MAX_CONTEXT_CACHE_SIZE_PROPERTY_NAME, null); }
@Test public void trimValuesIsOffByDefault() { PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer(); System.setProperty("my.name", " myValue "); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("testBean", rootBeanDefinition(TestBean.class) .addPropertyValue("name", "${my.name}") .getBeanDefinition()); ppc.postProcessBeanFactory(bf); assertThat(bf.getBean(TestBean.class).getName(), equalTo(" myValue ")); System.clearProperty("my.name"); }
@Test public void fallbackToSystemProperties() { MockServletContext servletContext = new MockServletContext(); System.setProperty("test.prop", "bar"); try { String resolved = ServletContextPropertyUtils.resolvePlaceholders("${test.prop:foo}", servletContext); assertEquals("bar", resolved); } finally { System.clearProperty("test.prop"); } } }
@Test public void trimValuesIsApplied() { PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer(); ppc.setTrimValues(true); System.setProperty("my.name", " myValue "); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("testBean", rootBeanDefinition(TestBean.class) .addPropertyValue("name", "${my.name}") .getBeanDefinition()); ppc.postProcessBeanFactory(bf); assertThat(bf.getBean(TestBean.class).getName(), equalTo("myValue")); System.clearProperty("my.name"); }
@Test public void nullValueIsPreserved() { PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer(); ppc.setNullValue("customNull"); System.setProperty("my.name", "customNull"); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("testBean", rootBeanDefinition(TestBean.class) .addPropertyValue("name", "${my.name}") .getBeanDefinition()); ppc.postProcessBeanFactory(bf); assertThat(bf.getBean(TestBean.class).getName(), nullValue()); System.clearProperty("my.name"); }
@Test public void resolveDefaultValueSystemProperty() throws Exception { System.setProperty("systemProperty", "sysbar"); try { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).build(); Object result = resolver.resolveArgument(paramSystemPropertyDefaultValue, message); assertEquals("sysbar", result); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveNameFromSystemProperty() throws Exception { System.setProperty("systemProperty", "sysbar"); try { Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeader("sysbar", "foo").build(); Object result = resolver.resolveArgument(paramSystemPropertyName, message); assertEquals("foo", result); } finally { System.clearProperty("systemProperty"); } }
@Test public void resolveFromLocalProperties() { System.clearProperty(P1); registerWithGeneratedName(p1BeanDef, bf); ppc.postProcessBeanFactory(bf); TestBean bean = bf.getBean(TestBean.class); assertThat(bean.getName(), equalTo(P1_LOCAL_PROPS_VAL)); }
@Test public void setSystemSystemPropertiesMode_toOverride_andSetSearchSystemEnvironment_toFalse() { registerWithGeneratedName(p1BeanDef, bf); System.clearProperty(P1); // will now fall all the way back to system environment ppc.setSearchSystemEnvironment(false); ppc.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE); ppc.postProcessBeanFactory(bf); TestBean bean = bf.getBean(TestBean.class); assertThat(bean.getName(), equalTo(P1_LOCAL_PROPS_VAL)); // has to resort to local props }