CC
diff --git a/pom.xml b/pom.xml index 2ff9e6a..a03dcfb 100644 --- a/pom.xml +++ b/pom.xml
@@ -21,7 +21,7 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <dropwizard.version>1.2.0</dropwizard.version> - <mainClass>pta.de.micsCentralApplication</mainClass> + <mainClass>pta.de.MicsCentralApplication</mainClass> <easymock.version>3.4</easymock.version> <powermock-api-easymock.version>1.6.6</powermock-api-easymock.version> <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
diff --git a/src/main/java/pta/de/micsCentralApplication.java b/src/main/java/pta/de/MicsCentralApplication.java similarity index 86% rename from src/main/java/pta/de/micsCentralApplication.java rename to src/main/java/pta/de/MicsCentralApplication.java index 7f705e8..b37fe22 100644 --- a/src/main/java/pta/de/micsCentralApplication.java +++ b/src/main/java/pta/de/MicsCentralApplication.java
@@ -5,7 +5,6 @@ import io.dropwizard.setup.Bootstrap; import io.dropwizard.setup.Environment; import org.eclipse.jetty.servlets.CrossOriginFilter; -import pta.de.core.controller.BackendController; import pta.de.core.controller.InitServicesConfigCacheJob; import pta.de.health.ConfigFilePresentHealthCheck; import pta.de.resources.MicsCentralResource; @@ -14,10 +13,10 @@ import javax.servlet.FilterRegistration; import java.util.EnumSet; -public class micsCentralApplication extends Application<micsCentralConfiguration> { +public class MicsCentralApplication extends Application<MicsCentralConfiguration> { public static void main(final String[] args) throws Exception { - new micsCentralApplication().run(args); + new MicsCentralApplication().run(args); } @Override @@ -26,11 +25,12 @@ } @Override - public void initialize(final Bootstrap<micsCentralConfiguration> bootstrap) { + public void initialize(final Bootstrap<MicsCentralConfiguration> bootstrap) { + // nothing to do here for now } @Override - public void run(final micsCentralConfiguration configuration, + public void run(final MicsCentralConfiguration configuration, final Environment environment) { initAppEnvironment( configuration ); @@ -44,7 +44,7 @@ configureCors(environment); } - private void initAppEnvironment( micsCentralConfiguration conf ) { + private void initAppEnvironment( MicsCentralConfiguration conf ) { InitServicesConfigCacheJob.init(conf.getServicesDistributionFileName()); }
diff --git a/src/main/java/pta/de/micsCentralConfiguration.java b/src/main/java/pta/de/MicsCentralConfiguration.java similarity index 89% rename from src/main/java/pta/de/micsCentralConfiguration.java rename to src/main/java/pta/de/MicsCentralConfiguration.java index 3566350..26ae324 100644 --- a/src/main/java/pta/de/micsCentralConfiguration.java +++ b/src/main/java/pta/de/MicsCentralConfiguration.java
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.hibernate.validator.constraints.*; -public class micsCentralConfiguration extends Configuration { +public class MicsCentralConfiguration extends Configuration { @NotEmpty private String servicesDistributionFileName;
diff --git a/src/test/java/pta/de/MicsCentralApplicationTest.java b/src/test/java/pta/de/MicsCentralApplicationTest.java new file mode 100644 index 0000000..dc90855 --- /dev/null +++ b/src/test/java/pta/de/MicsCentralApplicationTest.java
@@ -0,0 +1,72 @@ +package pta.de; + +import com.codahale.metrics.health.HealthCheckRegistry; +import io.dropwizard.jersey.setup.JerseyEnvironment; +import io.dropwizard.jetty.setup.ServletEnvironment; +import io.dropwizard.setup.Environment; +import org.easymock.EasyMock; +import org.eclipse.jetty.servlets.CrossOriginFilter; +import org.junit.Test; +import org.powermock.reflect.Whitebox; + +import javax.servlet.FilterRegistration; + +import static org.easymock.EasyMock.*; +import static org.junit.Assert.assertEquals; +import static org.powermock.api.easymock.PowerMock.replay; + +public class MicsCentralApplicationTest { + + @Test + public void testGetName() { + assertEquals( "micsCentral", new MicsCentralApplication().getName()); + } + + @Test + public void testRun() { + + MicsCentralConfiguration conf = createConfiguration(); + MicsCentralApplication mca = new MicsCentralApplication(); + mca.run(conf, createMockedEnvironment()); + + } + + @Test + public void testRun2() throws Exception { + MicsCentralApplication mca = new MicsCentralApplication(); + Whitebox.invokeMethod(mca, "configureCors", createMockedEnvironment() ); + } + private MicsCentralConfiguration createConfiguration() { + MicsCentralConfiguration c = new MicsCentralConfiguration(); + c.setServicesDistributionFileName("src/test/resources/testServiceDistributions.json"); + return c; + } + + private Environment createMockedEnvironment() { + FilterRegistration.Dynamic cors = EasyMock.createMock(FilterRegistration.Dynamic.class); + expect(cors.setInitParameter(anyString(), anyString())).andReturn( Boolean.TRUE ).anyTimes(); + cors.addMappingForUrlPatterns(anyObject(), anyBoolean(), anyString()); + expectLastCall(); + replay( cors ); + + ServletEnvironment se = EasyMock.createMock(ServletEnvironment.class); + expect(se.addFilter(eq("CORS"), eq(CrossOriginFilter.class))).andReturn(cors).anyTimes(); + replay(se); + + JerseyEnvironment je = EasyMock.createMock(JerseyEnvironment.class); + je.register(anyObject()); + expectLastCall(); + + HealthCheckRegistry hcr = EasyMock.createMock(HealthCheckRegistry.class); + hcr.register(anyString(), anyObject()); + expectLastCall(); + + Environment environment = EasyMock.createMock( Environment.class ); + expect( environment.servlets() ).andReturn(se).anyTimes(); + expect( environment.jersey() ).andReturn(je).anyTimes(); + expect( environment.healthChecks() ).andReturn(hcr).anyTimes(); + replay( environment ); + verify( environment ); + return environment; + } +}