Adding unit tests for Policy API.
[policy/api.git] / main / src / test / java / org / onap / policy / api / main / parameters / TestApiParameterGroup.java
index 93fbfc6..b8f27e9 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
- * ONAP Policy API 
- * ================================================================================ 
+ * ONAP Policy API
+ * ================================================================================
  * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
@@ -29,19 +29,23 @@ import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.models.provider.PolicyModelsProviderParameters;
 
 /**
  * Class to perform unit test of ApiParameterGroup.
  *
  */
 public class TestApiParameterGroup {
-    CommonTestData commonTestData = new CommonTestData();
+    private static final int PORT = 6969;
+    private CommonTestData commonTestData = new CommonTestData();
 
     @Test
     public void testApiParameterGroup() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
         final ApiParameterGroup apiParameters = new ApiParameterGroup(
-                CommonTestData.API_GROUP_NAME, restServerParameters);
+                CommonTestData.API_GROUP_NAME, restServerParameters, databaseProviderParameters);
         final GroupValidationResult validationResult = apiParameters.validate();
         assertTrue(validationResult.isValid());
         assertEquals(restServerParameters.getHost(), apiParameters.getRestServerParameters().getHost());
@@ -57,9 +61,11 @@ public class TestApiParameterGroup {
 
     @Test
     public void testApiParameterGroup_NullName() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
         final ApiParameterGroup apiParameters = new ApiParameterGroup(null,
-                        restServerParameters);
+                        restServerParameters, databaseProviderParameters);
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertEquals(null, apiParameters.getName());
@@ -70,10 +76,11 @@ public class TestApiParameterGroup {
 
     @Test
     public void testApiParameterGroup_EmptyName() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
-
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
         final ApiParameterGroup apiParameters = new ApiParameterGroup("",
-                        restServerParameters);
+                        restServerParameters, databaseProviderParameters);
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertEquals("", apiParameters.getName());
@@ -83,14 +90,64 @@ public class TestApiParameterGroup {
 
     @Test
     public void testApiParameterGroup_EmptyRestServerParameters() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(true);
-
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(true, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
         final ApiParameterGroup apiParameters = new ApiParameterGroup(
-                        CommonTestData.API_GROUP_NAME, restServerParameters);
+                        CommonTestData.API_GROUP_NAME, restServerParameters, databaseProviderParameters);
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult()
                         .contains("\"org.onap.policy.api.main.parameters.RestServerParameters\" INVALID, "
                                         + "parameter group has status INVALID"));
     }
+
+    @Test
+    public void testApiParameterGroup_NullRestServerParameters() {
+        final RestServerParameters restServerParameters = null;
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(
+                        CommonTestData.API_GROUP_NAME, restServerParameters, databaseProviderParameters);
+        final GroupValidationResult validationResult = apiParameters.validate();
+        assertFalse(validationResult.isValid());
+        assertTrue(validationResult.getResult()
+                        .contains("must have restServerParameters to configure api rest server"));
+    }
+
+
+    @Test
+    public void testApiParameterGroup_EmptyDatabaseProviderParameters() {
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(true);
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(
+                        CommonTestData.API_GROUP_NAME, restServerParameters, databaseProviderParameters);
+        final GroupValidationResult validationResult = apiParameters.validate();
+        assertFalse(validationResult.isValid());
+        assertTrue(validationResult.getResult()
+                        .contains("\"org.onap.policy.models.provider.PolicyModelsProviderParameters\" INVALID, "
+                                        + "parameter group has status INVALID"));
+    }
+
+    @Test
+    public void testApiParameterGroup_NullDatabaseProviderParameters() {
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters = null;
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(
+                        CommonTestData.API_GROUP_NAME, restServerParameters, databaseProviderParameters);
+        final GroupValidationResult validationResult = apiParameters.validate();
+        assertFalse(validationResult.isValid());
+        assertTrue(validationResult.getResult()
+                        .contains("must have databaseProviderParameters to configure api rest server"));
+    }
+
+    @Test
+    public void testApiParameterGroup_SetName() {
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(
+                        CommonTestData.API_GROUP_NAME, null, null);
+        assertEquals(CommonTestData.API_GROUP_NAME, apiParameters.getName());
+        apiParameters.setName("SampleName");
+        assertEquals("SampleName", apiParameters.getName());
+    }
 }