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;
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() {
*/
@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<>();
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);
*/
@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<>();
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());
}
/**
*/
@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<>();
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());
}
/**
*/
@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<>();
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());
}
/**