aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java')
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java121
1 files changed, 121 insertions, 0 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java
new file mode 100644
index 0000000000..3c12b37e6d
--- /dev/null
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/item-rest/item-rest-services/src/test/java/org/openecomp/sdcrests/item/rest/services/catalog/notification/http/HttpTaskProducerTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright © 2016-2018 European Support Limited
+ *
+ * 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.
+ */
+
+package org.openecomp.sdcrests.item.rest.services.catalog.notification.http;
+
+import static org.hamcrest.CoreMatchers.containsString;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.openecomp.sdcrests.item.rest.services.catalog.notification.EntryNotConfiguredException;
+
+/**
+ * @author evitaliy
+ * @since 26 Nov 2018
+ */
+public class HttpTaskProducerTest {
+
+ @Rule
+ public ExpectedException exception = ExpectedException.none();
+
+ @Test
+ public void errorWhenProtocolNotDefined() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol(null);
+ exception.expect(EntryNotConfiguredException.class);
+ exception.expectMessage(containsString("Protocol"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void errorWhenFqdnNotDefined() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeFqdn(null);
+ exception.expect(EntryNotConfiguredException.class);
+ exception.expectMessage(containsString("Catalog host"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void errorWhenNotificationUrlNotDefined() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogNotificationUrl(null);
+ exception.expect(EntryNotConfiguredException.class);
+ exception.expectMessage(containsString("Notification URL"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void errorWhenUnknownProtocol() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("invented-protocol");
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage(containsString("Unsupported protocol"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void errorWhenHttpUsedButHttpPortUndefined() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("http");
+ config.setCatalogBeHttpPort(null);
+ exception.expect(EntryNotConfiguredException.class);
+ exception.expectMessage(containsString("HTTP port"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void errorWhenSslUsedButHttpsPortUndefined() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("https");
+ config.setCatalogBeSslPort(null);
+ exception.expect(EntryNotConfiguredException.class);
+ exception.expectMessage(containsString("SSL port"));
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void okWhenProtocolHttps() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("https");
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void okWhenProtocolHttpsMixedCase() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("hTTpS");
+ new HttpTaskProducer(config);
+ }
+
+ @Test
+ public void okWhenProtocolHttpMixedCase() {
+ HttpConfiguration config = mockConfiguration();
+ config.setCatalogBeProtocol("HTtp");
+ new HttpTaskProducer(config);
+ }
+
+ private HttpConfiguration mockConfiguration() {
+ HttpConfiguration config = new HttpConfiguration();
+ config.setCatalogBeFqdn("fqdn");
+ config.setCatalogBeHttpPort("http-port");
+ config.setCatalogBeProtocol("http");
+ config.setCatalogBeSslPort("ssl-port");
+ config.setCatalogNotificationUrl("url");
+ return config;
+ }
+} \ No newline at end of file