Added support for using oauth token for Kafka
[nonrtric/plt/ranpm.git] / datafilecollector / src / test / java / org / onap / dcaegen2 / collectors / datafile / http / DfcHttpClientTest.java
diff --git a/datafilecollector/src/test/java/org/onap/dcaegen2/collectors/datafile/http/DfcHttpClientTest.java b/datafilecollector/src/test/java/org/onap/dcaegen2/collectors/datafile/http/DfcHttpClientTest.java
deleted file mode 100644 (file)
index 8550644..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/*-
- * ============LICENSE_START======================================================================
- * Copyright (C) 2020-2021 Nokia. All rights reserved.
- * ===============================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END========================================================================
- */
-package org.onap.dcaegen2.collectors.datafile.http;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.nio.file.Path;
-
-import org.apache.hc.core5.net.URIBuilder;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentMatchers;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.onap.dcaegen2.collectors.datafile.commons.FileServerData;
-import org.onap.dcaegen2.collectors.datafile.exceptions.DatafileTaskException;
-import org.onap.dcaegen2.collectors.datafile.service.HttpUtils;
-
-import reactor.core.publisher.Flux;
-import reactor.netty.http.client.HttpClientConfig;
-
-@ExtendWith(MockitoExtension.class)
-class DfcHttpClientTest {
-
-    private static final String USERNAME = "bob";
-    private static final String PASSWORD = "123";
-    private static final String XNF_ADDRESS = "127.0.0.1";
-    private static final int PORT = 80;
-    private static final String JWT_PASSWORD = "thisIsThePassword";
-    private static String ACCESS_TOKEN = "access_token";
-
-    @Mock
-    private Path pathMock;
-
-    DfcHttpClient dfcHttpClientSpy;
-
-    @BeforeEach
-    public void setup() {
-        dfcHttpClientSpy = spy(new DfcHttpClient(createFileServerData()));
-    }
-
-    @Test
-    void openConnection_successBasicAuthSetup() throws DatafileTaskException {
-        dfcHttpClientSpy.open();
-        HttpClientConfig config = dfcHttpClientSpy.client.configuration();
-        assertEquals(HttpUtils.basicAuthContent(USERNAME, PASSWORD), config.headers().get("Authorization"));
-    }
-
-    @Test
-    void openConnection_failedBasicAuthSetupThrowException() {
-        FileServerData serverData =
-            FileServerData.builder().serverAddress(XNF_ADDRESS).userId(USERNAME).password("").port(PORT).build();
-
-        DfcHttpClient dfcHttpClientSpy = spy(new DfcHttpClient(serverData));
-
-        assertThatThrownBy(() -> dfcHttpClientSpy.open())
-            .hasMessageContaining("Not sufficient basic auth data for file.");
-    }
-
-    @Test
-    void collectFile_AllOk() throws Exception {
-        String REMOTE_FILE = "any";
-        Flux<InputStream> fis = Flux.just(new ByteArrayInputStream("ReturnedString".getBytes()));
-
-        dfcHttpClientSpy.open();
-
-        when(dfcHttpClientSpy.getServerResponse(any())).thenReturn(fis);
-        doReturn(false).when(dfcHttpClientSpy).isDownloadFailed(any());
-
-        dfcHttpClientSpy.collectFile(REMOTE_FILE, pathMock);
-        dfcHttpClientSpy.close();
-
-        verify(dfcHttpClientSpy, times(1)).getServerResponse(REMOTE_FILE);
-        verify(dfcHttpClientSpy, times(1)).processDataFromServer(any(), any(), any());
-        verify(dfcHttpClientSpy, times(1)).isDownloadFailed(any());
-    }
-
-    @Test
-    void collectFile_AllOkWithJWTToken() throws Exception {
-        dfcHttpClientSpy = spy(new DfcHttpClient(fileServerDataWithJWTToken()));
-        String REMOTE_FILE = "any";
-        Flux<InputStream> fis = Flux.just(new ByteArrayInputStream("ReturnedString".getBytes()));
-
-        dfcHttpClientSpy.open();
-        HttpClientConfig config = dfcHttpClientSpy.client.configuration();
-        assertEquals(HttpUtils.jwtAuthContent(JWT_PASSWORD), config.headers().get("Authorization"));
-
-        when(dfcHttpClientSpy.getServerResponse(any())).thenReturn(fis);
-        doReturn(false).when(dfcHttpClientSpy).isDownloadFailed(any());
-
-        dfcHttpClientSpy.collectFile(REMOTE_FILE, pathMock);
-        dfcHttpClientSpy.close();
-
-        verify(dfcHttpClientSpy, times(1)).getServerResponse(ArgumentMatchers.eq(REMOTE_FILE));
-        verify(dfcHttpClientSpy, times(1)).processDataFromServer(any(), any(), any());
-        verify(dfcHttpClientSpy, times(1)).isDownloadFailed(any());
-    }
-
-    @Test
-    void collectFile_No200ResponseWriteToErrorMessage() throws DatafileTaskException {
-        String ERROR_RESPONSE = "This is unexpected message";
-        String REMOTE_FILE = "any";
-        Flux<Throwable> fis = Flux.error(new Throwable(ERROR_RESPONSE));
-
-        dfcHttpClientSpy.open();
-
-        doReturn(fis).when(dfcHttpClientSpy).getServerResponse(any());
-
-        assertThatThrownBy(() -> dfcHttpClientSpy.collectFile(REMOTE_FILE, pathMock))
-            .hasMessageContaining(ERROR_RESPONSE);
-        verify(dfcHttpClientSpy, times(1)).getServerResponse(REMOTE_FILE);
-        verify(dfcHttpClientSpy, times(1)).processFailedConnectionWithServer(any(), any());
-        dfcHttpClientSpy.close();
-    }
-
-    @Test
-    void isResponseOk_validateResponse() {
-        assertTrue(dfcHttpClientSpy.isResponseOk(HttpClientResponseHelper.NETTY_RESPONSE_OK));
-        assertFalse(dfcHttpClientSpy.isResponseOk(HttpClientResponseHelper.RESPONSE_ANY_NO_OK));
-    }
-
-    private FileServerData createFileServerData() {
-        return FileServerData.builder().serverAddress(XNF_ADDRESS).userId(USERNAME).password(PASSWORD).port(PORT)
-            .build();
-    }
-
-    private FileServerData fileServerDataWithJWTToken() throws URISyntaxException {
-        String query = "?" + ACCESS_TOKEN + "=" + JWT_PASSWORD;
-
-        return FileServerData.builder().serverAddress(XNF_ADDRESS).userId("").password("").port(PORT)
-            .queryParameters(new URIBuilder(query).getQueryParams()).build();
-    }
-}