CC
diff --git a/src/test/java/pta/de/core/controller/ServicesConfigCacheTimerTaskTest.java b/src/test/java/pta/de/core/controller/ServicesConfigCacheTimerTaskTest.java
new file mode 100644
index 0000000..ac6c124
--- /dev/null
+++ b/src/test/java/pta/de/core/controller/ServicesConfigCacheTimerTaskTest.java
@@ -0,0 +1,62 @@
+package pta.de.core.controller;
+
+import org.apache.log4j.Logger;
+import org.easymock.EasyMock;
+import org.eclipse.jetty.http.HttpStatus;
+import org.junit.Test;
+import org.powermock.reflect.Whitebox;
+import pta.de.core.exceptions.HttpStatusException;
+
+import javax.validation.constraints.AssertTrue;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.assertTrue;
+
+public class ServicesConfigCacheTimerTaskTest {
+ @Test
+ public void testRun() throws HttpStatusException {
+ // ------------------ Prepare Test ----------------------
+ final String EXCEPTION_TEXT = "Exception";
+
+ Logger localLogger = EasyMock.createMock(Logger.class);
+ localLogger.error(anyString(), anyObject());
+ expectLastCall().andThrow(new RuntimeException("Error Logged!"));
+
+ localLogger.debug(anyString());
+ expectLastCall().anyTimes();
+
+ replay(localLogger);
+
+ Whitebox.setInternalState(ServicesConfigCacheTimerTask.class, "logger", localLogger);
+
+ ServicesConfigCache scc = EasyMock.createMock(ServicesConfigCache.class);
+ scc.readServerDistribution(eq(EXCEPTION_TEXT));
+ expectLastCall().andThrow(new HttpStatusException(HttpStatus.INTERNAL_SERVER_ERROR_500)).anyTimes();
+
+ scc.readServerDistribution(not(eq(EXCEPTION_TEXT)));
+ expectLastCall().anyTimes();
+
+ replay( scc );
+
+ Whitebox.setInternalState(ServicesConfigCache.class, "SERIVCECONFIGCACHE_INSTANCE", scc);
+
+
+ // ---------------------------- Test it ------------------------------------------
+ ServicesConfigCacheTimerTask task = new ServicesConfigCacheTimerTask(EXCEPTION_TEXT);
+ boolean exceptionThrown = false;
+
+ // this runs into the exception block
+ try {
+ task.run();
+ }
+ catch( RuntimeException re ) {
+ exceptionThrown = true;
+ }
+ assertTrue( exceptionThrown );
+
+ // should run without problems
+ ServicesConfigCacheTimerTask task2 = new ServicesConfigCacheTimerTask("No Error");
+ task2.run();
+ }
+
+}