Fix config files to remove outdated configuration for hibernate
[policy/models.git] / models-provider / src / test / java / org / onap / policy / models / provider / impl / PolicyToscaPersistenceTest.java
index d6f0d85..3db058c 100644 (file)
@@ -1,6 +1,8 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019-2020 Nordix Foundation.
+ *  Copyright (C) 2019-2021, 2023-2024 Nordix Foundation.
+ *  Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
+ *  Modifications Copyright (C) 2021 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.
@@ -25,7 +27,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 import java.net.URISyntaxException;
-import java.util.Base64;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -44,10 +45,11 @@ import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.provider.PolicyModelsProvider;
 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntityFilter;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeFilter;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaTypedEntityFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -75,12 +77,20 @@ public class PolicyToscaPersistenceTest {
         // H2, use "org.mariadb.jdbc.Driver" and "jdbc:mariadb://localhost:3306/policy" for locally installed MariaDB
 
         PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
-        parameters.setDatabaseDriver("org.h2.Driver");
-        parameters.setDatabaseUrl("jdbc:h2:mem:testdb");
+
+        if (System.getProperty("USE-MARIADB") != null) {
+            parameters.setDatabaseDriver("org.mariadb.jdbc.Driver");
+            parameters.setDatabaseUrl("jdbc:mariadb://localhost:3306/policy");
+        } else {
+            parameters.setDatabaseDriver("org.h2.Driver");
+            parameters.setDatabaseUrl("jdbc:h2:mem:PolicyToscaPersistenceTest");
+        }
+
         parameters.setDatabaseUser("policy");
-        parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes()));
+        parameters.setDatabasePassword("P01icY");
         parameters.setPersistenceUnit("ToscaConceptTest");
 
+
         databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
 
         createPolicyTypes();
@@ -114,15 +124,15 @@ public class PolicyToscaPersistenceTest {
     public void testHpaPolicyTypeGet() throws PfModelException {
         long getStartTime = System.currentTimeMillis();
         ToscaServiceTemplate hpaServiceTemplate =
-            databaseProvider.getPolicyTypes("onap.policies.optimization.resource.HpaPolicy", "1.0.0");
+                databaseProvider.getPolicyTypes("onap.policies.optimization.resource.HpaPolicy", "1.0.0");
         LOGGER.trace("HPA policy normal get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
         assertEquals(3, hpaServiceTemplate.getPolicyTypesAsMap().size());
         assertEquals(5, hpaServiceTemplate.getDataTypesAsMap().size());
 
         getStartTime = System.currentTimeMillis();
-        ToscaPolicyTypeFilter hpaFilter = ToscaPolicyTypeFilter.builder()
-            .name("onap.policies.optimization.resource.HpaPolicy").version("1.0.0").build();
+        ToscaEntityFilter<ToscaPolicyType> hpaFilter = ToscaEntityFilter.<ToscaPolicyType>builder()
+                .name("onap.policies.optimization.resource.HpaPolicy").version("1.0.0").build();
         hpaServiceTemplate = databaseProvider.getFilteredPolicyTypes(hpaFilter);
         LOGGER.trace("HPA policy filter name version get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
@@ -130,7 +140,8 @@ public class PolicyToscaPersistenceTest {
         assertEquals(5, hpaServiceTemplate.getDataTypesAsMap().size());
 
         getStartTime = System.currentTimeMillis();
-        hpaFilter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.resource.HpaPolicy").build();
+        hpaFilter = ToscaEntityFilter.<ToscaPolicyType>builder().name("onap.policies.optimization.resource.HpaPolicy")
+                .build();
         hpaServiceTemplate = databaseProvider.getFilteredPolicyTypes(hpaFilter);
         LOGGER.trace("HPA policy filter name only get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
@@ -142,7 +153,7 @@ public class PolicyToscaPersistenceTest {
     public void testNamingPolicyGet() throws PfModelException {
         String policyYamlString = ResourceUtils.getResourceAsString("policies/sdnc.policy.naming.input.tosca.yaml");
         ToscaServiceTemplate serviceTemplate =
-            yamlJsonTranslator.fromYaml(policyYamlString, ToscaServiceTemplate.class);
+                yamlJsonTranslator.fromYaml(policyYamlString, ToscaServiceTemplate.class);
 
         long createStartTime = System.currentTimeMillis();
         databaseProvider.createPolicies(serviceTemplate);
@@ -150,7 +161,7 @@ public class PolicyToscaPersistenceTest {
 
         long getStartTime = System.currentTimeMillis();
         ToscaServiceTemplate namingServiceTemplate =
-            databaseProvider.getPolicies("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", "1.0.0");
+                databaseProvider.getPolicies("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", "1.0.0");
         LOGGER.trace("Naming policy normal get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
         assertEquals(1, namingServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
@@ -158,8 +169,8 @@ public class PolicyToscaPersistenceTest {
         assertEquals(3, namingServiceTemplate.getDataTypesAsMap().size());
 
         getStartTime = System.currentTimeMillis();
-        ToscaPolicyFilter filter =
-            ToscaPolicyFilter.builder().name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version("1.0.0").build();
+        ToscaTypedEntityFilter<ToscaPolicy> filter = ToscaTypedEntityFilter.<ToscaPolicy>builder()
+                .name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version("1.0.0").build();
         namingServiceTemplate = databaseProvider.getFilteredPolicies(filter);
         LOGGER.trace("Naming policy filtered get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
@@ -168,7 +179,7 @@ public class PolicyToscaPersistenceTest {
         assertEquals(3, namingServiceTemplate.getDataTypesAsMap().size());
 
         getStartTime = System.currentTimeMillis();
-        filter = ToscaPolicyFilter.builder().name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").build();
+        filter = ToscaTypedEntityFilter.<ToscaPolicy>builder().name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").build();
         namingServiceTemplate = databaseProvider.getFilteredPolicies(filter);
         LOGGER.trace("Naming policy filtered name only get time (ms): {}", System.currentTimeMillis() - getStartTime);
 
@@ -178,7 +189,7 @@ public class PolicyToscaPersistenceTest {
 
         long deleteStartTime = System.currentTimeMillis();
         ToscaServiceTemplate deletedServiceTemplate =
-            databaseProvider.deletePolicy("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", "1.0.0");
+                databaseProvider.deletePolicy("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", "1.0.0");
         LOGGER.trace("Naming policy delete time (ms): {}", System.currentTimeMillis() - deleteStartTime);
 
         assertEquals(1, deletedServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
@@ -188,7 +199,7 @@ public class PolicyToscaPersistenceTest {
     public void testNamingPolicyVersions() throws PfModelException {
         String policyYamlString = ResourceUtils.getResourceAsString("policies/sdnc.policy.naming.input.tosca.yaml");
         ToscaServiceTemplate serviceTemplate =
-            yamlJsonTranslator.fromYaml(policyYamlString, ToscaServiceTemplate.class);
+                yamlJsonTranslator.fromYaml(policyYamlString, ToscaServiceTemplate.class);
 
         // Create policy types and data types
         List<Map<String, ToscaPolicy>> policyMapList = serviceTemplate.getToscaTopologyTemplate().getPolicies();
@@ -211,26 +222,26 @@ public class PolicyToscaPersistenceTest {
 
         for (int i = 1; i < 22; i++) {
             ToscaServiceTemplate namingServiceTemplate =
-                databaseProvider.getPolicies("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
+                    databaseProvider.getPolicies("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
             assertEquals(i + ".0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values()
-                .iterator().next().getVersion());
+                    .iterator().next().getVersion());
 
-            ToscaPolicyFilter policyFilter =
-                ToscaPolicyFilter.builder().name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version(i + ".0.0").build();
+            ToscaTypedEntityFilter<ToscaPolicy> policyFilter = ToscaTypedEntityFilter.<ToscaPolicy>builder()
+                    .name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version(i + ".0.0").build();
             namingServiceTemplate = databaseProvider.getFilteredPolicies(policyFilter);
             assertEquals(i + ".0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values()
-                .iterator().next().getVersion());
+                    .iterator().next().getVersion());
         }
 
-        ToscaPolicyFilter policyFilter = ToscaPolicyFilter.builder().name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP")
-            .version(ToscaPolicyFilter.LATEST_VERSION).build();
+        ToscaTypedEntityFilter<ToscaPolicy> policyFilter = ToscaTypedEntityFilter.<ToscaPolicy>builder()
+                .name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version(ToscaTypedEntityFilter.LATEST_VERSION).build();
         ToscaServiceTemplate namingServiceTemplate = databaseProvider.getFilteredPolicies(policyFilter);
         assertEquals("21.0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values().iterator()
-            .next().getVersion());
+                .next().getVersion());
 
         for (int i = 1; i < 22; i++) {
             ToscaServiceTemplate deletedServiceTemplate =
-                databaseProvider.deletePolicy("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
+                    databaseProvider.deletePolicy("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
             assertEquals(1, deletedServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
         }
     }
@@ -248,6 +259,7 @@ public class PolicyToscaPersistenceTest {
 
         for (int i = 0; i < 10; i++) {
             new Thread() {
+                @Override
                 public void run() {
                     assertThatCode(() -> databaseProvider.createPolicies(serviceTemplate)).doesNotThrowAnyException();
                     assertThatCode(() -> databaseProvider.updatePolicies(serviceTemplate)).doesNotThrowAnyException();
@@ -261,28 +273,29 @@ public class PolicyToscaPersistenceTest {
         for (Map<String, ToscaPolicy> policyMap : serviceTemplate.getToscaTopologyTemplate().getPolicies()) {
             for (ToscaPolicy policy : policyMap.values()) {
                 ToscaServiceTemplate gotToscaServiceTemplate =
-                    databaseProvider.getPolicies(policy.getName(), policy.getVersion());
+                        databaseProvider.getPolicies(policy.getName(), policy.getVersion());
 
                 assertEquals(policy.getType(), gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0)
-                    .get(policy.getName()).getType());
+                        .get(policy.getName()).getType());
 
-                gotToscaServiceTemplate = databaseProvider.getFilteredPolicies(ToscaPolicyFilter.builder().build());
+                gotToscaServiceTemplate =
+                        databaseProvider.getFilteredPolicies(ToscaTypedEntityFilter.<ToscaPolicy>builder().build());
 
                 assertEquals(policy.getType(),
-                    getToscaPolicyFromMapList(gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies(),
-                        policy.getName()).getType());
+                        getToscaPolicyFromMapList(gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies(),
+                                policy.getName()).getType());
 
-                gotToscaServiceTemplate = databaseProvider.getFilteredPolicies(
-                    ToscaPolicyFilter.builder().name(policy.getName()).version(policy.getVersion()).build());
+                gotToscaServiceTemplate = databaseProvider.getFilteredPolicies(ToscaTypedEntityFilter
+                        .<ToscaPolicy>builder().name(policy.getName()).version(policy.getVersion()).build());
 
                 assertEquals(policy.getType(), gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0)
-                    .get(policy.getName()).getType());
+                        .get(policy.getName()).getType());
             }
         }
     }
 
     private ToscaPolicy getToscaPolicyFromMapList(List<Map<String, ToscaPolicy>> toscaPolicyMapList,
-        String policyName) {
+            String policyName) {
         ToscaPolicy toscaPolicy = new ToscaPolicy();
         for (Map<String, ToscaPolicy> policyMap : toscaPolicyMapList) {
             toscaPolicy = policyMap.get(policyName);
@@ -299,7 +312,7 @@ public class PolicyToscaPersistenceTest {
         for (String policyTypeResource : policyTypeResources) {
             String policyTypeYamlString = ResourceUtils.getResourceAsString(policyTypeResource);
             ToscaServiceTemplate toscaServiceTemplatePolicyType =
-                yamlJsonTranslator.fromYaml(policyTypeYamlString, ToscaServiceTemplate.class);
+                    yamlJsonTranslator.fromYaml(policyTypeYamlString, ToscaServiceTemplate.class);
 
             assertNotNull(toscaServiceTemplatePolicyType);
             databaseProvider.createPolicyTypes(toscaServiceTemplatePolicyType);