diff options
author | lapentafd <francesco.lapenta@est.tech> | 2022-12-12 14:28:41 +0000 |
---|---|---|
committer | lapentafd <francesco.lapenta@est.tech> | 2022-12-14 10:13:06 +0000 |
commit | c92368c89f334c3a6a84c3c67aea05dce1db66f8 (patch) | |
tree | 6b37b335ffd57baa200b37e801a209d87a4d1ceb /runtime-acm/src/test/java/org | |
parent | 06d4bbe578678619be4d948fde42223719e82cf1 (diff) |
Server stubs for acm runtime
- Added spring profile "stub"
- Added Commission and Instantiation stub controllers
- Added util function that decodes the object from the openapi/examples
- Added 2 missing examples
- Added Unit Test for stub controllers
Issue-ID: POLICY-4143
Change-Id: Ife91a74e93df4e9db55e17ca9d1793a7ed289e92
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
Diffstat (limited to 'runtime-acm/src/test/java/org')
5 files changed, 196 insertions, 3 deletions
diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/CommissioningControllerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/CommissioningControllerTest.java index d99bf2df6..8625408f4 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/CommissioningControllerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/CommissioningControllerTest.java @@ -52,7 +52,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) -@ActiveProfiles("test") +@ActiveProfiles({ "test", "default" }) class CommissioningControllerTest extends CommonRestController { private static final String COMMISSIONING_ENDPOINT = "compositions"; diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/stub/CommissioningControllerStubTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/stub/CommissioningControllerStubTest.java new file mode 100644 index 000000000..5bf259310 --- /dev/null +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/rest/stub/CommissioningControllerStubTest.java @@ -0,0 +1,89 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.clamp.acm.runtime.commissioning.rest.stub; + +import static org.assertj.core.api.Assertions.assertThat; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.Response; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.onap.policy.clamp.acm.runtime.util.rest.CommonRestController; +import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +@ExtendWith(SpringExtension.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@ActiveProfiles({ "test", "stub" }) +class CommissioningControllerStubTest extends CommonRestController { + + private static final String COMMISSIONING_ENDPOINT = "compositions"; + private static final String COMPOSITION_ID = "1aeed185-a98b-45b6-af22-8d5d20485ea3"; + private static ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate(); + + @LocalServerPort + private int randomServerPort; + + @BeforeEach + public void setUpPort() { + super.setHttpPrefix(randomServerPort); + } + + @Test + void testQuery() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT); + var respPost = invocationBuilder.get(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testGet() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "/" + COMPOSITION_ID); + var respPost = invocationBuilder.get(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testPut() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "/" + COMPOSITION_ID); + var respPost = invocationBuilder.put(Entity.json(serviceTemplate)); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testPost() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT); + var respPost = invocationBuilder.post(Entity.json(serviceTemplate)); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testDelete() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "/" + COMPOSITION_ID); + var respPost = invocationBuilder.delete(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } +} diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/InstantiationControllerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/InstantiationControllerTest.java index b93d214cb..0e58eb6ae 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/InstantiationControllerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/InstantiationControllerTest.java @@ -62,7 +62,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; */ @ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) -@ActiveProfiles("test") +@ActiveProfiles({ "test", "default" }) class InstantiationControllerTest extends CommonRestController { private static final String AC_INSTANTIATION_CREATE_JSON = "src/test/resources/rest/acm/AutomationComposition.json"; diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/stub/InstantiationControllerStubTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/stub/InstantiationControllerStubTest.java new file mode 100644 index 000000000..afddc4d01 --- /dev/null +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/stub/InstantiationControllerStubTest.java @@ -0,0 +1,104 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.clamp.acm.runtime.instantiation.rest.stub; + +import static org.assertj.core.api.Assertions.assertThat; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.Response; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.onap.policy.clamp.acm.runtime.util.rest.CommonRestController; +import org.onap.policy.clamp.models.acm.messages.rest.instantiation.InstantiationUpdate; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +@ExtendWith(SpringExtension.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@ActiveProfiles({ "test", "stub" }) +class InstantiationControllerStubTest extends CommonRestController { + + private static final String COMMISSIONING_ENDPOINT = "compositions"; + private static final String INSTANTIATION_ENDPOINT = "instances"; + private static final String COMPOSITION_ID = "1aeed185-a98b-45b6-af22-8d5d20485ea3"; + private static final String INSTANCE_ID = "709c62b3-8918-41b9-a747-d21eb79c6c23"; + private static InstantiationUpdate instantiationUpdate = new InstantiationUpdate(); + + @LocalServerPort + private int randomServerPort; + + @BeforeEach + public void setUpPort() { + super.setHttpPrefix(randomServerPort); + } + + @Test + void testQuery() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + + "/" + COMPOSITION_ID + + "/" + INSTANTIATION_ENDPOINT); + var respPost = invocationBuilder.get(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testGet() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + + "/" + COMPOSITION_ID + + "/" + INSTANTIATION_ENDPOINT + + "/" + INSTANCE_ID); + var respPost = invocationBuilder.get(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testPut() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + + "/" + COMPOSITION_ID + + "/" + INSTANTIATION_ENDPOINT + + "/" + INSTANCE_ID); + var respPost = invocationBuilder.put(Entity.json(instantiationUpdate)); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testPost() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + + "/" + COMPOSITION_ID + + "/" + INSTANTIATION_ENDPOINT); + var respPost = invocationBuilder.post(Entity.json(instantiationUpdate)); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } + + @Test + void testDelete() { + var invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + + "/" + COMPOSITION_ID + + "/" + INSTANTIATION_ENDPOINT + + "/" + INSTANCE_ID); + var respPost = invocationBuilder.delete(); + assertThat(Response.Status.OK.getStatusCode()).isEqualTo(respPost.getStatus()); + } +} diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/main/rest/ActuatorControllerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/main/rest/ActuatorControllerTest.java index c1f7362e1..6070cafa4 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/main/rest/ActuatorControllerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/main/rest/ActuatorControllerTest.java @@ -38,7 +38,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @AutoConfigureMetrics @ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) -@ActiveProfiles("test") +@ActiveProfiles({ "test", "default" }) class ActuatorControllerTest extends CommonRestController { private static final String HEALTH_ENDPOINT = "health"; |