diff options
Diffstat (limited to 'a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java')
-rw-r--r-- | a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java | 51 |
1 files changed, 42 insertions, 9 deletions
diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java index 645f2353..424668fc 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java @@ -27,8 +27,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import java.util.Vector; - +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -37,8 +36,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client.A1ProtocolType; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ControllerConfig; -import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ImmutableControllerConfig; -import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ImmutableRicConfig; +import org.onap.ccsdk.oran.a1policymanagementservice.configuration.RicConfig; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric; @@ -68,21 +66,24 @@ class A1ClientFactoryTest { private Ric ric; private A1ClientFactory factoryUnderTest; - private static ImmutableRicConfig ricConfig(String controllerName) { - return ImmutableRicConfig.builder() // + private static RicConfig ricConfig(String controllerName, String customAdapter) { + return RicConfig.builder() // .ricId(RIC_NAME) // .baseUrl("baseUrl") // - .managedElementIds(new Vector<>()) // .controllerName(controllerName) // + .customAdapterClass(customAdapter) // .build(); } + private static RicConfig ricConfig(String controllerName) { + return ricConfig(controllerName, ""); + } + @BeforeEach void createFactoryUnderTest() { SecurityContext sec = new SecurityContext(""); factoryUnderTest = spy(new A1ClientFactory(applicationConfigMock, sec)); this.ric = new Ric(ricConfig("")); - } @Test @@ -109,6 +110,38 @@ class A1ClientFactoryTest { assertEquals(A1ProtocolType.STD_V1_1, ric.getProtocolVersion(), "Not correct protocol"); } + public static class CustomA1AdapterFactory implements A1Client.Factory { + @Override + public A1Client create(RicConfig ricConfig, AsyncRestClientFactory restClientFactory) { + return new StdA1ClientVersion2(ricConfig, restClientFactory); + } + } + + @Test + void testCustomAdapterCreation() { + + Ric ric = new Ric(ricConfig("", CustomA1AdapterFactory.class.getName())); + A1Client client = factoryUnderTest.createA1Client(ric).block(); + + assertEquals(client.getClass(), StdA1ClientVersion2.class); + + ric = new Ric(ricConfig("", "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2")); + client = factoryUnderTest.createA1Client(ric).block(); + + assertEquals(client.getClass(), StdA1ClientVersion2.class); + + ric = new Ric( + ricConfig("", "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2$Factory")); + client = factoryUnderTest.createA1Client(ric).block(); + + assertEquals(client.getClass(), StdA1ClientVersion2.class); + + Exception e = Assertions.assertThrows(Exception.class, () -> { + factoryUnderTest.createClient(new Ric(ricConfig("", "junk")), A1ProtocolType.CUSTOM_PROTOCOL); + }); + assertEquals("Could not find class: junk", e.getMessage()); + } + @Test void getProtocolVersion_error() throws ServiceException { whenGetProtocolVersionThrowException(clientMock1, clientMock2, clientMock3, clientMock4); @@ -155,7 +188,7 @@ class A1ClientFactoryTest { } private void whenGetGetControllerConfigReturn() throws ServiceException { - ControllerConfig controllerCfg = ImmutableControllerConfig.builder() // + ControllerConfig controllerCfg = ControllerConfig.builder() // .name("name") // .baseUrl("baseUrl") // .password("pass") // |