diff options
Diffstat (limited to 'PolicyEngineAPI')
6 files changed, 740 insertions, 653 deletions
diff --git a/PolicyEngineAPI/pom.xml b/PolicyEngineAPI/pom.xml index be3700eba..6ffef7594 100644 --- a/PolicyEngineAPI/pom.xml +++ b/PolicyEngineAPI/pom.xml @@ -31,6 +31,26 @@ <artifactId>PolicyEngineAPI</artifactId> <dependencies> + <!-- https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito --> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-mockito</artifactId> + <version>1.7.3</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <version>1.7.3</version> + <scope>test</scope> + </dependency> + <!-- https://mvnrepository.com/artifact/org.mockito/mockito-all --> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.10.19</version> + <scope>test</scope> + </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> @@ -119,12 +139,6 @@ </exclusion> </exclusions> </dependency> - <!-- https://mvnrepository.com/artifact/org.mockito/mockito-all --> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> - <version>1.10.19</version> - </dependency> </dependencies> <build> <plugins> diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/api/AttributeType.java b/PolicyEngineAPI/src/main/java/org/onap/policy/api/AttributeType.java index 0a4621902..bb6b08d7a 100644 --- a/PolicyEngineAPI/src/main/java/org/onap/policy/api/AttributeType.java +++ b/PolicyEngineAPI/src/main/java/org/onap/policy/api/AttributeType.java @@ -42,6 +42,10 @@ public enum AttributeType { */ MICROSERVICE("microService"), /** + * Indicates Attributes required to create Optimization policy. + */ + OPTIMIZATION("optimization"), + /** * Indicates Attributes required to create settings for Decision Policy. */ SETTINGS("settings"), diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/api/DictionaryType.java b/PolicyEngineAPI/src/main/java/org/onap/policy/api/DictionaryType.java index 56b73221f..e0f0264e2 100644 --- a/PolicyEngineAPI/src/main/java/org/onap/policy/api/DictionaryType.java +++ b/PolicyEngineAPI/src/main/java/org/onap/policy/api/DictionaryType.java @@ -52,6 +52,10 @@ public enum DictionaryType { */ MicroService("MicroService"), /** + * Indicates Optimization Policy Dictionaries + */ + Optimization("Optimization"), + /** * Indicates Descriptive Scope Dictionaries */ DescriptiveScope("DescriptiveScope"), diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/api/ImportParameters.java b/PolicyEngineAPI/src/main/java/org/onap/policy/api/ImportParameters.java index 3914864bf..51398f32d 100644 --- a/PolicyEngineAPI/src/main/java/org/onap/policy/api/ImportParameters.java +++ b/PolicyEngineAPI/src/main/java/org/onap/policy/api/ImportParameters.java @@ -39,7 +39,8 @@ public class ImportParameters { public enum IMPORT_TYPE { MICROSERVICE, - BRMSPARAM + BRMSPARAM, + OPTIMIZATION } /** diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyConfigType.java b/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyConfigType.java index 2fb5d96db..21861da00 100644 --- a/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyConfigType.java +++ b/PolicyEngineAPI/src/main/java/org/onap/policy/api/PolicyConfigType.java @@ -58,8 +58,12 @@ public enum PolicyConfigType{ */ MicroService("MS"), /** - * Indicates Custom Extended Policy type. + * Indicates OOF Optimization Policy. */ + Optimization("Optimization"), + /** + * Indicates Custom Extended Policy type. + */ Extended("EXTENDED") ; diff --git a/PolicyEngineAPI/src/test/java/org/onap/policy/std/StdPolicyEngineTest.java b/PolicyEngineAPI/src/test/java/org/onap/policy/std/StdPolicyEngineTest.java index 1218f1914..4ede02806 100644 --- a/PolicyEngineAPI/src/test/java/org/onap/policy/std/StdPolicyEngineTest.java +++ b/PolicyEngineAPI/src/test/java/org/onap/policy/std/StdPolicyEngineTest.java @@ -22,8 +22,8 @@ package org.onap.policy.std; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.spy; @@ -72,7 +72,6 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; import org.onap.policy.api.ConfigRequestParameters; import org.onap.policy.api.DecisionRequestParameters; import org.onap.policy.api.DecisionResponse; @@ -102,826 +101,887 @@ import org.onap.policy.api.PushPolicyParameters; import org.onap.policy.models.APIDictionaryResponse; import org.onap.policy.models.APIPolicyConfigResponse; import org.onap.policy.std.utils.PolicyConfigConstants; +import org.powermock.modules.junit4.PowerMockRunner; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestClientException; -@RunWith(MockitoJUnitRunner.class) +@RunWith(PowerMockRunner.class) public class StdPolicyEngineTest { - private static final String ONAP_NAME_VAL = "ONAP_NAME"; - private static final String POLICY_VERSION = "1.0.0"; - private static final String POLICY_NAME = "ONAP"; - private static final String COMMENTS = ""; - private static final UUID REQUEST_UUID = UUID.randomUUID(); - private static final String SERVER_NAME = "localhost.com"; - private static final String PDP_PROP_VALUE = "http://localhost:8092/pdp/ , test, test"; - private static final String PDP_PROP_VALUE_1 = "https://localhost:8091/pdp/ , onap, onap"; - private static final String JSON_CONFIGURATION = "{\"name\":\"value\"}"; - private static final String XML_CONFIGURATION = - "<map><entry><string>name</string><string>value</string></entry></map>"; - - @Rule - public TemporaryFolder temporaryFolder = new TemporaryFolder(); - - private static final String CONFIG_PROPERTIES_FILE = "config_pass.properties"; - private static final String INVALID_CONFIG_PROPERTY_FILE = "config_fail.properties"; - - @Test - public void testStdPolicyEngineInitialize_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - creatPropertyFile(file, getDefaultProperties()); - - final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - assertEquals("TEST", StdPolicyEngine.getEnvironment()); - assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); - assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); - assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); - } - - @Test - public void testStdPolicyEngineWithPropertiesInitialize_noException() throws Exception { - final StdPolicyEngine policyEngine = new StdPolicyEngine(getDefaultProperties(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - assertEquals("TEST", StdPolicyEngine.getEnvironment()); - assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); - assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); - assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); - } - - @Test - public void testStdPolicyEngineInitializeWithSingleServerName_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - creatPropertyFile(file, properties); - - final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - assertEquals(Arrays.asList(SERVER_NAME), policyEngine.getNotificationURLList()); - } - - @Test - public void testStdPolicyEngineInitializeWithSingleNotificationType_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - creatPropertyFile(file, properties); - - final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - assertEquals(Arrays.asList(UEB), policyEngine.getNotificationType()); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineInitialize_InvalidPropertyFile_Exception() throws PolicyEngineException { - new StdPolicyEngine("Invalid.properties", (String) null); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineInitialize_InvalidPropertyFileWithExt_Exception() throws Exception { - final File emptyFile = temporaryFolder.newFile("EmptyFile.txt"); - new StdPolicyEngine(emptyFile.toString(), (String) null); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineInitialize_NullArguments_Exception() throws Exception { - new StdPolicyEngine((String)null, (String) null); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineWithPropertiesInitialize_NullArguments_Exception() throws Exception { - new StdPolicyEngine((Properties)null, (String) null); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineInitialize_PropertyFileMissingMandatoryProperties_Exception() throws Exception { - final File file = temporaryFolder.newFile(INVALID_CONFIG_PROPERTY_FILE); - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); - creatPropertyFile(file, properties); - - new StdPolicyEngine(file.toString(), (String) null); - } - - @Test - public void testStdPolicyEngineInitialize_MultiplePdp_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE + PolicyConfigConstants.SEMICOLLON + PDP_PROP_VALUE_1); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - creatPropertyFile(file, properties); - - final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); - StdPolicyEngine.rotatePDPList(); - assertEquals("https://localhost:8091/pdp/", StdPolicyEngine.getPDPURL()); - assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); - assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); - } - - @Test(expected = PolicyEngineException.class) - public void testStdPolicyEngineInitialize_NoPDP_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - final Properties properties = new Properties(); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - creatPropertyFile(file, properties); - - new StdPolicyEngine(file.toString(), (String) null); - } - - @Test - public void testStdPolicyEngineInitializeNotificationTypeDMMAP_noException() throws Exception { - final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); - - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, DMAAP); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - creatPropertyFile(file, properties); - - final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); - policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - - assertEquals(Arrays.asList(DMAAP), policyEngine.getNotificationType()); - - } - - @Test - public void testStdPolicyEngineSendEvent_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doReturn(new ResponseEntity<>(getStdPolicyResponse(), HttpStatus.ACCEPTED)).when(spyPolicyEngine) - .callNewPDP(eq(SEND_EVENT_RESOURCE_NAME), any(), any(), any()); - - final Collection<PolicyResponse> actualPolicyResponses = - spyPolicyEngine.sendEvent(Collections.emptyMap(), REQUEST_UUID); - - assertEquals(1, actualPolicyResponses.size()); - - } - - @Test(expected = PolicyEventException.class) - public void testStdPolicyEngineSendEvent_NullEventRequestParameters_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - spyPolicyEngine.sendEvent((EventRequestParameters) null); - } - - @Test(expected = PolicyEventException.class) - public void testStdPolicyEngineSendEvent_EventRequestParameters_CallPDPThrow401Exception_Exception() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - Mockito.doThrow(new RuntimeException(new RestClientException("Error 401"))).when(spyPolicyEngine) - .callNewPDP(any(), any(), any(), any()); + private static final String ONAP_NAME_VAL = "ONAP_NAME"; + private static final String POLICY_VERSION = "1.0.0"; + private static final String POLICY_NAME = "ONAP"; + private static final String COMMENTS = ""; + private static final UUID REQUEST_UUID = UUID.randomUUID(); + private static final String SERVER_NAME = "localhost.com"; + private static final String PDP_PROP_VALUE = "http://localhost:8092/pdp/ , test, test"; + private static final String PDP_PROP_VALUE_1 = "https://localhost:8091/pdp/ , onap, onap"; + private static final String JSON_CONFIGURATION = "{\"name\":\"value\"}"; + private static final String XML_CONFIGURATION = + "<map><entry><string>name</string><string>value</string></entry></map>"; + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + + private static final String CONFIG_PROPERTIES_FILE = "config_pass.properties"; + private static final String INVALID_CONFIG_PROPERTY_FILE = "config_fail.properties"; + + @Test + public void testStdPolicyEngineInitialize_noException() throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + creatPropertyFile(file, getDefaultProperties()); + + final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + assertEquals("TEST", StdPolicyEngine.getEnvironment()); + assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); + assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); + assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); + } + + @Test + public void testStdPolicyEngineWithPropertiesInitialize_noException() throws Exception { + final StdPolicyEngine policyEngine = new StdPolicyEngine(getDefaultProperties(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + assertEquals("TEST", StdPolicyEngine.getEnvironment()); + assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); + assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); + assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); + } + + @Test + public void testStdPolicyEngineInitializeWithSingleServerName_noException() throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + creatPropertyFile(file, properties); + + final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + assertEquals(Arrays.asList(SERVER_NAME), policyEngine.getNotificationURLList()); + } + + @Test + public void testStdPolicyEngineInitializeWithSingleNotificationType_noException() + throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + creatPropertyFile(file, properties); + + final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + assertEquals(Arrays.asList(UEB), policyEngine.getNotificationType()); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineInitialize_InvalidPropertyFile_Exception() + throws PolicyEngineException { + new StdPolicyEngine("Invalid.properties", (String) null); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineInitialize_InvalidPropertyFileWithExt_Exception() + throws Exception { + final File emptyFile = temporaryFolder.newFile("EmptyFile.txt"); + new StdPolicyEngine(emptyFile.toString(), (String) null); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineInitialize_NullArguments_Exception() throws Exception { + new StdPolicyEngine((String) null, (String) null); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineWithPropertiesInitialize_NullArguments_Exception() + throws Exception { + new StdPolicyEngine((Properties) null, (String) null); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineInitialize_PropertyFileMissingMandatoryProperties_Exception() + throws Exception { + final File file = temporaryFolder.newFile(INVALID_CONFIG_PROPERTY_FILE); + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); + creatPropertyFile(file, properties); + + new StdPolicyEngine(file.toString(), (String) null); + } + + @Test + public void testStdPolicyEngineInitialize_MultiplePdp_noException() throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, + PDP_PROP_VALUE + PolicyConfigConstants.SEMICOLLON + PDP_PROP_VALUE_1); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + creatPropertyFile(file, properties); + + final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + assertEquals("http://localhost:8092/pdp/", StdPolicyEngine.getPDPURL()); + StdPolicyEngine.rotatePDPList(); + assertEquals("https://localhost:8091/pdp/", StdPolicyEngine.getPDPURL()); + assertEquals(Arrays.asList(UEB, DMAAP), policyEngine.getNotificationType()); + assertEquals(Arrays.asList(SERVER_NAME, SERVER_NAME), policyEngine.getNotificationURLList()); + } + + @Test(expected = PolicyEngineException.class) + public void testStdPolicyEngineInitialize_NoPDP_noException() throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + final Properties properties = new Properties(); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + creatPropertyFile(file, properties); + + new StdPolicyEngine(file.toString(), (String) null); + } + + @Test + public void testStdPolicyEngineInitializeNotificationTypeDMMAP_noException() throws Exception { + final File file = temporaryFolder.newFile(CONFIG_PROPERTIES_FILE); + + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, DMAAP); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + creatPropertyFile(file, properties); + + final StdPolicyEngine policyEngine = new StdPolicyEngine(file.toString(), (String) null); + policyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + + assertEquals(Arrays.asList(DMAAP), policyEngine.getNotificationType()); + + } + + @Test + public void testStdPolicyEngineSendEvent_noException() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doReturn(new ResponseEntity<>(getStdPolicyResponse(), HttpStatus.ACCEPTED)) + .when(spyPolicyEngine).callNewPDP(eq(SEND_EVENT_RESOURCE_NAME), any(), any(), any()); + + final Collection<PolicyResponse> actualPolicyResponses = spyPolicyEngine.sendEvent(Collections.emptyMap(), REQUEST_UUID); - } - @Test - public void testStdPolicyEngineSendEvent_EventRequestParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + assertEquals(1, actualPolicyResponses.size()); - final ResponseEntity<StdPolicyResponse[]> stubbedResponse = - new ResponseEntity<>(getStdPolicyResponse(), HttpStatus.ACCEPTED); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(SEND_EVENT_RESOURCE_NAME), any(), any(), any()); + @Test(expected = PolicyEventException.class) + public void testStdPolicyEngineSendEvent_NullEventRequestParameters_Exception() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + spyPolicyEngine.sendEvent((EventRequestParameters) null); + } - final EventRequestParameters eventRequestParameters = new EventRequestParameters(); - eventRequestParameters.setEventAttributes(Collections.emptyMap()); - eventRequestParameters.setRequestID(REQUEST_UUID); + @Test(expected = PolicyEventException.class) + public void testStdPolicyEngineSendEvent_EventRequestParameters_CallPDPThrow401Exception_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + Mockito.doThrow(new RuntimeException(new RestClientException("Error 401"))) + .when(spyPolicyEngine).callNewPDP(any(), any(), any(), any()); + spyPolicyEngine.sendEvent(Collections.emptyMap(), REQUEST_UUID); + } - final Collection<PolicyResponse> actualPolicyResponses = spyPolicyEngine.sendEvent(eventRequestParameters); + @Test + public void testStdPolicyEngineSendEvent_EventRequestParameters_noException() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - assertEquals(1, actualPolicyResponses.size()); + final ResponseEntity<StdPolicyResponse[]> stubbedResponse = + new ResponseEntity<>(getStdPolicyResponse(), HttpStatus.ACCEPTED); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(SEND_EVENT_RESOURCE_NAME), any(), + any(), any()); - @Test - public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigJSON_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final EventRequestParameters eventRequestParameters = new EventRequestParameters(); + eventRequestParameters.setEventAttributes(Collections.emptyMap()); + eventRequestParameters.setRequestID(REQUEST_UUID); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( - getAPIPolicyConfigResponse(PolicyType.JSON, JSON_CONFIGURATION), HttpStatus.ACCEPTED); + final Collection<PolicyResponse> actualPolicyResponses = + spyPolicyEngine.sendEvent(eventRequestParameters); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + assertEquals(1, actualPolicyResponses.size()); - final Collection<PolicyConfig> actualPolicyResponses = spyPolicyEngine.getConfig(new ConfigRequestParameters()); + } - assertEquals(1, actualPolicyResponses.size()); + @Test + public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigJSON_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); - assertNotNull(actualPolicyConfig.toJSON()); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( + getAPIPolicyConfigResponse(PolicyType.JSON, JSON_CONFIGURATION), HttpStatus.ACCEPTED); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigOther_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final Collection<PolicyConfig> actualPolicyResponses = + spyPolicyEngine.getConfig(new ConfigRequestParameters()); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = - new ResponseEntity<>(getAPIPolicyConfigResponse(PolicyType.OTHER, COMMENTS), HttpStatus.ACCEPTED); + assertEquals(1, actualPolicyResponses.size()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); + assertNotNull(actualPolicyConfig.toJSON()); - final Collection<PolicyConfig> actualPolicyResponses = spyPolicyEngine.getConfig(new ConfigRequestParameters()); + } - assertEquals(1, actualPolicyResponses.size()); + @Test + public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigOther_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); - assertNotNull(actualPolicyConfig.toOther()); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( + getAPIPolicyConfigResponse(PolicyType.OTHER, COMMENTS), HttpStatus.ACCEPTED); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigXML_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final Collection<PolicyConfig> actualPolicyResponses = + spyPolicyEngine.getConfig(new ConfigRequestParameters()); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( - getAPIPolicyConfigResponse(PolicyType.XML, XML_CONFIGURATION), HttpStatus.ACCEPTED); + assertEquals(1, actualPolicyResponses.size()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); + assertNotNull(actualPolicyConfig.toOther()); - final Collection<PolicyConfig> actualPolicyResponses = spyPolicyEngine.getConfig(new ConfigRequestParameters()); + } - assertEquals(1, actualPolicyResponses.size()); + @Test + public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigXML_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); - assertNotNull(actualPolicyConfig.toXML()); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( + getAPIPolicyConfigResponse(PolicyType.XML, XML_CONFIGURATION), HttpStatus.ACCEPTED); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigProperties_noException() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final Collection<PolicyConfig> actualPolicyResponses = + spyPolicyEngine.getConfig(new ConfigRequestParameters()); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = - new ResponseEntity<>(getAPIPolicyConfigResponse(PolicyType.PROPERTIES, COMMENTS), HttpStatus.ACCEPTED); + assertEquals(1, actualPolicyResponses.size()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); + assertNotNull(actualPolicyConfig.toXML()); - final Collection<PolicyConfig> actualPolicyResponses = spyPolicyEngine.getConfig(new ConfigRequestParameters()); + } - assertEquals(1, actualPolicyResponses.size()); + @Test + public void testStdPolicyEngineGetConfig_ConfigRequestParametersPolicyConfigProperties_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); - assertNotNull(actualPolicyConfig.toProperties()); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = new ResponseEntity<>( + getAPIPolicyConfigResponse(PolicyType.PROPERTIES, COMMENTS), HttpStatus.ACCEPTED); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - @Test(expected = PolicyConfigException.class) - public void testStdPolicyEngineSendEvent_ConfigRequestParameters_CallPDPThrow404Exception_Exception() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new RuntimeException(new RestClientException("Error 404"))).when(spyPolicyEngine).callNewPDP(any(), - any(), any(), any()); + final Collection<PolicyConfig> actualPolicyResponses = spyPolicyEngine.getConfig(new ConfigRequestParameters()); - } - @Test - public void testStdPolicyEngineListConfig_ConfigRequestParametersPolicyConfigProperties_noException() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + assertEquals(1, actualPolicyResponses.size()); - final APIPolicyConfigResponse[] apiPolicyConfigResponse = - getAPIPolicyConfigResponse(PolicyType.JSON, JSON_CONFIGURATION); + final PolicyConfig actualPolicyConfig = actualPolicyResponses.iterator().next(); + assertNotNull(actualPolicyConfig.toProperties()); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = - new ResponseEntity<>(apiPolicyConfigResponse, HttpStatus.ACCEPTED); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + @Test(expected = PolicyConfigException.class) + public void testStdPolicyEngineSendEvent_ConfigRequestParameters_CallPDPThrow404Exception_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new RuntimeException(new RestClientException("Error 404"))).when(spyPolicyEngine) + .callNewPDP(any(), any(), any(), any()); + spyPolicyEngine.getConfig(new ConfigRequestParameters()); + } - final Collection<String> actualResponse = spyPolicyEngine.listConfig(new ConfigRequestParameters()); - assertEquals(1, actualResponse.size()); - assertNotNull(actualResponse.iterator().next()); + @Test + public void testStdPolicyEngineListConfig_ConfigRequestParametersPolicyConfigProperties_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - } + final APIPolicyConfigResponse[] apiPolicyConfigResponse = + getAPIPolicyConfigResponse(PolicyType.JSON, JSON_CONFIGURATION); - @Test - public void testStdPolicyEngineListConfig_ConfigRequestParametersMessageConfigContainsPE300_noException() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = + new ResponseEntity<>(apiPolicyConfigResponse, HttpStatus.ACCEPTED); - final APIPolicyConfigResponse[] apiPolicyConfigResponse = - getAPIPolicyConfigResponse(PolicyType.JSON, JSON_CONFIGURATION, PolicyConfigConstants.PE300); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = - new ResponseEntity<>(apiPolicyConfigResponse, HttpStatus.ACCEPTED); + final Collection<String> actualResponse = + spyPolicyEngine.listConfig(new ConfigRequestParameters()); + assertEquals(1, actualResponse.size()); + assertNotNull(actualResponse.iterator().next()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + } - final Collection<String> actualResponse = spyPolicyEngine.listConfig(new ConfigRequestParameters()); + @Test + public void testStdPolicyEngineListConfig_ConfigRequestParametersMessageConfigContainsPE300_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - assertEquals(1, actualResponse.size()); + final APIPolicyConfigResponse[] apiPolicyConfigResponse = getAPIPolicyConfigResponse( + PolicyType.JSON, JSON_CONFIGURATION, PolicyConfigConstants.PE300); - } - - @Test - public void testStdPolicyEngineListConfig_ConfigRequestParametersWithTestProperty_noException() throws Exception { - final Properties defaultProperties = getDefaultProperties(); - defaultProperties.setProperty(PolicyConfigConstants.JUNIT_PROP_NAME, "test"); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine("test" + CONFIG_PROPERTIES_FILE, defaultProperties); + final ResponseEntity<APIPolicyConfigResponse[]> stubbedResponse = + new ResponseEntity<>(apiPolicyConfigResponse, HttpStatus.ACCEPTED); - final Collection<String> actualResponse = spyPolicyEngine.listConfig(new ConfigRequestParameters()); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_CONFIG_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - assertEquals(1, actualResponse.size()); + final Collection<String> actualResponse = + spyPolicyEngine.listConfig(new ConfigRequestParameters()); - } + assertEquals(1, actualResponse.size()); - @Test - public void testStdPolicyEnginGetDecision_PolicyDecision_noException() throws Exception { + } - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test + public void testStdPolicyEngineListConfig_ConfigRequestParametersWithTestProperty_noException() + throws Exception { + final Properties defaultProperties = getDefaultProperties(); + defaultProperties.setProperty(PolicyConfigConstants.JUNIT_PROP_NAME, "test"); + final StdPolicyEngine spyPolicyEngine = + getSpyPolicyEngine("test" + CONFIG_PROPERTIES_FILE, defaultProperties); - final ResponseEntity<StdDecisionResponse> stubbedResponse = - new ResponseEntity<>(getStdDecisionResponse(), HttpStatus.ACCEPTED); + final Collection<String> actualResponse = + spyPolicyEngine.listConfig(new ConfigRequestParameters()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_DECISION_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + assertEquals(1, actualResponse.size()); - final DecisionResponse actualResponse = - spyPolicyEngine.getDecision(ONAP_NAME_VAL, Collections.emptyMap(), REQUEST_UUID); + } - assertNotNull(actualResponse); - } + @Test + public void testStdPolicyEnginGetDecision_PolicyDecision_noException() throws Exception { - @Test(expected = PolicyDecisionException.class) - public void testStdPolicyEngineGetDecision_PolicyDecision_CallPDPThrow400Exception_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new RuntimeException(new RestClientException("Error 400"))).when(spyPolicyEngine) - .callNewPDP(eq(GET_DECISION_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - spyPolicyEngine.getDecision(ONAP_NAME_VAL, Collections.emptyMap(), REQUEST_UUID); - } + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - @Test - public void testStdPolicyEnginGetDecision_DecisionRequestParameters_noException() throws Exception { + final ResponseEntity<StdDecisionResponse> stubbedResponse = + new ResponseEntity<>(getStdDecisionResponse(), HttpStatus.ACCEPTED); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_DECISION_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - final ResponseEntity<StdDecisionResponse> stubbedResponse = - new ResponseEntity<>(getStdDecisionResponse(), HttpStatus.ACCEPTED); + final DecisionResponse actualResponse = + spyPolicyEngine.getDecision(ONAP_NAME_VAL, Collections.emptyMap(), REQUEST_UUID); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_DECISION_RESOURCE_NAME), eq(HttpMethod.POST), - any(), any()); + assertNotNull(actualResponse); + } - final DecisionRequestParameters requestParameters = new DecisionRequestParameters(); - requestParameters.setOnapName(ONAP_NAME_VAL); - requestParameters.setRequestID(REQUEST_UUID); - requestParameters.setDecisionAttributes(Collections.emptyMap()); + @Test(expected = PolicyDecisionException.class) + public void testStdPolicyEngineGetDecision_PolicyDecision_CallPDPThrow400Exception_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new RuntimeException(new RestClientException("Error 400"))).when(spyPolicyEngine) + .callNewPDP(eq(GET_DECISION_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); + spyPolicyEngine.getDecision(ONAP_NAME_VAL, Collections.emptyMap(), REQUEST_UUID); + } - final DecisionResponse actualResponse = spyPolicyEngine.getDecision(requestParameters); + @Test + public void testStdPolicyEnginGetDecision_DecisionRequestParameters_noException() + throws Exception { - assertNotNull(actualResponse); - } + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - @Test(expected = PolicyDecisionException.class) - public void ttestStdPolicyEnginGetDecision_NullDecisionRequestParameters_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - spyPolicyEngine.getDecision((DecisionRequestParameters) null); - } + final ResponseEntity<StdDecisionResponse> stubbedResponse = + new ResponseEntity<>(getStdDecisionResponse(), HttpStatus.ACCEPTED); - @Test - public void testStdPolicyEnginGetMetrics_MetricsRequestParameters_noException() throws Exception { + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_DECISION_RESOURCE_NAME), + eq(HttpMethod.POST), any(), any()); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final DecisionRequestParameters requestParameters = new DecisionRequestParameters(); + requestParameters.setOnapName(ONAP_NAME_VAL); + requestParameters.setRequestID(REQUEST_UUID); + requestParameters.setDecisionAttributes(Collections.emptyMap()); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Metrics", HttpStatus.ACCEPTED); + final DecisionResponse actualResponse = spyPolicyEngine.getDecision(requestParameters); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_METRICS_RESOURCE_NAME), eq(HttpMethod.GET), - any(), any()); + assertNotNull(actualResponse); + } - final MetricsResponse actualResponse = spyPolicyEngine.getMetrics(new MetricsRequestParameters()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.ACCEPTED.value(), actualResponse.getResponseCode()); + @Test(expected = PolicyDecisionException.class) + public void ttestStdPolicyEnginGetDecision_NullDecisionRequestParameters_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + spyPolicyEngine.getDecision((DecisionRequestParameters) null); + } - } + @Test + public void testStdPolicyEnginGetMetrics_MetricsRequestParameters_noException() throws Exception { - @Test - public void testStdPolicyEngineGetMetrics_MetricsRequestParametersCallPDPThrowHttpException_ResponseWithHttpCode() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new PolicyException(new HttpClientErrorException(HttpStatus.BAD_GATEWAY))).when(spyPolicyEngine) - .callNewPDP(eq(GET_METRICS_RESOURCE_NAME), eq(HttpMethod.GET), any(), any()); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final MetricsResponse actualResponse = spyPolicyEngine.getMetrics(new MetricsRequestParameters()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.BAD_GATEWAY.value(), actualResponse.getResponseCode()); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Metrics", HttpStatus.ACCEPTED); - } - - @Test(expected = PolicyException.class) - public void testStdPolicyEngineGetMetrics_MetricsRequestParametersCallPDPThrowPolicyException_Exception() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(PolicyException.class).when(spyPolicyEngine).callNewPDP(eq(GET_METRICS_RESOURCE_NAME), - eq(HttpMethod.GET), any(), any()); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_METRICS_RESOURCE_NAME), + eq(HttpMethod.GET), any(), any()); + final MetricsResponse actualResponse = spyPolicyEngine.getMetrics(new MetricsRequestParameters()); + assertNotNull(actualResponse); + assertEquals(HttpStatus.ACCEPTED.value(), actualResponse.getResponseCode()); - } - - @Test - public void testStdPolicyEnginPushPolicy_PushPolicyParameters_noException() throws Exception { + } - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test + public void testStdPolicyEngineGetMetrics_MetricsRequestParametersCallPDPThrowHttpException_ResponseWithHttpCode() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new PolicyException(new HttpClientErrorException(HttpStatus.BAD_GATEWAY))) + .when(spyPolicyEngine) + .callNewPDP(eq(GET_METRICS_RESOURCE_NAME), eq(HttpMethod.GET), any(), any()); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + final MetricsResponse actualResponse = + spyPolicyEngine.getMetrics(new MetricsRequestParameters()); + assertNotNull(actualResponse); + assertEquals(HttpStatus.BAD_GATEWAY.value(), actualResponse.getResponseCode()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); + } - final PolicyChangeResponse actualResponse = spyPolicyEngine.pushPolicy(new PushPolicyParameters()); + @Test(expected = PolicyException.class) + public void testStdPolicyEngineGetMetrics_MetricsRequestParametersCallPDPThrowPolicyException_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(PolicyException.class).when(spyPolicyEngine).callNewPDP(eq(GET_METRICS_RESOURCE_NAME), + eq(HttpMethod.GET), any(), any()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + spyPolicyEngine.getMetrics(new MetricsRequestParameters()); - @Test - public void testStdPolicyEnginePushPolicy_PushPolicyParametersThrowsHttpClientErrorException_ResponseWithHttpCode() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new PolicyException(new HttpClientErrorException(HttpStatus.BAD_GATEWAY))).when(spyPolicyEngine) - .callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), any(), any()); + } - final PolicyChangeResponse actualResponse = spyPolicyEngine.pushPolicy(new PushPolicyParameters()); + @Test + public void testStdPolicyEnginPushPolicy_PushPolicyParameters_noException() throws Exception { - assertNotNull(actualResponse); - assertEquals(HttpStatus.BAD_GATEWAY.value(), actualResponse.getResponseCode()); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - } + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - @Test(expected = PolicyException.class) - public void testStdPolicyEnginePushPolicy_PushPolicyParameters_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(PolicyException.class).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), - eq(HttpMethod.PUT), any(), any()); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); + final PolicyChangeResponse actualResponse = spyPolicyEngine.pushPolicy(new PushPolicyParameters()); - } + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - @Test - public void testStdPolicyEnginDeletePolicy_DeletePolicyParameters_noException() throws Exception { + @Test + public void testStdPolicyEnginePushPolicy_PushPolicyParametersThrowsHttpClientErrorException_ResponseWithHttpCode() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new PolicyException(new HttpClientErrorException(HttpStatus.BAD_GATEWAY))) + .when(spyPolicyEngine) + .callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), any(), any()); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final PolicyChangeResponse actualResponse = + spyPolicyEngine.pushPolicy(new PushPolicyParameters()); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + assertNotNull(actualResponse); + assertEquals(HttpStatus.BAD_GATEWAY.value(), actualResponse.getResponseCode()); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(DELETE_POLICY_RESOURCE_NAME), - eq(HttpMethod.DELETE), any(), any()); + } - final PolicyChangeResponse actualResponse = spyPolicyEngine.deletePolicy(new DeletePolicyParameters()); + @Test(expected = PolicyException.class) + public void testStdPolicyEnginePushPolicy_PushPolicyParameters_Exception() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(PolicyException.class).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + spyPolicyEngine.pushPolicy(new PushPolicyParameters()); - @Test - public void testStdPolicyEnginGetDictionaryItem_DictionaryParameters_noException() throws Exception { + } - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test + public void testStdPolicyEnginDeletePolicy_DeletePolicyParameters_noException() throws Exception { - final ResponseEntity<APIDictionaryResponse> stubbedResponse = - new ResponseEntity<>(getAPIDictionaryResponse(), HttpStatus.OK); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), - eq(HttpMethod.POST), any(), any()); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - final DictionaryResponse actualResponse = spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(DELETE_POLICY_RESOURCE_NAME), + eq(HttpMethod.DELETE), any(), any()); - assertNotNull(actualResponse); - } + final PolicyChangeResponse actualResponse = + spyPolicyEngine.deletePolicy(new DeletePolicyParameters()); - @Test - public void testStdPolicyGetDictionaryItem_DictionaryParametersWithHttp400ExceptionThrown_ResponseWithHttpCode() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new RuntimeException(new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Error 400"))) - .when(spyPolicyEngine) - .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - final DictionaryResponse actualResponse = spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); + @Test + public void testStdPolicyEnginGetDictionaryItem_DictionaryParameters_noException() + throws Exception { - assertNotNull(actualResponse); - assertEquals(HttpStatus.BAD_REQUEST.value(), actualResponse.getResponseCode()); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - } + final ResponseEntity<APIDictionaryResponse> stubbedResponse = + new ResponseEntity<>(getAPIDictionaryResponse(), HttpStatus.OK); - @Test - public void testStdPolicyGetDictionaryItem_DictionaryParametersWithHttp401ExceptionThrown_ResponseWithHttpCode() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new RuntimeException(new HttpClientErrorException(HttpStatus.UNAUTHORIZED, "Error 401"))) - .when(spyPolicyEngine) - .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); + doReturn(stubbedResponse).when(spyPolicyEngine) + .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - final DictionaryResponse actualResponse = spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); + final DictionaryResponse actualResponse = + spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.UNAUTHORIZED.value(), actualResponse.getResponseCode()); + assertNotNull(actualResponse); + } - } + @Test + public void testStdPolicyGetDictionaryItem_DictionaryParametersWithHttp400ExceptionThrown_ResponseWithHttpCode() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new RuntimeException(new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Error 400"))) + .when(spyPolicyEngine) + .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyGetDictionaryItem_DictionaryParametersWithRunTimeExceptionThrown_ResponseWithHttpCode() - throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doThrow(new RuntimeException(new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, "Error"))) - .when(spyPolicyEngine) - .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); + final DictionaryResponse actualResponse = + spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); - final DictionaryResponse actualResponse = spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); + assertNotNull(actualResponse); + assertEquals(HttpStatus.BAD_REQUEST.value(), actualResponse.getResponseCode()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.INTERNAL_SERVER_ERROR.value(), actualResponse.getResponseCode()); + } - } + @Test + public void testStdPolicyGetDictionaryItem_DictionaryParametersWithHttp401ExceptionThrown_ResponseWithHttpCode() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow( + new RuntimeException(new HttpClientErrorException(HttpStatus.UNAUTHORIZED, "Error 401"))) + .when(spyPolicyEngine) + .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyEnginCreateDictionaryItem_DictionaryParameters_noException() throws Exception { + final DictionaryResponse actualResponse = + spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + assertNotNull(actualResponse); + assertEquals(HttpStatus.UNAUTHORIZED.value(), actualResponse.getResponseCode()); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(CREATE_DICTIONARY_ITEM_RESOURCE_NAME), - eq(HttpMethod.PUT), any(), any()); + @Test + public void testStdPolicyGetDictionaryItem_DictionaryParametersWithRunTimeExceptionThrown_ResponseWithHttpCode() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doThrow(new RuntimeException( + new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, "Error"))) + .when(spyPolicyEngine) + .callNewPDP(eq(GET_DICTIONARY_ITEMS_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - final PolicyChangeResponse actualResponse = spyPolicyEngine.createDictionaryItem(new DictionaryParameters()); + final DictionaryResponse actualResponse = + spyPolicyEngine.getDictionaryItem(new DictionaryParameters()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + assertNotNull(actualResponse); + assertEquals(HttpStatus.INTERNAL_SERVER_ERROR.value(), actualResponse.getResponseCode()); - @Test - public void testStdPolicyEnginUpdateDictionaryItem_DictionaryParameters_noException() throws Exception { + } - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test + public void testStdPolicyEnginCreateDictionaryItem_DictionaryParameters_noException() + throws Exception { - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_DICTIONARY_ITEM_RESOURCE_NAME), - eq(HttpMethod.PUT), any(), any()); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - final PolicyChangeResponse actualResponse = spyPolicyEngine.updateDictionaryItem(new DictionaryParameters()); + doReturn(stubbedResponse).when(spyPolicyEngine) + .callNewPDP(eq(CREATE_DICTIONARY_ITEM_RESOURCE_NAME), eq(HttpMethod.PUT), any(), any()); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + final PolicyChangeResponse actualResponse = + spyPolicyEngine.createDictionaryItem(new DictionaryParameters()); - @Test - public void testStdPolicyEnginPolicyEngineImport_ImportParameters_noException() throws Exception { - final File emptyfile = temporaryFolder.newFile("emptyFile.txt"); - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + @Test + public void testStdPolicyEnginUpdateDictionaryItem_DictionaryParameters_noException() + throws Exception { - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(POLICY_ENGINE_IMPORT_RESOURCE_NAME), - eq(HttpMethod.POST), any(), any()); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final ImportParameters importParameters = new ImportParameters(); - importParameters.setFilePath(emptyfile.toString()); - final PolicyChangeResponse actualResponse = spyPolicyEngine.policyEngineImport(importParameters); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + doReturn(stubbedResponse).when(spyPolicyEngine) + .callNewPDP(eq(UPDATE_DICTIONARY_ITEM_RESOURCE_NAME), eq(HttpMethod.PUT), any(), any()); - @Test - public void testStdPolicyEnginCreatePolicy_PolicyParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final PolicyChangeResponse actualResponse = + spyPolicyEngine.updateDictionaryItem(new DictionaryParameters()); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(CREATE_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); + @Test + public void testStdPolicyEnginPolicyEngineImport_ImportParameters_noException() throws Exception { + final File emptyfile = temporaryFolder.newFile("emptyFile.txt"); + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyChangeResponse actualResponse = spyPolicyEngine.createPolicy(new PolicyParameters()); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + doReturn(stubbedResponse).when(spyPolicyEngine) + .callNewPDP(eq(POLICY_ENGINE_IMPORT_RESOURCE_NAME), eq(HttpMethod.POST), any(), any()); - @Test - public void testStdPolicyEnginUpdatePolicy_PolicyParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final ImportParameters importParameters = new ImportParameters(); + importParameters.setFilePath(emptyfile.toString()); + final PolicyChangeResponse actualResponse = + spyPolicyEngine.policyEngineImport(importParameters); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); + @Test + public void testStdPolicyEnginCreatePolicy_PolicyParameters_noException() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final PolicyChangeResponse actualResponse = spyPolicyEngine.updatePolicy(new PolicyParameters()); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - assertNotNull(actualResponse); - assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(CREATE_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); - @Test(expected = PolicyException.class) - public void testStdPolicyEnginPushPolicy_NullValues_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + final PolicyChangeResponse actualResponse = + spyPolicyEngine.createPolicy(new PolicyParameters()); - spyPolicyEngine.pushPolicy(null, null, null, null, null); - } + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - @Test(expected = PolicyException.class) - public void testStdPolicyEnginPushPolicy_EmptyPolicyScope_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test + public void testStdPolicyEnginUpdatePolicy_PolicyParameters_noException() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - spyPolicyEngine.pushPolicy("", null, null, null, null); - } + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - @Test(expected = PolicyException.class) - public void testStdPolicyEnginPushPolicy_EmptyPolicyName_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); - spyPolicyEngine.pushPolicy("POLICY_SCOPE", "", null, null, null); - } + final PolicyChangeResponse actualResponse = + spyPolicyEngine.updatePolicy(new PolicyParameters()); - @Test - public void testStdPolicyEnginPushPolicy_PolicyParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + assertNotNull(actualResponse); + assertEquals(HttpStatus.OK.value(), actualResponse.getResponseCode()); + } - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + @Test(expected = PolicyException.class) + public void testStdPolicyEnginPushPolicy_NullValues_Exception() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); + spyPolicyEngine.pushPolicy(null, null, null, null, null); + } - final String actualResponse = - spyPolicyEngine.pushPolicy("POLICY_SCOPE", ONAP_NAME_VAL, "POLICY_TYPE", "POLICY_GROUP", REQUEST_UUID); + @Test(expected = PolicyException.class) + public void testStdPolicyEnginPushPolicy_EmptyPolicyScope_Exception() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - assertNotNull(actualResponse); - } + spyPolicyEngine.pushPolicy("", null, null, null, null); + } - @Test - public void testStdPolicyEnginCreateUpdateConfigPolicy_PolicyParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); + @Test(expected = PolicyException.class) + public void testStdPolicyEnginPushPolicy_EmptyPolicyName_Exception() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); + spyPolicyEngine.pushPolicy("POLICY_SCOPE", "", null, null, null); + } - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); + @Test + public void testStdPolicyEnginPushPolicy_PolicyParameters_noException() throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - final String actualResponse = spyPolicyEngine.createUpdateConfigPolicy("POLICY_NAME", ONAP_NAME_VAL, - ONAP_NAME_VAL, "CONFIG_NAME", Collections.emptyMap(), PolicyType.JSON.toString().toUpperCase(), "", - "POLICY_SCOPE", REQUEST_UUID, "", "", "", new Date().toString(), true); + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - assertNotNull(actualResponse); - } - - @Test(expected = PolicyException.class) - public void testStdPolicyEnginCreateUpdateConfigPolicy_NullPolicyName_Exception() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - - spyPolicyEngine.createUpdateConfigPolicy(null, null, null, null, null, null, null, null, null, null, null, null, - null, true); - } - - @Test - public void testStdPolicyEnginCreateUpdateConfigFirewallPolicy_PolicyParameters_noException() throws Exception { - final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - - final ResponseEntity<String> stubbedResponse = new ResponseEntity<>("Successful", HttpStatus.OK); - - doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), eq(HttpMethod.PUT), - any(), any()); - - final String actualResponse = - spyPolicyEngine.createUpdateConfigFirewallPolicy("POLICY_NAME", getJsonObject(JSON_CONFIGURATION), - "POLICY_SCOPE", REQUEST_UUID, "", "", "", new Date().toString(), true); - - assertNotNull(actualResponse); - } - - private JsonObject getJsonObject(final String jsonString) { - try (final JsonReader jsonReader = Json.createReader(new StringReader(jsonString));) { - return jsonReader.readObject(); - } - } - - private StdPolicyEngine getSpyPolicyEngine() throws IOException, PolicyEngineException { - return getSpyPolicyEngine(CONFIG_PROPERTIES_FILE, getDefaultProperties()); - } + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(PUSH_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); - private StdPolicyEngine getSpyPolicyEngine(final String filename, final Properties properties) - throws IOException, PolicyEngineException { - final File file = temporaryFolder.newFile(filename); + final String actualResponse = spyPolicyEngine.pushPolicy("POLICY_SCOPE", ONAP_NAME_VAL, + "POLICY_TYPE", "POLICY_GROUP", REQUEST_UUID); - creatPropertyFile(file, properties); + assertNotNull(actualResponse); + } - final StdPolicyEngine spyPolicyEngine = spy(new StdPolicyEngine(file.toString(), (String) null)); - spyPolicyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); - return spyPolicyEngine; - } + @Test + public void testStdPolicyEnginCreateUpdateConfigPolicy_PolicyParameters_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - private Properties getDefaultProperties() { - final Properties properties = new Properties(); - properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); - properties.setProperty(CLIENT_ID_PROP_NAME, "test"); - properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); - properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); - properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); - properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); - properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); - properties.setProperty(PolicyConfigConstants.JUNIT_PROP_NAME, "false"); - return properties; - } + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); - private StdDecisionResponse getStdDecisionResponse() { - final StdDecisionResponse response = new StdDecisionResponse(); - response.setDecision(PolicyDecision.PERMIT); - response.setDetails(PolicyDecision.PERMIT.name()); + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); - return response; - } + final String actualResponse = + spyPolicyEngine.createUpdateConfigPolicy("POLICY_NAME", ONAP_NAME_VAL, ONAP_NAME_VAL, + "CONFIG_NAME", Collections.emptyMap(), PolicyType.JSON.toString().toUpperCase(), "", + "POLICY_SCOPE", REQUEST_UUID, "", "", "", new Date().toString(), true); - private APIDictionaryResponse getAPIDictionaryResponse() { - final APIDictionaryResponse response = new APIDictionaryResponse(); - response.setResponseCode(0); - response.setResponseMessage(""); - response.setDictionaryData(Collections.<String, String>emptyMap()); - response.setDictionaryJson(Collections.<String, String>emptyMap()); - return response; - } + assertNotNull(actualResponse); + } - private StdPolicyResponse[] getStdPolicyResponse() { - final StdPolicyResponse response = new StdPolicyResponse(); - response.setPolicyResponseStatus(PolicyResponseStatus.ACTION_TAKEN); - return new StdPolicyResponse[] {response}; - } + @Test(expected = PolicyException.class) + public void testStdPolicyEnginCreateUpdateConfigPolicy_NullPolicyName_Exception() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - private void creatPropertyFile(final File file, final Properties properties) throws IOException { - try (final BufferedWriter bufferedWriter = Files.newBufferedWriter(file.toPath());) { - properties.store(bufferedWriter, COMMENTS); - } - } + spyPolicyEngine.createUpdateConfigPolicy(null, null, null, null, null, null, null, null, null, + null, null, null, null, true); + } + + @Test + public void testStdPolicyEnginCreateUpdateConfigFirewallPolicy_PolicyParameters_noException() + throws Exception { + final StdPolicyEngine spyPolicyEngine = getSpyPolicyEngine(); - private APIPolicyConfigResponse[] getAPIPolicyConfigResponse(final PolicyType policyType, - final String configuration) { - - return getAPIPolicyConfigResponse(policyType, configuration, null); - } - - private APIPolicyConfigResponse[] getAPIPolicyConfigResponse(final PolicyType policyType, - final String configuration, final String policyConfigMessage) { - final APIPolicyConfigResponse configResponse = new APIPolicyConfigResponse(); - configResponse.setConfig(configuration); - configResponse.setMatchingConditions(getMatchingConditions()); - configResponse.setPolicyConfigStatus(PolicyConfigStatus.CONFIG_RETRIEVED); - configResponse.setPolicyName(POLICY_NAME); - configResponse.setPolicyType(PolicyConfigType.BRMS_RAW); - configResponse.setType(policyType); - configResponse.setPolicyVersion(POLICY_VERSION); - configResponse.setProperty(Collections.emptyMap()); - configResponse.setPolicyConfigMessage(policyConfigMessage); - - return new APIPolicyConfigResponse[] {configResponse}; - } - - private Map<String, String> getMatchingConditions() { - final Map<String, String> attributes = new HashMap<>(); - attributes.put(ONAP_NAME, POLICY_NAME); - attributes.put(CONFIG_NAME, "Configuration_name"); - return attributes; - } + final ResponseEntity<String> stubbedResponse = + new ResponseEntity<>("Successful", HttpStatus.OK); + + doReturn(stubbedResponse).when(spyPolicyEngine).callNewPDP(eq(UPDATE_POLICY_RESOURCE_NAME), + eq(HttpMethod.PUT), any(), any()); + + final String actualResponse = spyPolicyEngine.createUpdateConfigFirewallPolicy("POLICY_NAME", + getJsonObject(JSON_CONFIGURATION), "POLICY_SCOPE", REQUEST_UUID, "", "", "", + new Date().toString(), true); + + assertNotNull(actualResponse); + } + + private JsonObject getJsonObject(final String jsonString) { + try (final JsonReader jsonReader = Json.createReader(new StringReader(jsonString));) { + return jsonReader.readObject(); + } + } + + private StdPolicyEngine getSpyPolicyEngine() throws IOException, PolicyEngineException { + return getSpyPolicyEngine(CONFIG_PROPERTIES_FILE, getDefaultProperties()); + } + + private StdPolicyEngine getSpyPolicyEngine(final String filename, final Properties properties) + throws IOException, PolicyEngineException { + final File file = temporaryFolder.newFile(filename); + + creatPropertyFile(file, properties); + + final StdPolicyEngine spyPolicyEngine = + spy(new StdPolicyEngine(file.toString(), (String) null)); + spyPolicyEngine.setScheme(NotificationScheme.MANUAL_NOTIFICATIONS); + return spyPolicyEngine; + } + + private Properties getDefaultProperties() { + final Properties properties = new Properties(); + properties.setProperty(PDP_URL_PROP_NAME, PDP_PROP_VALUE); + properties.setProperty(CLIENT_ID_PROP_NAME, "test"); + properties.setProperty(CLIENT_KEY_PROP_NAME, "test"); + properties.setProperty(NOTIFICATION_TYPE_PROP_NAME, UEB + COMMA + DMAAP); + properties.setProperty(NOTIFICATION_SERVERS_PROP_NAME, SERVER_NAME + COMMA + SERVER_NAME); + properties.setProperty(NOTIFICATION_TOPIC_PROP_NAME, "test"); + properties.setProperty(ENVIRONMENT_PROP_NAME, "TEST"); + properties.setProperty(PolicyConfigConstants.JUNIT_PROP_NAME, "false"); + return properties; + } + + private StdDecisionResponse getStdDecisionResponse() { + final StdDecisionResponse response = new StdDecisionResponse(); + response.setDecision(PolicyDecision.PERMIT); + response.setDetails(PolicyDecision.PERMIT.name()); + + return response; + } + + private APIDictionaryResponse getAPIDictionaryResponse() { + final APIDictionaryResponse response = new APIDictionaryResponse(); + response.setResponseCode(0); + response.setResponseMessage(""); + response.setDictionaryData(Collections.<String, String>emptyMap()); + response.setDictionaryJson(Collections.<String, String>emptyMap()); + return response; + } + + private StdPolicyResponse[] getStdPolicyResponse() { + final StdPolicyResponse response = new StdPolicyResponse(); + response.setPolicyResponseStatus(PolicyResponseStatus.ACTION_TAKEN); + return new StdPolicyResponse[] {response}; + } + + private void creatPropertyFile(final File file, final Properties properties) throws IOException { + try (final BufferedWriter bufferedWriter = Files.newBufferedWriter(file.toPath());) { + properties.store(bufferedWriter, COMMENTS); + } + } + + private APIPolicyConfigResponse[] getAPIPolicyConfigResponse(final PolicyType policyType, + final String configuration) { + + return getAPIPolicyConfigResponse(policyType, configuration, null); + } + + private APIPolicyConfigResponse[] getAPIPolicyConfigResponse(final PolicyType policyType, + final String configuration, final String policyConfigMessage) { + final APIPolicyConfigResponse configResponse = new APIPolicyConfigResponse(); + configResponse.setConfig(configuration); + configResponse.setMatchingConditions(getMatchingConditions()); + configResponse.setPolicyConfigStatus(PolicyConfigStatus.CONFIG_RETRIEVED); + configResponse.setPolicyName(POLICY_NAME); + configResponse.setPolicyType(PolicyConfigType.BRMS_RAW); + configResponse.setType(policyType); + configResponse.setPolicyVersion(POLICY_VERSION); + configResponse.setProperty(Collections.emptyMap()); + configResponse.setPolicyConfigMessage(policyConfigMessage); + + return new APIPolicyConfigResponse[] {configResponse}; + } + + private Map<String, String> getMatchingConditions() { + final Map<String, String> attributes = new HashMap<>(); + attributes.put(ONAP_NAME, POLICY_NAME); + attributes.put(CONFIG_NAME, "Configuration_name"); + return attributes; + } } |