summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dcae/common/publishing
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/dcae/common/publishing')
-rw-r--r--src/test/java/org/onap/dcae/common/publishing/DMaaPConfigurationParserTest.java69
-rw-r--r--src/test/java/org/onap/dcae/common/publishing/DmaapRequestConfigurationTest.java87
-rw-r--r--src/test/java/org/onap/dcae/common/publishing/MessageRouterHttpStatusMapperTest.java64
3 files changed, 220 insertions, 0 deletions
diff --git a/src/test/java/org/onap/dcae/common/publishing/DMaaPConfigurationParserTest.java b/src/test/java/org/onap/dcae/common/publishing/DMaaPConfigurationParserTest.java
new file mode 100644
index 0000000..e2c9418
--- /dev/null
+++ b/src/test/java/org/onap/dcae/common/publishing/DMaaPConfigurationParserTest.java
@@ -0,0 +1,69 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.dcaegen2.restconfcollector
+ * ================================================================================
+ * Copyright (C) 2022 Huawei. 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.dcae.common.publishing;
+
+import static io.vavr.API.List;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.onap.dcae.common.publishing.DMaaPConfigurationParser.parseToDomainMapping;
+
+import io.vavr.collection.Map;
+import io.vavr.control.Try;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.junit.Test;
+
+public class DMaaPConfigurationParserTest {
+
+ @Test
+ public void testParseCredentialsForGen2() {
+ Path path = Paths.get("src/test/resources/testParseDMaaPCredentialsGen2.json");
+ Try<Map<String, PublisherConfig>> publisherConfigs = parseToDomainMapping(path);
+
+ PublisherConfig authCredentialsNulls = publisherConfigs.get().get("auth-credentials-null").getOrNull();
+ assertThat(authCredentialsNulls.userName().isEmpty()).isTrue();
+ assertThat(authCredentialsNulls.password().isEmpty()).isTrue();
+ assertThat(authCredentialsNulls.isSecured()).isFalse();
+
+ PublisherConfig authCredentialsPresent = publisherConfigs.get().get("auth-credentials-present").getOrNull();
+ assertThat(authCredentialsPresent.userName().getOrNull()).isEqualTo("sampleUser");
+ assertThat(authCredentialsPresent.password().getOrNull()).isEqualTo("samplePassword");
+ assertThat(authCredentialsPresent.isSecured()).isTrue();
+
+ PublisherConfig authCredentialsKeysMissing = publisherConfigs.get().get("auth-credentials-missing").getOrNull();
+ assertThat(authCredentialsKeysMissing.userName().isEmpty()).isTrue();
+ assertThat(authCredentialsKeysMissing.password().isEmpty()).isTrue();
+ assertThat(authCredentialsKeysMissing.isSecured()).isFalse();
+ }
+
+ @Test
+ public void testParseGen2() {
+ Path path = Paths.get("src/test/resources/testParseDMaaPGen2.json");
+ Try<Map<String, PublisherConfig>> publisherConfigs = parseToDomainMapping(path);
+
+ PublisherConfig withEventsSegment = publisherConfigs.get().get("event-segments-with-port").getOrNull();
+ assertThat(withEventsSegment.destinations()).isEqualTo(List("UEBHOST:3904"));
+ assertThat(withEventsSegment.topic()).isEqualTo("DCAE-SE-COLLECTOR-EVENTS-DEV");
+
+ PublisherConfig withOtherSegment = publisherConfigs.get().get("other-segments-without-ports").getOrNull();
+ assertThat(withOtherSegment.destinations()).isEqualTo(List("UEBHOST"));
+ assertThat(withOtherSegment.topic()).isEqualTo("DCAE-SE-COLLECTOR-EVENTS-DEV");
+ }
+
+}
diff --git a/src/test/java/org/onap/dcae/common/publishing/DmaapRequestConfigurationTest.java b/src/test/java/org/onap/dcae/common/publishing/DmaapRequestConfigurationTest.java
new file mode 100644
index 0000000..e6b7c36
--- /dev/null
+++ b/src/test/java/org/onap/dcae/common/publishing/DmaapRequestConfigurationTest.java
@@ -0,0 +1,87 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.dcaegen2.restconfcollector
+ * ================================================================================
+ * Copyright (C) 2022 Huawei. 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.dcae.common.publishing;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
+import org.json.JSONObject;
+import org.junit.Test;
+
+import io.vavr.control.Option;
+import io.vavr.collection.List;
+import org.onap.dcaegen2.services.sdk.model.streams.dmaap.ImmutableMessageRouterSink;
+import reactor.core.publisher.Flux;
+
+import static org.junit.Assert.assertEquals;
+import static org.onap.dcae.common.publishing.DmaapRequestConfiguration.createPublishRequest;
+import static org.onap.dcae.common.publishing.DmaapRequestConfiguration.retryConfiguration;
+import static org.onap.dcae.common.publishing.DmaapRequestConfiguration.jsonBatch;
+import static org.onap.dcae.common.publishing.DmaapRequestConfiguration.createMessageRouterSink;
+import static org.onap.dcae.common.publishing.DmaapRequestConfiguration.getAsJsonElements;
+
+
+public class DmaapRequestConfigurationTest {
+
+ private static final Long TIMEOUT_SECONDS = 10L;
+
+ @Test
+ public void createPublishRequestTest () {
+ List<String> list = List.of("test");
+ PublisherConfig publisherConfig = new PublisherConfig(list, "topic");
+ Option<PublisherConfig> pb = Option.of(publisherConfig);
+ createPublishRequest(pb);
+ }
+
+ @Test
+ public void createPublishRequest2Test () {
+ List<String> list = List.of("test");
+ PublisherConfig publisherConfig = new PublisherConfig(list, "topic");
+ Option<PublisherConfig> pb = Option.of(publisherConfig);
+ createPublishRequest(pb, TIMEOUT_SECONDS);
+ }
+
+ @Test
+ public void retryConfigurationTest () {
+ retryConfiguration();
+ }
+
+ @Test
+ public void jsonBatchTest () {
+ JSONObject obj = new JSONObject();
+ obj.put("message", "hello world!!!");
+ List<String> listStr = List.of("{message: 'Hello World!!!'}");
+ Flux<JsonObject> fjso = jsonBatch(listStr);
+ }
+
+ @Test
+ public void createMessageRouterSinkTest () {
+ ImmutableMessageRouterSink imrs = createMessageRouterSink("testUrl");
+ assertEquals("testUrl", imrs.topicUrl());
+ }
+
+ @Test
+ public void getAsJsonElementsTest () {
+ List<String> listStr = List.of("test_message");
+ List<JsonElement> jsList = getAsJsonElements(listStr);
+ JsonElement element = new JsonPrimitive("test_message");
+ assertEquals(element, jsList.get(0));
+ }
+}
diff --git a/src/test/java/org/onap/dcae/common/publishing/MessageRouterHttpStatusMapperTest.java b/src/test/java/org/onap/dcae/common/publishing/MessageRouterHttpStatusMapperTest.java
new file mode 100644
index 0000000..75f3998
--- /dev/null
+++ b/src/test/java/org/onap/dcae/common/publishing/MessageRouterHttpStatusMapperTest.java
@@ -0,0 +1,64 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.dcaegen2.restconfcollector
+ * ================================================================================
+ * Copyright (C) 2022 Huawei. 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.dcae.common.publishing;
+
+import org.junit.jupiter.api.Test;
+import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishResponse;
+import org.springframework.http.HttpStatus;
+
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.onap.dcae.ApplicationSettings.responseCompatibility;
+import static org.onap.dcae.common.publishing.MessageRouterHttpStatusMapper.getHttpStatus;
+
+class MessageRouterHttpStatusMapperTest {
+
+ public static final String BACKWARDS_COMPATIBILITY = "v7.2";
+ public static final String BACKWARDS_COMPATIBILITY_NONE = "NONE";
+
+ @Test
+ void shouldResponse202() {
+ //given
+ responseCompatibility = BACKWARDS_COMPATIBILITY;
+ MessageRouterPublishResponse messageRouterPublishResponse = mock(MessageRouterPublishResponse.class);
+ when(messageRouterPublishResponse.successful()).thenReturn(true);
+
+ //when
+ HttpStatus httpStatusResponse = getHttpStatus(messageRouterPublishResponse);
+
+ //then
+ assertSame(HttpStatus.ACCEPTED, httpStatusResponse);
+ }
+
+ @Test
+ void shouldResponse200WhenBackwardsCompatibilityIsNone() {
+ //given
+ responseCompatibility = BACKWARDS_COMPATIBILITY_NONE;
+ MessageRouterPublishResponse messageRouterPublishResponse = mock(MessageRouterPublishResponse.class);
+ when(messageRouterPublishResponse.successful()).thenReturn(true);
+
+ //when
+ HttpStatus httpStatusResponse = getHttpStatus(messageRouterPublishResponse);
+
+ //then
+ assertSame(HttpStatus.OK, httpStatusResponse);
+ }
+}