package com.aol.micro.server.config; import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import org.junit.Test; @Microserver(propertiesName = "test!", instancePropertiesName = "test2!",serviceTypePropertiesName = "servicetType!", properties = { "hello", "world" }, entityScan = { "packages" }, classes = { String.class, Integer.class }, blacklistedClasses = {String.class}) public class MicroserverConfigurerTest { MicroserverConfigurer configurer = new MicroserverConfigurer(); @Test public void properties() { assertThat(configurer.buildConfig(MicroserverConfigurerTest.class).getProperties().keySet(), hasItem("hello")); assertThat(configurer.buildConfig(MicroserverConfigurerTest.class).getProperties().values(), hasItem("world")); } @Test public void propertiesName() { assertThat(configurer.buildConfig(MicroserverConfigurerTest.class).getPropertiesName(), equalTo("test!")); } @Test public void instancPpropertiesName() { assertThat(configurer.buildConfig(MicroserverConfigurerTest.class).getInstancePropertiesName(), equalTo("test2!")); } @Test public void serviceTypePropertiesName() { assertThat(configurer.buildConfig(MicroserverConfigurerTest.class).getServiceTypePropertiesName(), equalTo("servicetType!")); } @Test public void entityScan() { Config config = configurer.buildConfig(MicroserverConfigurerTest.class); assertThat(config.getDataSources().get(config.getDefaultDataSourceName()), hasItem("packages")); } @Test public void springClasses() { Config config = configurer.buildConfig(MicroserverConfigurerTest.class); System.out.println(config.getClasses()); assertThat(config.getClasses(), hasItem(Integer.class)); } @Test public void selfClass() { Config config = configurer.buildConfig(MicroserverConfigurerTest.class); assertThat(config.getClasses(), hasItem(this.getClass())); } @Test public void additionalClasses() { Config config = configurer.buildConfig(MicroserverConfigurerTest.class); assertThat(config.getClasses(), hasItem(Integer.class)); } @Test public void circularReferences() { Config config = configurer.buildConfig(MicroserverConfigurerTest.class); assertFalse(config.isAllowCircularReferences()); config = configurer.buildConfig(MicroserverConfigurerTest.class).withAllowCircularReferences(true); assertTrue(config.isAllowCircularReferences()); } }