Preload default policies
[policy/api.git] / main / src / test / java / org / onap / policy / api / main / parameters / TestApiParameterGroup.java
index 7a59dad..4565388 100644 (file)
@@ -1,6 +1,9 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
+ * ONAP Policy API
+ * ================================================================================
+ * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,21 +27,28 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.Collections;
+
 import org.junit.Test;
+import org.onap.policy.common.endpoints.parameters.RestServerParameters;
 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 ApiParameterGroup apiParameters = new ApiParameterGroup(
-                CommonTestData.API_GROUP_NAME, restServerParameters);
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(CommonTestData.API_GROUP_NAME,
+                restServerParameters, databaseProviderParameters, Collections.emptyList(), Collections.emptyList());
         final GroupValidationResult validationResult = apiParameters.validate();
         assertTrue(validationResult.isValid());
         assertEquals(restServerParameters.getHost(), apiParameters.getRestServerParameters().getHost());
@@ -47,14 +57,19 @@ public class TestApiParameterGroup {
                 apiParameters.getRestServerParameters().getUserName());
         assertEquals(restServerParameters.getPassword(),
                 apiParameters.getRestServerParameters().getPassword());
+        assertEquals(restServerParameters.isHttps(), apiParameters.getRestServerParameters().isHttps());
+        assertEquals(restServerParameters.isAaf(), apiParameters.getRestServerParameters().isAaf());
         assertEquals(CommonTestData.API_GROUP_NAME, apiParameters.getName());
+        assertTrue(apiParameters.getPreloadPolicyTypes().isEmpty());
     }
 
     @Test
     public void testApiParameterGroup_NullName() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
-        final ApiParameterGroup apiParameters = new ApiParameterGroup(null,
-                        restServerParameters);
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
+        final ApiParameterGroup apiParameters = new ApiParameterGroup(null, restServerParameters,
+                databaseProviderParameters, Collections.emptyList(), Collections.emptyList());
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertEquals(null, apiParameters.getName());
@@ -65,10 +80,11 @@ public class TestApiParameterGroup {
 
     @Test
     public void testApiParameterGroup_EmptyName() {
-        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
-
-        final ApiParameterGroup apiParameters = new ApiParameterGroup("",
-                        restServerParameters);
+        final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false, PORT);
+        final PolicyModelsProviderParameters databaseProviderParameters =
+                commonTestData.getDatabaseProviderParameters(false);
+        final ApiParameterGroup apiParameters = new ApiParameterGroup("", restServerParameters,
+                databaseProviderParameters, Collections.emptyList(), Collections.emptyList());
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertEquals("", apiParameters.getName());
@@ -78,14 +94,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, databaseProviderParameters, Collections.emptyList(), Collections.emptyList());
+        final GroupValidationResult validationResult = apiParameters.validate();
+        assertFalse(validationResult.isValid());
+        assertTrue(validationResult.getResult()
+                        .contains("\"org.onap.policy.common.endpoints.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, Collections.emptyList(), Collections.emptyList());
+        final GroupValidationResult validationResult = apiParameters.validate();
+        assertFalse(validationResult.isValid());
+        assertTrue(validationResult.getResult()
+                        .contains("must have restServerParameters to configure api rest server"));
+    }
+
 
-        final ApiParameterGroup apiParameters = new ApiParameterGroup(
-                        CommonTestData.API_GROUP_NAME, restServerParameters);
+    @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, Collections.emptyList(), Collections.emptyList());
         final GroupValidationResult validationResult = apiParameters.validate();
         assertFalse(validationResult.isValid());
         assertTrue(validationResult.getResult()
-                        .contains("\"org.onap.policy.api.main.parameters.RestServerParameters\" INVALID, "
+                        .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, Collections.emptyList(), Collections.emptyList());
+        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, Collections.emptyList(), Collections.emptyList());
+        assertEquals(CommonTestData.API_GROUP_NAME, apiParameters.getName());
+        apiParameters.setName("SampleName");
+        assertEquals("SampleName", apiParameters.getName());
+    }
 }