diff --git a/LogParser/pom.xml b/LogParser/pom.xml
index 8bf50b0..0bd21a8 100644
--- a/LogParser/pom.xml
+++ b/LogParser/pom.xml
@@ -130,7 +130,19 @@
 					<artifactId>cadi-aaf</artifactId>
 				</exclusion>
 			</exclusions>
-		</dependency>     		           
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-module-junit4</artifactId>
+			<version>1.7.3</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-api-mockito2</artifactId>
+			<version>1.7.3</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 	<build>
 		<plugins>
diff --git a/LogParser/src/test/java/org/onap/xacml/parser/ParseLogTest.java b/LogParser/src/test/java/org/onap/xacml/parser/ParseLogTest.java
index 09ffa42..91de464 100644
--- a/LogParser/src/test/java/org/onap/xacml/parser/ParseLogTest.java
+++ b/LogParser/src/test/java/org/onap/xacml/parser/ParseLogTest.java
@@ -37,6 +37,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.onap.policy.common.im.AdministrativeStateException;
 import org.onap.policy.common.im.IntegrityMonitor;
@@ -45,8 +46,12 @@
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.xacml.parser.LogEntryObject.LOGTYPE;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 
-
+@PrepareForTest({ParseLogTest.class, IntegrityMonitor.class})
+@RunWith(PowerMockRunner.class)
 public class ParseLogTest {
 	
 	private static Logger logger = FlexLogger.getLogger(ParseLogTest.class);
@@ -568,4 +573,30 @@
 		    logger.debug("exception occured while executing the test: exit");
 		}
 	}
+	
+	@Test
+    public void testMainDebug() {
+        try {
+            final Properties returnConfig = ParseLog.getPropertiesValue(configFileDebug);
+            PowerMockito.mockStatic(IntegrityMonitor.class);
+            Mockito.when(IntegrityMonitor.getInstance("test", returnConfig)).thenReturn(im);
+            ParseLog.main(new String[] {});
+            Thread.sleep(30000);
+        } catch (final Exception e) {
+            logger.debug("exception occured while executing the test: exit");
+        }
+    }
+
+    @Test
+    public void testMainError() {
+        try {
+            final Properties returnConfig = ParseLog.getPropertiesValue(configFileError);
+            PowerMockito.mockStatic(IntegrityMonitor.class);
+            Mockito.when(IntegrityMonitor.getInstance("test", returnConfig)).thenReturn(im);
+            ParseLog.main(new String[] {});
+            Thread.sleep(30000);
+        } catch (final Exception e) {
+            logger.debug("exception occured while executing the test: exit");
+        }
+    }
 }
\ No newline at end of file
diff --git a/LogParser/src/test/resources/test_config_debug.properties b/LogParser/src/test/resources/test_config_debug.properties
index 66b4173..3e9d614 100644
--- a/LogParser/src/test/resources/test_config_debug.properties
+++ b/LogParser/src/test/resources/test_config_debug.properties
@@ -29,3 +29,5 @@
 LOGTYPE=PAP
 LOGPATH=/Workspaces/HealthCheck/debug/pap-rest.log
 PARSERLOGPATH=IntegrityMonitor.log
+CHECK_INTERVAL=600000
+TIME_FRAME=5
\ No newline at end of file
diff --git a/LogParser/src/test/resources/test_config_error.properties b/LogParser/src/test/resources/test_config_error.properties
index 3c5c070..2348493 100644
--- a/LogParser/src/test/resources/test_config_error.properties
+++ b/LogParser/src/test/resources/test_config_error.properties
@@ -29,3 +29,5 @@
 LOGTYPE=PAP
 LOGPATH=/Workspaces/HealthCheck/error/pap-rest.log
 PARSERLOGPATH=IntegrityMonitor.log
+CHECK_INTERVAL=600000
+TIME_FRAME=five
\ No newline at end of file
