import java.util.List;
import java.util.Properties;
+import org.eclipse.persistence.config.PersistenceUnitProperties;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.authorative.concepts.ToscaTopologyTemplate;
+import org.yaml.snakeyaml.Yaml;
/**
* Test of the {@link AuthorativeToscaProvider} class.
daoParameters.setPersistenceUnit("ToscaConceptTest");
Properties jdbcProperties = new Properties();
- jdbcProperties.setProperty("javax.persistence.jdbc.user", "policy");
- jdbcProperties.setProperty("javax.persistence.jdbc.password", "P01icY");
+ jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_USER, "policy");
+ jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_PASSWORD, "P01icY");
- // H2
- jdbcProperties.setProperty("javax.persistence.jdbc.driver", "org.h2.Driver");
- jdbcProperties.setProperty("javax.persistence.jdbc.url", "jdbc:h2:mem:testdb");
+ // H2, use "org.mariadb.jdbc.Driver" and "jdbc:mariadb://localhost:3306/policy" for locally installed MariaDB
+ jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_DRIVER, "org.h2.Driver");
+ jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_URL, "jdbc:h2:mem:testdb");
- // MariaDB
- //jdbcProperties.setProperty("javax.persistence.jdbc.driver", "org.mariadb.jdbc.Driver");
- //jdbcProperties.setProperty("javax.persistence.jdbc.url", "jdbc:mariadb://localhost:3306/policy");
-
- daoParameters.setJdbcProperties(jdbcProperties );
+ daoParameters.setJdbcProperties(jdbcProperties);
pfDao = new PfDaoFactory().createPfDao(daoParameters);
pfDao.init(daoParameters);
@After
public void teardown() throws Exception {
pfDao.close();
- //connection.close();
}
@Test
new AuthorativeToscaProvider().getPolicyList(null, null, null);
}).hasMessage("dao is marked @NonNull but is null");
+ createPolicyTypes();
+
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
new AuthorativeToscaProvider().getFilteredPolicyList(pfDao, null);
}).hasMessage("filter is marked @NonNull but is null");
+ createPolicyTypes();
+
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
new AuthorativeToscaProvider().createPolicies(pfDao, null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
+ createPolicyTypes();
+
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
assertTrue(beforePolicy.getType().equals(createdPolicy.getType()));
}
-
@Test
public void testPolicyUpdate() throws Exception {
assertThatThrownBy(() -> {
new AuthorativeToscaProvider().updatePolicies(pfDao, null);
}).hasMessage("serviceTemplate is marked @NonNull but is null");
+ createPolicyTypes();
+
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
new AuthorativeToscaProvider().deletePolicy(pfDao, "name", null);
}).hasMessage("version is marked @NonNull but is null");
+ createPolicyTypes();
+
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
new AuthorativeToscaProvider().createPolicies(pfDao, testServiceTemplate);
}).hasMessage("An incoming list of concepts must have at least one entry");
}
+
+ private void createPolicyTypes() throws CoderException, PfModelException {
+ Object yamlObject = new Yaml().load(
+ ResourceUtils.getResourceAsString("policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml"));
+ String yamlAsJsonString = new StandardCoder().encode(yamlObject);
+
+ ToscaServiceTemplate toscaServiceTemplatePolicyType =
+ standardCoder.decode(yamlAsJsonString, ToscaServiceTemplate.class);
+
+ assertNotNull(toscaServiceTemplatePolicyType);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplatePolicyType);
+ }
}