- assertEquals(0, databaseProvider.getPdpStatistics(null, null).size());
- assertEquals(1, databaseProvider.createPdpStatistics(statisticsArrayList).size());
- assertEquals(1, databaseProvider.updatePdpStatistics(statisticsArrayList).size());
-
- assertEquals(NAME, databaseProvider.getPdpStatistics(null, null).get(0).getPdpInstanceId());
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(null, GROUP, null, null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
- assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), null, ORDER, 0).size());
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(null, GROUP, null, null, new Date(), ORDER, 0)
- .get(0).getPdpInstanceId());
- assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), new Date(), ORDER, 0).size());
-
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, null, null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
- assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(NAME, GROUP, null, new Date(), new Date(), ORDER, 0).size());
-
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
- assertEquals(0, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 0)
- .size());
-
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 1).get(0)
- .getPdpInstanceId());
- assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 5).get(0)
- .getPdpInstanceId());
- assertEquals(0, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 5)
- .size());
-
- assertEquals(NAME, databaseProvider.deletePdpStatistics(NAME, null).get(0).getPdpInstanceId());
- assertEquals(0, databaseProvider.getPdpStatistics(null, null).size());
+ List<PdpGroup> pdpGroups = new ArrayList<>();
+ pdpGroups.add(pdpGroup);
+
+ databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+
+ databaseProvider.createPdpGroups(pdpGroups);
+
+ assertThatThrownBy(() -> databaseProvider.deletePolicy("p0", "0.0.1"))
+ .hasMessageContaining("policy is in use, it is deployed in PDP group pdpGroup subgroup pdpType");
+
+ assertThatThrownBy(() -> databaseProvider.deletePolicy("p3", "0.0.1"))
+ .hasMessageContaining("service template not found in database");
+
+ databaseProvider.close();
+ }
+
+ @Test
+ public void testDeletePolicyTypeSupportedInSubgroup() throws PfModelException {
+ List<ToscaConceptIdentifier> supportedPolicyTypes = new ArrayList<>();
+ supportedPolicyTypes.add(new ToscaConceptIdentifier("pt1", "0.0.1"));
+ supportedPolicyTypes.add(new ToscaConceptIdentifier("pt2", "0.0.1"));
+
+ PdpSubGroup subGroup = new PdpSubGroup();
+ subGroup.setPdpType("pdpType");
+ subGroup.setSupportedPolicyTypes(supportedPolicyTypes);
+
+ List<PdpSubGroup> pdpSubgroups = new ArrayList<>();
+ pdpSubgroups.add(subGroup);
+
+ PdpGroup pdpGroup = new PdpGroup();
+ pdpGroup.setName("pdpGroup");
+ pdpGroup.setPdpGroupState(PdpState.PASSIVE);
+ pdpGroup.setPdpSubgroups(pdpSubgroups);
+
+ List<PdpGroup> pdpGroups = new ArrayList<>();
+ pdpGroups.add(pdpGroup);
+
+ databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+
+ databaseProvider.createPdpGroups(pdpGroups);
+
+ assertThatThrownBy(() -> databaseProvider.deletePolicyType("pt2", "0.0.1"))
+ .hasMessageContaining("policy type is in use, it is referenced in PDP group pdpGroup subgroup pdpType");
+
+ assertThatThrownBy(() -> databaseProvider.deletePolicyType("pt0", "0.0.1"))
+ .hasMessageContaining("service template not found in database");