summaryrefslogtreecommitdiffstats
path: root/BRMSGateway/src/test/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-08-22 14:21:14 -0400
committerJim Hahn <jrh3@att.com>2019-08-22 17:07:37 -0400
commit962dd9714c6d35cacdec0ee8e601431aa349001a (patch)
tree03ce05c9c64680f0c44fa22734294292a1a12064 /BRMSGateway/src/test/java
parente78f07ad32ffb52ed5d3e02295ed5282841870f3 (diff)
Remove powermock to increase coverage
Removed powermock from the junit tests of these classes to increase reported sonar coverage: RESTfulPAPEngine BrmsGateway Typically added override methods to the classes under test, to replace the overrides originally provided by powermock. Also needed to add code to RESTfulPAPEngineTest to clear the XACML properties before the test ran. Modified to use the existing XACMLProperties.reloadProperties() method. Also modified PolicyNotificationMailTest to use a host/port that has no listener so that the test runs faster. Fixed some newly introduced sonar issues. Change-Id: I65e36b01e9506987032eb21baac808ed3dfd4f47 Issue-ID: POLICY-1937 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'BRMSGateway/src/test/java')
-rw-r--r--BRMSGateway/src/test/java/org/onap/policy/brms/api/BrmsGatewayTest.java89
1 files changed, 70 insertions, 19 deletions
diff --git a/BRMSGateway/src/test/java/org/onap/policy/brms/api/BrmsGatewayTest.java b/BRMSGateway/src/test/java/org/onap/policy/brms/api/BrmsGatewayTest.java
index fd8a7ed3b..b34b18b6d 100644
--- a/BRMSGateway/src/test/java/org/onap/policy/brms/api/BrmsGatewayTest.java
+++ b/BRMSGateway/src/test/java/org/onap/policy/brms/api/BrmsGatewayTest.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,37 +20,88 @@
package org.onap.policy.brms.api;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.runner.RunWith;
import org.mockito.Mockito;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.onap.policy.api.PolicyException;
+import org.onap.policy.brms.api.BrmsGateway.Factory;
+import org.powermock.reflect.Whitebox;
-@RunWith(PowerMockRunner.class)
public class BrmsGatewayTest {
+ private static final String FACTORY_FIELD = "factory";
+
+ private static Factory saveFactory;
+
+ private Thread thread;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ saveFactory = Whitebox.getInternalState(BrmsGateway.class, FACTORY_FIELD);
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() {
+ Whitebox.setInternalState(BrmsGateway.class, FACTORY_FIELD, saveFactory);
+ }
+
+ /**
+ * Installs a factory.
+ */
+ @Before
+ public void setUp() {
+ thread = null;
+
+ Factory factory = new Factory() {
+ @Override
+ public BrmsHandler makeBrmsHandler(String configFile) throws PolicyException {
+ // Mock handler
+ return Mockito.mock(BrmsHandler.class);
+ }
+
+ @Override
+ public Thread makeThread(Runnable runnable) {
+ thread = super.makeThread(runnable);
+ return thread;
+ }
+
+ };
+
+ Whitebox.setInternalState(BrmsGateway.class, FACTORY_FIELD, factory);
+ }
+
+ /**
+ * Interrupts the thread, if there is one.
+ */
+ @After
+ public void tearDown() throws InterruptedException {
+ if (thread != null) {
+ thread.interrupt();
+ thread.join(5000L);
+ assertFalse(thread.isAlive());
+ }
+ }
+
+ @Test
+ public void testFactory() throws InterruptedException {
+ assertNotNull(saveFactory);
+ assertNotNull(saveFactory.makeThread(() -> { }));
+ }
+
@Test
public void testGet() {
assertNull(BrmsGateway.getPolicyEngine());
}
- @PrepareForTest({Thread.class, BrmsGateway.class})
@Test
public void testMain() throws Exception {
- // Mock Thread
- PowerMockito.spy(Thread.class);
- PowerMockito.doNothing().when(Thread.class);
- Thread.sleep(1000);
-
- // Mock handler
- final BrmsHandler handler = Mockito.mock(BrmsHandler.class);
- PowerMockito.whenNew(BrmsHandler.class).withArguments(any()).thenReturn(handler);
-
- // Run app
try {
final String[] args = new String[0];
BrmsGateway.main(args);