Merge "Fix template generator for R2"
[vfc/nfvo/driver/vnfm/svnfm.git] / nokiav2 / driver / src / test / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / nokia / onap / direct / TestAAIRestApiProvider.java
index fafaf2c..efbe1f8 100644 (file)
@@ -31,12 +31,12 @@ import org.mockito.stubbing.Answer;
 import org.onap.aai.api.CloudInfrastructureApi;
 import org.onap.aai.api.ExternalSystemApi;
 import org.onap.aai.api.NetworkApi;
+import org.onap.aai.auth.HttpBasicAuth;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.core.SelfRegistrationManager;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.TestBase;
 
 import static junit.framework.TestCase.assertEquals;
 import static org.mockito.Mockito.*;
-import static org.springframework.test.util.ReflectionTestUtils.setField;
 
 class ResultCaptor<T> implements Answer {
     private T result = null;
@@ -56,7 +56,8 @@ public class TestAAIRestApiProvider extends TestBase {
     private AAIRestApiProvider aaiRestApiProvider;
     @Mock
     private HostnameVerifier hostnameVerifier;
-    private AaiSecurityProvider aaiSecurityProvider = spy(new AaiSecurityProvider());
+    private AaiSecurityProvider aaiSecurityProviderReal = new AaiSecurityProvider();
+    private AaiSecurityProvider aaiSecurityProvider = spy(aaiSecurityProviderReal);
 
     @Before
     public void init() {
@@ -68,8 +69,8 @@ public class TestAAIRestApiProvider extends TestBase {
      */
     @Test
     public void testApiClientBuilder() throws Exception {
-        setField(aaiSecurityProvider, "skipCertificateVerification", true);
-        setField(aaiSecurityProvider, "skipHostnameVerification", true);
+        when(aaiSecurityProvider.skipCertificateVerification()).thenReturn(true);
+        when(aaiSecurityProvider.skipHostnameVerification()).thenReturn(true);
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiUsername}", "username");
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiPassword}", "aaiPassword");
         ResultCaptor<SSLSocketFactory> sslSocketFactoryResultCaptor = new ResultCaptor<>();
@@ -82,15 +83,12 @@ public class TestAAIRestApiProvider extends TestBase {
         assertEquals("http://1.2.3.4/a/", apiClient.getAdapterBuilder().build().baseUrl().toString());
         assertEquals(sslSocketFactoryResultCaptor.getResult(), apiClient.getOkBuilder().build().sslSocketFactory());
         assertEquals(hostnameVerifier, apiClient.getOkBuilder().build().hostnameVerifier());
+        HttpBasicAuth basic = (HttpBasicAuth) apiClient.getApiAuthorizations().get("basic");
+        assertEquals("username", basic.getUsername());
+        assertEquals("aaiPassword", basic.getPassword());
 
         //given
         Response resp = new Response.Builder().message("a").code(200).protocol(Protocol.HTTP_1_0).request(new Request.Builder().url("http://1.2.3.4/d").build()).build();
-        //when
-        Request authenticate = apiClient.getOkBuilder().build().authenticator().authenticate(null, resp);
-        //verify
-        assertEquals("Basic dXNlcm5hbWU6YWFpUGFzc3dvcmQ=", authenticate.headers().get("Authorization"));
-
-        //given
         Interceptor.Chain chain = Mockito.mock(Interceptor.Chain.class);
         when(chain.request()).thenReturn(new Request.Builder().url("http://1.2.3.4/d").build());
         ArgumentCaptor<Request> modifedRequest = ArgumentCaptor.forClass(Request.class);
@@ -107,8 +105,8 @@ public class TestAAIRestApiProvider extends TestBase {
      */
     @Test
     public void testApiClientBuilderMissingSlash() throws Exception {
-        setField(aaiSecurityProvider, "skipCertificateVerification", true);
-        setField(aaiSecurityProvider, "skipHostnameVerification", true);
+        when(aaiSecurityProvider.skipCertificateVerification()).thenReturn(true);
+        when(aaiSecurityProvider.skipHostnameVerification()).thenReturn(true);
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiUsername}", "username");
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiPassword}", "aaiPassword");
         ResultCaptor<SSLSocketFactory> sslSocketFactoryResultCaptor = new ResultCaptor<>();
@@ -122,8 +120,9 @@ public class TestAAIRestApiProvider extends TestBase {
         assertEquals(sslSocketFactoryResultCaptor.getResult(), apiClient.getOkBuilder().build().sslSocketFactory());
         assertEquals(hostnameVerifier, apiClient.getOkBuilder().build().hostnameVerifier());
         Response resp = new Response.Builder().message("a").code(200).protocol(Protocol.HTTP_1_0).request(new Request.Builder().url("http://1.2.3.4/d").build()).build();
-        Request authenticate = apiClient.getOkBuilder().build().authenticator().authenticate(null, resp);
-        assertEquals("Basic dXNlcm5hbWU6YWFpUGFzc3dvcmQ=", authenticate.headers().get("Authorization"));
+        HttpBasicAuth basic = (HttpBasicAuth) apiClient.getApiAuthorizations().get("basic");
+        assertEquals("username", basic.getUsername());
+        assertEquals("aaiPassword", basic.getPassword());
     }
 
     /**
@@ -131,8 +130,8 @@ public class TestAAIRestApiProvider extends TestBase {
      */
     @Test
     public void testApiClientBuilderForCloud() throws Exception {
-        setField(aaiSecurityProvider, "skipCertificateVerification", true);
-        setField(aaiSecurityProvider, "skipHostnameVerification", true);
+        when(aaiSecurityProvider.skipCertificateVerification()).thenReturn(true);
+        when(aaiSecurityProvider.skipHostnameVerification()).thenReturn(true);
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiUsername}", "username");
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiPassword}", "aaiPassword");
         ResultCaptor<SSLSocketFactory> sslSocketFactoryResultCaptor = new ResultCaptor<>();
@@ -146,8 +145,9 @@ public class TestAAIRestApiProvider extends TestBase {
         assertEquals(sslSocketFactoryResultCaptor.getResult(), apiClient.getOkBuilder().build().sslSocketFactory());
         assertEquals(hostnameVerifier, apiClient.getOkBuilder().build().hostnameVerifier());
         Response resp = new Response.Builder().message("a").code(200).protocol(Protocol.HTTP_1_0).request(new Request.Builder().url("http://1.2.3.4/d").build()).build();
-        Request authenticate = apiClient.getOkBuilder().build().authenticator().authenticate(null, resp);
-        assertEquals("Basic dXNlcm5hbWU6YWFpUGFzc3dvcmQ=", authenticate.headers().get("Authorization"));
+        HttpBasicAuth basic = (HttpBasicAuth) apiClient.getApiAuthorizations().get("basic");
+        assertEquals("username", basic.getUsername());
+        assertEquals("aaiPassword", basic.getPassword());
     }
 
     /**
@@ -155,8 +155,8 @@ public class TestAAIRestApiProvider extends TestBase {
      */
     @Test
     public void testApiClientBuilderForExternalSystems() throws Exception {
-        setField(aaiSecurityProvider, "skipCertificateVerification", true);
-        setField(aaiSecurityProvider, "skipHostnameVerification", true);
+        when(aaiSecurityProvider.skipCertificateVerification()).thenReturn(true);
+        when(aaiSecurityProvider.skipHostnameVerification()).thenReturn(true);
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiUsername}", "username");
         setFieldWithPropertyAnnotation(aaiRestApiProvider, "${aaiPassword}", "aaiPassword");
         ResultCaptor<SSLSocketFactory> sslSocketFactoryResultCaptor = new ResultCaptor<>();
@@ -170,8 +170,9 @@ public class TestAAIRestApiProvider extends TestBase {
         assertEquals(sslSocketFactoryResultCaptor.getResult(), apiClient.getOkBuilder().build().sslSocketFactory());
         assertEquals(hostnameVerifier, apiClient.getOkBuilder().build().hostnameVerifier());
         Response resp = new Response.Builder().message("a").code(200).protocol(Protocol.HTTP_1_0).request(new Request.Builder().url("http://1.2.3.4/d").build()).build();
-        Request authenticate = apiClient.getOkBuilder().build().authenticator().authenticate(null, resp);
-        assertEquals("Basic dXNlcm5hbWU6YWFpUGFzc3dvcmQ=", authenticate.headers().get("Authorization"));
+        HttpBasicAuth basic = (HttpBasicAuth) apiClient.getApiAuthorizations().get("basic");
+        assertEquals("username", basic.getUsername());
+        assertEquals("aaiPassword", basic.getPassword());
     }
 
     /**