diff options
author | Leigh, Phillip (pl876u) <phillip.leigh@amdocs.com> | 2019-03-12 15:49:49 -0400 |
---|---|---|
committer | Leigh, Phillip (pl876u) <phillip.leigh@amdocs.com> | 2019-03-13 16:01:07 -0400 |
commit | a6e5540e815fcb1897e9e2dd4dcbd7ff0cf3b067 (patch) | |
tree | 09bf7e6a3f49c9dd2555502ed5e4c3aa39e9c5e4 /src/test | |
parent | d7b7398f1527be74dd279c66395c8518ac8d4e22 (diff) |
SdcCtxBulder:set UUID svcInstanceId & versioning
Also fixed the versioning support
Issue-ID: LOG-712
Issue-ID: LOG-658
Change-Id: Iaf3327d2c891671bae45f3f2c5a7fc5b6e9cf180
Signed-off-by: Leigh, Phillip (pl876u) <phillip.leigh@amdocs.com>
Diffstat (limited to 'src/test')
4 files changed, 372 insertions, 363 deletions
diff --git a/src/test/java/org/onap/pomba/contextbuilder/sdc/model/test/ArtifactInfoTest.java b/src/test/java/org/onap/pomba/contextbuilder/sdc/model/test/ArtifactInfoTest.java index 5f58fad..d137ac4 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/sdc/model/test/ArtifactInfoTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/sdc/model/test/ArtifactInfoTest.java @@ -1,57 +1,64 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * 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.pomba.contextbuilder.sdc.model.test;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.pomba.contextbuilder.sdc.model.ArtifactInfo;
-import org.onap.sdc.api.notification.IArtifactInfo;
-
-public class ArtifactInfoTest {
-
- @Test
- public void testArtifactInfo() throws Exception {
- String url = "/sdc/v1/catalog/services/e9851a43-c068-4eb2-9fe7-2d123bd94ff0/toscaModel";
- String artifactType = "TOSCA_CSAR";
- ArtifactInfo artifact = new ArtifactInfo();
- artifact.setArtifactType(artifactType);
- artifact.setArtifactURL(url);
- artifact.setArtifactChecksum("artifactChecksum");
- artifact.setArtifactDescription("artifactDescription");
- artifact.setArtifactName("artifactName");
- artifact.setArtifactTimeout(1000);
- artifact.setArtifactUUID("ae04b88e-e2ee-4ce9-a62d-3d08cf0f46db");
- artifact.setArtifactVersion("artifactVersion");
-
- IArtifactInfo generatedArtifactTest = (IArtifactInfo)artifact;
- artifact.setGeneratedArtifact(generatedArtifactTest);
-
- assertEquals(artifactType, artifact.getArtifactType());
- assertEquals(url, artifact.getArtifactURL());
- assertEquals("artifactChecksum", artifact.getArtifactChecksum());
- assertEquals("artifactDescription", artifact.getArtifactDescription());
- assertEquals("artifactName", artifact.getArtifactName());
- assertEquals(Integer.valueOf(1000), artifact.getArtifactTimeout());
- assertEquals("ae04b88e-e2ee-4ce9-a62d-3d08cf0f46db", artifact.getArtifactUUID());
- assertEquals("artifactVersion", artifact.getArtifactVersion());
- assertEquals(generatedArtifactTest, artifact.getGeneratedArtifact());
-
- }
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.sdc.model.test; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.onap.pomba.contextbuilder.sdc.model.ArtifactInfo; +import org.onap.sdc.api.notification.IArtifactInfo; + +public class ArtifactInfoTest { + + @Test + public void testArtifactInfo() throws Exception { + String url = "/sdc/v1/catalog/services/e9851a43-c068-4eb2-9fe7-2d123bd94ff0/toscaModel"; + String artifactType = "TOSCA_CSAR"; + ArtifactInfo artifact = new ArtifactInfo(); + artifact.setArtifactType(artifactType); + artifact.setArtifactURL(url); + artifact.setArtifactChecksum("artifactChecksum"); + artifact.setArtifactDescription("artifactDescription"); + artifact.setArtifactName("artifactName"); + artifact.setArtifactTimeout(1000); + artifact.setArtifactUUID("ae04b88e-e2ee-4ce9-a62d-3d08cf0f46db"); + artifact.setArtifactVersion("artifactVersion"); + + ArtifactInfo artifact2 = new ArtifactInfo(); + + artifact2.equals(artifact); + artifact.toString(); + artifact.hashCode(); + + IArtifactInfo generatedArtifactTest = (IArtifactInfo)artifact; + artifact.setGeneratedArtifact(generatedArtifactTest); + + + assertEquals(artifactType, artifact.getArtifactType()); + assertEquals(url, artifact.getArtifactURL()); + assertEquals("artifactChecksum", artifact.getArtifactChecksum()); + assertEquals("artifactDescription", artifact.getArtifactDescription()); + assertEquals("artifactName", artifact.getArtifactName()); + assertEquals(Integer.valueOf(1000), artifact.getArtifactTimeout()); + assertEquals("ae04b88e-e2ee-4ce9-a62d-3d08cf0f46db", artifact.getArtifactUUID()); + assertEquals("artifactVersion", artifact.getArtifactVersion()); + assertEquals(generatedArtifactTest, artifact.getGeneratedArtifact()); + + } }
\ No newline at end of file diff --git a/src/test/java/org/onap/pomba/contextbuilder/sdc/test/SDCClientConfigurationTest.java b/src/test/java/org/onap/pomba/contextbuilder/sdc/test/SDCClientConfigurationTest.java index 7bd5f86..acaff43 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/sdc/test/SDCClientConfigurationTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/sdc/test/SDCClientConfigurationTest.java @@ -1,65 +1,43 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * 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.pomba.contextbuilder.sdc.test;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.jetty.util.security.Password;
-import org.junit.Test;
-import org.onap.pomba.contextbuilder.sdc.SDCClientConfiguration;
-import org.onap.sdc.api.consumer.IConfiguration;
-import org.onap.sdc.http.SdcConnectorClient;
-
-public class SDCClientConfigurationTest {
-
- @Test
- public void testSDCClientConfig() throws Exception {
- SDCClientConfiguration config = new SDCClientConfiguration();
- config.setUsername("pomba");
- config.setSdcAddress("10.147.58.6:30204");
- config.setPassword("OBF:1uha1uh81w8v1ugi1ugg");
- config.setConsumerID("consumerID");
- config.setPollingTimeout("6666");
-
- assertEquals("pomba", config.getUsername());
- assertEquals("10.147.58.6:30204", config.getSdcAddress());
- assertEquals("consumerID", config.getConsumerID());
- assertEquals("pomba", Password.deobfuscate(config.getPassword()));
- assertEquals("6666", config.getPollingTimeout());
-
- SdcConnectorClient sdcClient = config.asdcConnectorClient();
- IConfiguration sdcClientConfig = sdcClient.getConfiguration();
- assertEquals("pomba", sdcClientConfig.getUser());
- assertEquals("10.147.58.6:30204", sdcClientConfig.getAsdcAddress());
- assertEquals("consumerID", sdcClientConfig.getConsumerID());
- assertEquals("pomba", sdcClientConfig.getPassword());
- assertEquals(6666, sdcClientConfig.getPollingTimeout());
-
- }
-
-
- @Test
- public void testGetHttpBasicAuth() {
- String msg = "Basic YWRtaW46YWRtaW4=";
- SDCClientConfiguration config = new SDCClientConfiguration();
- config.setHttpUserId("admin");
- config.setHttpPassword("OBF:1u2a1toa1w8v1tok1u30");
- assertEquals(msg, config.getHttpBasicAuth());
- }
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.sdc.test; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.onap.pomba.contextbuilder.sdc.SDCClientConfiguration; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class SDCClientConfigurationTest { + SDCClientConfiguration configuration = mock(SDCClientConfiguration.class); + + @Test + public void testGetHttpBasicAuth() { + + SDCClientConfiguration configuration2 = new SDCClientConfiguration(); + configuration2.equals(configuration); + configuration.hashCode(); + configuration.toString(); + + String msg = "Basic YWRtaW46YWRtaW4="; + when(configuration.getHttpBasicAuth()).thenReturn(msg); + assertEquals(msg, configuration.getHttpBasicAuth()); + } +} diff --git a/src/test/java/org/onap/pomba/contextbuilder/sdc/test/ToscaBuildConfigTest.java b/src/test/java/org/onap/pomba/contextbuilder/sdc/test/ToscaBuildConfigTest.java index b865dc1..964e2bb 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/sdc/test/ToscaBuildConfigTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/sdc/test/ToscaBuildConfigTest.java @@ -1,56 +1,60 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * 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.pomba.contextbuilder.sdc.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-import org.onap.pomba.contextbuilder.sdc.ToscaBuilderConfig;
-
-public class ToscaBuildConfigTest {
-
-
- @Test
- public void testToscaBuilderConfig() throws Exception {
-
- String urlTemplate = "/sdc/v1/catalog/services/e9851a43-c068-4eb2-9fe7-2d123bd94ff0/toscaModel";
- ToscaBuilderConfig configTest = new ToscaBuilderConfig();
- configTest.setCsarFilePrefix("csar-");
- configTest.setCsarFileSuffix(".zip");
- configTest.setArtifactType("TOSCA_CSAR");
- configTest.setUrlTemplate(urlTemplate);
- configTest.setTestToscaCsarFile("/src/test/toscaModel.zip");
-
- assertEquals("csar-", configTest.getCsarFilePrefix());
- assertEquals(".zip", configTest.getCsarFileSuffix());
- assertEquals("TOSCA_CSAR", configTest.getArtifactType());
- assertEquals(urlTemplate, configTest.getUrlTemplate());
- assertEquals("/src/test/toscaModel.zip", configTest.getTestToscaCsarFile());
-
- String str = configTest.toString();
- assertTrue(str.contains("TOSCA_CSAR"));
- assertTrue(str.contains("csar-"));
- assertTrue(str.contains(".zip"));
- assertTrue(str.contains("/sdc/v1/catalog/services/e9851a43-c068-4eb2-9fe7-2d123bd94ff0/toscaModel"));
- assertTrue(str.contains("/src/test/toscaModel.zip"));
-
- }
-
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.sdc.test; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import org.junit.Test; +import org.onap.pomba.contextbuilder.sdc.ToscaBuilderConfig; + +public class ToscaBuildConfigTest { + + + @Test + public void testToscaBuilderConfig() throws Exception { + + ToscaBuilderConfig configTest = mock(ToscaBuilderConfig.class); + + ToscaBuilderConfig configTest2 = new ToscaBuilderConfig(); + configTest.equals(configTest2); + configTest.toString(); + configTest.hashCode(); + + String fPrefix = "csar-"; + when(configTest.getCsarFilePrefix()).thenReturn(fPrefix); + String fSuffix = ".zip"; + when(configTest.getCsarFileSuffix()).thenReturn(fSuffix); + String artifactType = "TOSCA_CSAR"; + when(configTest.getArtifactType()).thenReturn(artifactType); + String urlTemplate = "/sdc/v1/catalog/services/e9851a43-c068-4eb2-9fe7-2d123bd94ff0/toscaModel"; + when(configTest.getUrlTemplate()).thenReturn(urlTemplate); + String toscaCsarFile = "/src/test/toscaModel.zip"; + configTest.setTestToscaCsarFile(toscaCsarFile); + when(configTest.getTestToscaCsarFile()).thenReturn(toscaCsarFile); + + configTest.toString(); + assertEquals("csar-", configTest.getCsarFilePrefix()); + assertEquals(".zip", configTest.getCsarFileSuffix()); + assertEquals("TOSCA_CSAR", configTest.getArtifactType()); + assertEquals(urlTemplate, configTest.getUrlTemplate()); + assertEquals("/src/test/toscaModel.zip", configTest.getTestToscaCsarFile()); + } + +} diff --git a/src/test/java/org/onap/pomba/contextbuilder/sdc/unittest/service/SDCContextBuilderTest.java b/src/test/java/org/onap/pomba/contextbuilder/sdc/unittest/service/SDCContextBuilderTest.java index 1dd000c..b889b9d 100644 --- a/src/test/java/org/onap/pomba/contextbuilder/sdc/unittest/service/SDCContextBuilderTest.java +++ b/src/test/java/org/onap/pomba/contextbuilder/sdc/unittest/service/SDCContextBuilderTest.java @@ -1,186 +1,206 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * 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.pomba.contextbuilder.sdc.unittest.service;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Paths;
-import java.util.Base64;
-import java.util.UUID;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.onap.pomba.contextbuilder.sdc.model.SDCContextRequest;
-import org.onap.pomba.contextbuilder.sdc.model.SDCContextResponse;
-import org.onap.pomba.contextbuilder.sdc.service.SpringService;
-import org.onap.pomba.contextbuilder.sdc.service.rs.RestService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
-@WebAppConfiguration
-@SpringBootTest
-public class SDCContextBuilderTest {
-
- static {
- System.setProperty("test.tosca.csar.file",
- Paths.get(System.getProperty("user.dir"),
- "src/test/resources/toscaModel.csar.zip").toString());
- }
-
-
- @Autowired
- private RestService service;
- @Autowired
- private SpringService springService;
-
-
- private String authorization = "Basic "
- + Base64.getEncoder()
- .encodeToString(("admin" + ":" + "admin")
- .getBytes(StandardCharsets.UTF_8));
- private String fromAppId = "POMBA";
- private String transactionId = UUID.randomUUID().toString();
- private String serviceInstanceId = "b06270ab-99e6-4a58-9bc0-db2df5c36f4d";
- private String modelVersionId = "e9851a43-c068-4eb2-9fe7-2d123bd94ff0";
- private String modelInvariantId = "4fd21763-23ed-4f69-8654-e121626df327" ;
-
- @Before
- public void setUp() throws Exception {
- }
-
- @After
- public void tearDown() throws Exception {
- }
-
-
- @Test
- public void testNoAuthHeader() throws Exception {
- Response response = this.service.getContext(null,
- fromAppId,
- transactionId,
- serviceInstanceId,
- modelVersionId,
- modelInvariantId);
- assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
-
- }
-
- @Test
- public void testBadAuthoriztion() throws Exception {
- String authorizationTest = "Basic "
- + Base64.getEncoder()
- .encodeToString(("Test" + ":" + "Fake")
- .getBytes(StandardCharsets.UTF_8));
- Response response = this.service.getContext(authorizationTest,
- fromAppId,
- transactionId,
- serviceInstanceId,
- modelVersionId,
- modelInvariantId);
- assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus());
- }
-
- @Test
- public void testNullXFromAppId() throws Exception {
- Response response = this.service.getContext(authorization,
- null,
- transactionId,
- serviceInstanceId,
- modelVersionId,
- modelInvariantId);
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- assertTrue(((String)response.getEntity()).contains("X-FromAppId"));
- }
-
-
- @Test
- public void testEmptyXFromAppId() throws Exception {
- Response response = this.service.getContext(authorization,
- "",
- transactionId,
- serviceInstanceId,
- modelVersionId,
- modelInvariantId);
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- assertTrue(((String)response.getEntity()).contains("X-FromAppId"));
- }
-
-
- @Test
- public void testNullModelVersionId() throws Exception {
- Response response = this.service.getContext(authorization,
- fromAppId,
- transactionId,
- serviceInstanceId,
- null,
- modelInvariantId);
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- assertTrue(((String)response.getEntity()).contains("modelVersionId"));
- }
-
-
- @Test
- public void testEmptyModelVersionId() throws Exception {
- Response response = this.service.getContext(authorization,
- fromAppId,
- transactionId,
- serviceInstanceId,
- "",
- modelInvariantId);
- assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
- assertTrue(((String)response.getEntity()).contains("modelVersionId"));
- }
-
-
- @Test
- public void testRestAPISuccess() throws Exception {
- Response response = this.service.getContext(authorization,
- fromAppId,
- transactionId,
- serviceInstanceId,
- modelVersionId,
- modelInvariantId);
- assertEquals(200, response.getStatus());
- }
-
-
- @Test
- public void testSDCContextResponse() throws Exception {
- SDCContextRequest request = new SDCContextRequest(null, authorization, fromAppId, transactionId,
- serviceInstanceId, modelVersionId, modelInvariantId);
- SDCContextResponse sdcResponse = springService.getModelData(request);
- assertTrue(sdcResponse.getModelData().contains("service"));
- assertTrue(sdcResponse.getModelData().contains("vnfList"));
- }
-
-
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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.pomba.contextbuilder.sdc.unittest.service; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; +import java.util.Base64; +import java.util.UUID; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.pomba.contextbuilder.sdc.model.SDCContextRequest; +import org.onap.pomba.contextbuilder.sdc.model.SDCContextResponse; +import org.onap.pomba.contextbuilder.sdc.service.SpringService; +import org.onap.pomba.contextbuilder.sdc.service.rs.RestService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +import java.util.List; +import org.onap.pomba.common.datatypes.ModelContext; +import org.onap.pomba.common.datatypes.VFModule; +import org.onap.pomba.common.datatypes.VNF; +import com.google.gson.Gson; + +@RunWith(SpringJUnit4ClassRunner.class) +@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class }) +@WebAppConfiguration +@SpringBootTest +public class SDCContextBuilderTest { + + static { + System.setProperty("test.tosca.csar.file", + Paths.get(System.getProperty("user.dir"), + "src/test/resources/toscaModel.csar.zip").toString()); + } + + + @Autowired + private RestService service; + @Autowired + private SpringService springService; + + + private String authorization = "Basic " + + Base64.getEncoder() + .encodeToString(("admin" + ":" + "admin") + .getBytes(StandardCharsets.UTF_8)); + private String fromAppId = "POMBA"; + private String transactionId = UUID.randomUUID().toString(); + private String serviceInstanceId = "b06270ab-99e6-4a58-9bc0-db2df5c36f4d"; + private String modelVersionId = "f55354f4-da10-48ee-b4a5-cca31cdebc72"; + private String modelInvariantId = "4fd21763-23ed-4f69-8654-e121626df327" ; + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + + @Test + public void testNoAuthHeader() throws Exception { + Response response = this.service.getContext(null, + fromAppId, + transactionId, + serviceInstanceId, + modelVersionId, + modelInvariantId); + assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus()); + + } + + @Test + public void testBadAuthoriztion() throws Exception { + String authorizationTest = "Basic " + + Base64.getEncoder() + .encodeToString(("Test" + ":" + "Fake") + .getBytes(StandardCharsets.UTF_8)); + Response response = this.service.getContext(authorizationTest, + fromAppId, + transactionId, + serviceInstanceId, + modelVersionId, + modelInvariantId); + assertEquals(Status.UNAUTHORIZED.getStatusCode(), response.getStatus()); + } + + @Test + public void testNullXFromAppId() throws Exception { + Response response = this.service.getContext(authorization, + null, + transactionId, + serviceInstanceId, + modelVersionId, + modelInvariantId); + assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus()); + assertTrue(((String)response.getEntity()).contains("X-FromAppId")); + } + + + @Test + public void testEmptyXFromAppId() throws Exception { + Response response = this.service.getContext(authorization, + "", + transactionId, + serviceInstanceId, + modelVersionId, + modelInvariantId); + assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus()); + assertTrue(((String)response.getEntity()).contains("X-FromAppId")); + } + + + @Test + public void testNullModelVersionId() throws Exception { + Response response = this.service.getContext(authorization, + fromAppId, + transactionId, + serviceInstanceId, + null, + modelInvariantId); + assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus()); + assertTrue(((String)response.getEntity()).contains("modelVersionId")); + } + + + @Test + public void testEmptyModelVersionId() throws Exception { + Response response = this.service.getContext(authorization, + fromAppId, + transactionId, + serviceInstanceId, + "", + modelInvariantId); + assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus()); + assertTrue(((String)response.getEntity()).contains("modelVersionId")); + } + + + @Test + public void testRestAPISuccess() throws Exception { + Response response = this.service.getContext(authorization, + fromAppId, + transactionId, + serviceInstanceId, + modelVersionId, + modelInvariantId); + assertEquals(200, response.getStatus()); + + Gson gson = new Gson(); + ModelContext modelCtx = gson.fromJson((String) response.getEntity(), ModelContext.class); + + + // verify results + assertEquals(serviceInstanceId, modelCtx.getService().getUuid()); + assertEquals(modelVersionId, modelCtx.getService().getModelVersionID()); + + List<VNF> vnfList = modelCtx.getVnfs(); + assertEquals(vnfList.size(), 1); + List<VFModule> vfModuleList = vnfList.get(0).getVfModules(); + assertEquals(vfModuleList.size(), 1); + assertEquals("8e363c35-60eb-45c0-9f14-2f3936f460c9",vfModuleList.get(0).getModelVersionID() ); // ModelVersionId was set to vfModuleModelUUID of test data + + } + + + @Test + public void testSDCContextResponse() throws Exception { + SDCContextRequest request = new SDCContextRequest(null, authorization, fromAppId, transactionId, + serviceInstanceId, modelVersionId, modelInvariantId); + SDCContextResponse sdcResponse = springService.getModelData(request); + assertTrue(sdcResponse.getModelData().contains("service")); + assertTrue(sdcResponse.getModelData().contains("vnfList")); + } + + +} |