From 2a5028d0d6b1d4b809ab72beafd95c65ea26c662 Mon Sep 17 00:00:00 2001 From: PatrikBuhr Date: Mon, 9 Nov 2020 13:42:09 +0100 Subject: Bugfix, GET policy V2 Did not return transient flag. Improved somew unittests Skipped unwanted service callback when RIC is removed Change-Id: I3ca3be5d4592c2a1b31d3b1a23fe601d1d3f85a2 Issue-ID: CCSDK-2502 Signed-off-by: PatrikBuhr --- .../configuration/ApplicationConfigTest.java | 89 ++++++++++++---------- .../tasks/RicSynchronizationTaskTest.java | 10 ++- 2 files changed, 57 insertions(+), 42 deletions(-) (limited to 'a1-policy-management/src/test/java/org/onap') diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigTest.java index cf4739c8..7a075428 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigTest.java @@ -21,12 +21,11 @@ package org.onap.ccsdk.oran.a1policymanagementservice.configuration; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Vector; import org.junit.jupiter.api.Test; @@ -34,7 +33,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig.RicConfigUpdate; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfigParser.ConfigParserResult; -import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; @ExtendWith(MockitoExtension.class) class ApplicationConfigTest { @@ -46,6 +44,20 @@ class ApplicationConfigTest { .controllerName("") // .build(); + private static final ImmutableRicConfig RIC_CONFIG_2 = ImmutableRicConfig.builder() // + .ricId("ric2") // + .baseUrl("ric1_url") // + .managedElementIds(new Vector<>()) // + .controllerName("") // + .build(); + + private static final ImmutableRicConfig RIC_CONFIG_3 = ImmutableRicConfig.builder() // + .ricId("ric3") // + .baseUrl("ric1_url") // + .managedElementIds(new Vector<>()) // + .controllerName("") // + .build(); + ConfigParserResult configParserResult(RicConfig... rics) { return ImmutableConfigParserResult.builder() // .ricConfigs(Arrays.asList(rics)) // @@ -56,72 +68,67 @@ class ApplicationConfigTest { } @Test - void gettingNotAddedRicShouldThrowException() { - ApplicationConfig appConfigUnderTest = new ApplicationConfig(); - - appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)); - - Exception exception = assertThrows(ServiceException.class, () -> { - appConfigUnderTest.getRic("name"); - }); - - assertEquals("Could not find ric configuration: name", exception.getMessage()); - } - - @Test - void addRicShouldNotifyAllObserversOfRicAdded() throws Exception { + void addRics() throws Exception { ApplicationConfig appConfigUnderTest = new ApplicationConfig(); - RicConfigUpdate update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)).blockFirst(); - assertEquals(RicConfigUpdate.Type.ADDED, update.getType()); + List update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)) // + .collectList().block(); + assertEquals(1, update.size()); + assertEquals(RicConfigUpdate.Type.ADDED, update.get(0).getType()); assertTrue(appConfigUnderTest.getRicConfigs().contains(RIC_CONFIG_1), "Ric not added to configurations."); assertEquals(RIC_CONFIG_1, appConfigUnderTest.getRic(RIC_CONFIG_1.ricId()), "Not correct Ric retrieved from configurations."); - update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)).blockFirst(); - assertNull(update, "Nothing should be updated"); - assertTrue(appConfigUnderTest.getRicConfigs().contains(RIC_CONFIG_1), "Ric should remain."); + update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)).collectList().block(); + assertEquals(0, update.size()); + + update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1, RIC_CONFIG_2)).collectList() + .block(); + assertEquals(1, update.size()); + assertEquals(RicConfigUpdate.Type.ADDED, update.get(0).getType()); } @Test - void changedRicShouldNotifyAllObserversOfRicChanged() throws Exception { + void changedRic() throws Exception { ApplicationConfig appConfigUnderTest = new ApplicationConfig(); - appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1)); + List update = appConfigUnderTest + .setConfiguration(configParserResult(RIC_CONFIG_1, RIC_CONFIG_2, RIC_CONFIG_3)).collectList().block(); + assertEquals(3, update.size()); ImmutableRicConfig changedRicConfig = ImmutableRicConfig.builder() // - .ricId("ric1") // + .ricId(RIC_CONFIG_1.ricId()) // .baseUrl("changed_ric1_url") // .managedElementIds(new Vector<>()) // .controllerName("") // .build(); - RicConfigUpdate update = appConfigUnderTest.setConfiguration(configParserResult(changedRicConfig)).blockFirst(); + update = appConfigUnderTest.setConfiguration(configParserResult(changedRicConfig, RIC_CONFIG_2, RIC_CONFIG_3)) + .collectList().block(); + assertEquals(1, update.size()); - assertEquals(RicConfigUpdate.Type.CHANGED, update.getType()); + assertEquals(RicConfigUpdate.Type.CHANGED, update.get(0).getType()); assertEquals(changedRicConfig, appConfigUnderTest.getRic(RIC_CONFIG_1.ricId()), "Changed Ric not retrieved from configurations."); } @Test - void removedRicShouldNotifyAllObserversOfRicRemoved() { + void removedRic() { ApplicationConfig appConfigUnderTest = new ApplicationConfig(); - ImmutableRicConfig ricConfig2 = ImmutableRicConfig.builder() // - .ricId("ric2") // - .baseUrl("ric2_url") // - .managedElementIds(new Vector<>()) // - .controllerName("") // - .build(); - - appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_1, ricConfig2)); - - RicConfigUpdate update = appConfigUnderTest.setConfiguration(configParserResult(ricConfig2)).blockFirst(); - - assertEquals(RicConfigUpdate.Type.REMOVED, update.getType()); - assertEquals(1, appConfigUnderTest.getRicConfigs().size(), "Ric not deleted from configurations."); + List update = appConfigUnderTest + .setConfiguration(configParserResult(RIC_CONFIG_1, RIC_CONFIG_2, RIC_CONFIG_3)).collectList().block(); + assertEquals(3, update.size()); + + update = appConfigUnderTest.setConfiguration(configParserResult(RIC_CONFIG_2, RIC_CONFIG_3)) // + .collectList() // + .block(); + assertEquals(1, update.size()); + assertEquals(RicConfigUpdate.Type.REMOVED, update.get(0).getType()); + assertEquals(RIC_CONFIG_1, update.get(0).getRicConfig()); + assertEquals(2, appConfigUnderTest.getRicConfigs().size(), "Ric not deleted from configurations."); } } diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTaskTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTaskTest.java index 8029741e..ea4ca97b 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTaskTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTaskTest.java @@ -57,6 +57,7 @@ import org.onap.ccsdk.oran.a1policymanagementservice.repository.PolicyType; import org.onap.ccsdk.oran.a1policymanagementservice.repository.PolicyTypes; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric.RicState; +import org.onap.ccsdk.oran.a1policymanagementservice.repository.Rics; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Service; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Services; import org.onap.ccsdk.oran.a1policymanagementservice.utils.LoggingUtils; @@ -108,12 +109,14 @@ class RicSynchronizationTaskTest { private PolicyTypes policyTypes; private Policies policies; private Services services; + private Rics rics; @BeforeEach void init() { policyTypes = new PolicyTypes(); policies = new Policies(); services = new Services(); + rics = new Rics(); RIC_1.setState(RicState.UNAVAILABLE); RIC_1.clearSupportedPolicyTypes(); } @@ -121,7 +124,8 @@ class RicSynchronizationTaskTest { private RicSynchronizationTask createTask() { ApplicationConfig config = new ApplicationConfig(); AsyncRestClientFactory restClientFactory = new AsyncRestClientFactory(config.getWebClientConfig()); - return new RicSynchronizationTask(a1ClientFactoryMock, policyTypes, policies, services, restClientFactory); + return new RicSynchronizationTask(a1ClientFactoryMock, policyTypes, policies, services, restClientFactory, + rics); }; @Test @@ -146,6 +150,7 @@ class RicSynchronizationTaskTest { @Test void ricIdlePolicyTypeInRepo_thenSynchronizationWithReuseOfTypeFromRepoAndCorrectServiceNotified() { + rics.put(RIC_1); RIC_1.setState(RicState.AVAILABLE); policyTypes.put(POLICY_TYPE_1); @@ -176,6 +181,7 @@ class RicSynchronizationTaskTest { @Test void ricIdlePolicyTypeNotInRepo_thenSynchronizationWithTypeFromRic() throws Exception { RIC_1.setState(RicState.AVAILABLE); + rics.put(RIC_1); setUpCreationOfA1Client(); simulateRicWithOnePolicyType(); @@ -198,6 +204,7 @@ class RicSynchronizationTaskTest { @Test void ricIdleAndHavePolicies_thenSynchronizationWithRecreationOfPolicies() { RIC_1.setState(RicState.AVAILABLE); + rics.put(RIC_1); Policy transientPolicy = createPolicy("transientPolicyId", true); @@ -226,6 +233,7 @@ class RicSynchronizationTaskTest { @Test void ricIdleAndErrorDeletingPoliciesFirstTime_thenSynchronizationWithDeletionOfPolicies() { RIC_1.setState(RicState.AVAILABLE); + rics.put(RIC_1); policies.put(POLICY_1); -- cgit 1.2.3-korg