From 4ccc26577b51545b4b4db6823c6d926bc0ffc5a4 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Tue, 18 Feb 2020 15:28:39 -0500 Subject: Validate request content of various actors Created common junit superclass, BasicOperation, containing verifyRequest() method, among others. Issue-ID: POLICY-2363 Signed-off-by: Jim Hahn Change-Id: I7ff4428e94bfd301ff4194e1766ef61906714dcf --- .../model-actors/actor.test/pom.xml | 2 +- .../test/BasicBidirectionalTopicOperation.java | 67 +-------- .../controlloop/actor/test/BasicHttpOperation.java | 71 +-------- .../controlloop/actor/test/BasicOperation.java | 165 +++++++++++++++++++++ .../test/BasicBidirectionalTopicOperationTest.java | 30 ---- .../actor/test/BasicHttpOperationTest.java | 24 --- .../controlloop/actor/test/BasicOperationTest.java | 100 +++++++++++++ .../actor.test/src/test/resources/actual.json | 19 +++ .../actor.test/src/test/resources/expected.json | 19 +++ 9 files changed, 311 insertions(+), 186 deletions(-) create mode 100644 models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java create mode 100644 models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicOperationTest.java create mode 100644 models-interactions/model-actors/actor.test/src/test/resources/actual.json create mode 100644 models-interactions/model-actors/actor.test/src/test/resources/expected.json (limited to 'models-interactions/model-actors/actor.test') diff --git a/models-interactions/model-actors/actor.test/pom.xml b/models-interactions/model-actors/actor.test/pom.xml index 3a10fa3d1..9bddbd9dd 100644 --- a/models-interactions/model-actors/actor.test/pom.xml +++ b/models-interactions/model-actors/actor.test/pom.xml @@ -53,7 +53,7 @@ junit junit - test + provided org.onap.policy.common diff --git a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperation.java b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperation.java index 14c7ef576..e10e94142 100644 --- a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperation.java +++ b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperation.java @@ -22,50 +22,30 @@ package org.onap.policy.controlloop.actor.test; import static org.mockito.Mockito.when; -import java.util.Map; -import java.util.TreeMap; -import java.util.UUID; import java.util.function.BiConsumer; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; -import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.coder.StandardCoderObject; import org.onap.policy.common.utils.time.PseudoExecutor; -import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorserviceprovider.ActorService; -import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; -import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperator; import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicParams; -import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; import org.onap.policy.controlloop.actorserviceprovider.topic.BidirectionalTopicHandler; import org.onap.policy.controlloop.actorserviceprovider.topic.Forwarder; /** * Superclass for various BidirectionalTopicOperation tests. */ -public class BasicBidirectionalTopicOperation { - protected static final UUID REQ_ID = UUID.randomUUID(); - protected static final String DEFAULT_ACTOR = "default-actor"; - protected static final String DEFAULT_OPERATION = "default-operation"; +public class BasicBidirectionalTopicOperation extends BasicOperation { protected static final String MY_SINK = "my-sink"; protected static final String MY_SOURCE = "my-source"; - protected static final String TARGET_ENTITY = "my-target"; - protected static final Coder coder = new StandardCoder(); protected static final int TIMEOUT = 10; - protected final String actorName; - protected final String operationName; - @Captor protected ArgumentCaptor> listenerCaptor; - @Mock - protected ActorService service; @Mock protected BidirectionalTopicHandler topicHandler; @Mock @@ -74,19 +54,12 @@ public class BasicBidirectionalTopicOperation { protected BidirectionalTopicOperator operator; protected BidirectionalTopicParams topicParams; - protected ControlLoopOperationParams params; - protected Map enrichment; - protected VirtualControlLoopEvent event; - protected ControlLoopEventContext context; - protected OperationOutcome outcome; - protected PseudoExecutor executor; /** * Constructs the object using a default actor and operation name. */ public BasicBidirectionalTopicOperation() { - this.actorName = DEFAULT_ACTOR; - this.operationName = DEFAULT_OPERATION; + super(); } /** @@ -96,8 +69,7 @@ public class BasicBidirectionalTopicOperation { * @param operation operation name */ public BasicBidirectionalTopicOperation(String actor, String operation) { - this.actorName = actor; - this.operationName = operation; + super(actor, operation); } /** @@ -117,30 +89,6 @@ public class BasicBidirectionalTopicOperation { initOperator(); } - /** - * Reinitializes {@link #enrichment}, {@link #event}, {@link #context}, and - * {@link #params}. - *

- * Note: {@link #params} is configured to use {@link #executor}. - */ - protected void makeContext() { - enrichment = new TreeMap<>(makeEnrichment()); - - event = new VirtualControlLoopEvent(); - event.setRequestId(REQ_ID); - event.setAai(enrichment); - - context = new ControlLoopEventContext(event); - - params = ControlLoopOperationParams.builder().executor(executor).context(context).actorService(service) - .actor(actorName).operation(operationName).targetEntity(TARGET_ENTITY).payload(makePayload()) - .build(); - } - - protected Map makePayload() { - return null; - } - /** * Initializes an operator so that it is "alive" and has the given names. */ @@ -154,15 +102,6 @@ public class BasicBidirectionalTopicOperation { when(operator.getParams()).thenReturn(topicParams); } - /** - * Makes enrichment data. - * - * @return enrichment data - */ - protected Map makeEnrichment() { - return new TreeMap<>(); - } - /** * Provides a response to the topic {@link #listenerCaptor}. * diff --git a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicHttpOperation.java b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicHttpOperation.java index 492929296..05fa2260b 100644 --- a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicHttpOperation.java +++ b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicHttpOperation.java @@ -23,8 +23,6 @@ package org.onap.policy.controlloop.actor.test; import static org.mockito.Mockito.when; import java.util.Map; -import java.util.TreeMap; -import java.util.UUID; import java.util.concurrent.CompletableFuture; import javax.ws.rs.client.Entity; import javax.ws.rs.client.InvocationCallback; @@ -32,34 +30,20 @@ import javax.ws.rs.core.Response; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import org.mockito.stubbing.Answer; import org.onap.policy.common.endpoints.http.client.HttpClient; import org.onap.policy.common.endpoints.http.client.HttpClientFactory; -import org.onap.policy.common.utils.time.PseudoExecutor; -import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actorserviceprovider.ActorService; -import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; -import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; import org.onap.policy.controlloop.actorserviceprovider.impl.HttpOperator; -import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; /** * Superclass for various HttpOperation tests. * * @param request type */ -public class BasicHttpOperation { - protected static final UUID REQ_ID = UUID.randomUUID(); - protected static final String DEFAULT_ACTOR = "default-actor"; - protected static final String DEFAULT_OPERATION = "default-operation"; +public class BasicHttpOperation extends BasicOperation { protected static final String MY_CLIENT = "my-client"; protected static final String BASE_URI = "/base-uri"; protected static final String PATH = "/my-path"; - protected static final String TARGET_ENTITY = "my-target"; - - protected final String actorName; - protected final String operationName; @Captor protected ArgumentCaptor> callbackCaptor; @@ -70,9 +54,6 @@ public class BasicHttpOperation { @Captor protected ArgumentCaptor> headerCaptor; - @Mock - protected ActorService service; - @Mock protected HttpClient client; @@ -85,20 +66,12 @@ public class BasicHttpOperation { @Mock protected HttpOperator operator; - protected CompletableFuture future; - protected ControlLoopOperationParams params; - protected Map enrichment; - protected VirtualControlLoopEvent event; - protected ControlLoopEventContext context; - protected OperationOutcome outcome; - protected PseudoExecutor executor; /** * Constructs the object using a default actor and operation name. */ public BasicHttpOperation() { - this.actorName = DEFAULT_ACTOR; - this.operationName = DEFAULT_OPERATION; + super(); } /** @@ -108,51 +81,24 @@ public class BasicHttpOperation { * @param operation operation name */ public BasicHttpOperation(String actor, String operation) { - this.actorName = actor; - this.operationName = operation; + super(actor, operation); } /** * Initializes mocks and sets up. */ public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); + super.setUp(); when(factory.get(MY_CLIENT)).thenReturn(client); when(rawResponse.getStatus()).thenReturn(200); - future = new CompletableFuture<>(); when(client.getBaseUrl()).thenReturn(BASE_URI); - executor = new PseudoExecutor(); - - makeContext(); - - outcome = params.makeOutcome(); - initOperator(); } - /** - * Reinitializes {@link #enrichment}, {@link #event}, {@link #context}, and - * {@link #params}. - *

- * Note: {@link #params} is configured to use {@link #executor}. - */ - protected void makeContext() { - enrichment = new TreeMap<>(makeEnrichment()); - - event = new VirtualControlLoopEvent(); - event.setRequestId(REQ_ID); - event.setAai(enrichment); - - context = new ControlLoopEventContext(event); - - params = ControlLoopOperationParams.builder().executor(executor).context(context).actorService(service) - .actor(actorName).operation(operationName).targetEntity(TARGET_ENTITY).build(); - } - /** * Initializes an operator so that it is "alive" and has the given names. */ @@ -165,15 +111,6 @@ public class BasicHttpOperation { when(operator.getPath()).thenReturn(PATH); } - /** - * Makes enrichment data. - * - * @return enrichment data - */ - protected Map makeEnrichment() { - return new TreeMap<>(); - } - /** * Provides a response to an asynchronous HttpClient call. * diff --git a/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java new file mode 100644 index 000000000..dbdd553a9 --- /dev/null +++ b/models-interactions/model-actors/actor.test/src/main/java/org/onap/policy/controlloop/actor/test/BasicOperation.java @@ -0,0 +1,165 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. 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.policy.controlloop.actor.test; + +import static org.junit.Assert.assertEquals; + +import java.util.Map; +import java.util.TreeMap; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import javax.ws.rs.core.Response; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.policy.common.utils.coder.Coder; +import org.onap.policy.common.utils.coder.CoderException; +import org.onap.policy.common.utils.coder.StandardCoder; +import org.onap.policy.common.utils.resources.ResourceUtils; +import org.onap.policy.common.utils.time.PseudoExecutor; +import org.onap.policy.controlloop.VirtualControlLoopEvent; +import org.onap.policy.controlloop.actorserviceprovider.ActorService; +import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; +import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; +import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; + +/** + * Superclass for various Operation tests. + */ +public class BasicOperation { + protected static final Coder coder = new StandardCoder(); + protected static final UUID REQ_ID = UUID.randomUUID(); + protected static final String DEFAULT_ACTOR = "default-actor"; + protected static final String DEFAULT_OPERATION = "default-operation"; + protected static final String TARGET_ENTITY = "my-target"; + + protected final String actorName; + protected final String operationName; + + @Mock + protected ActorService service; + + protected CompletableFuture future; + protected ControlLoopOperationParams params; + protected Map enrichment; + protected VirtualControlLoopEvent event; + protected ControlLoopEventContext context; + protected OperationOutcome outcome; + protected PseudoExecutor executor; + + /** + * Constructs the object using a default actor and operation name. + */ + public BasicOperation() { + this.actorName = DEFAULT_ACTOR; + this.operationName = DEFAULT_OPERATION; + } + + /** + * Constructs the object. + * + * @param actor actor name + * @param operation operation name + */ + public BasicOperation(String actor, String operation) { + this.actorName = actor; + this.operationName = operation; + } + + /** + * Initializes mocks and sets up. + */ + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + + future = new CompletableFuture<>(); + + executor = new PseudoExecutor(); + + makeContext(); + + outcome = params.makeOutcome(); + } + + /** + * Reinitializes {@link #enrichment}, {@link #event}, {@link #context}, and + * {@link #params}. + *

+ * Note: {@link #params} is configured to use {@link #executor}. + */ + protected void makeContext() { + enrichment = new TreeMap<>(makeEnrichment()); + + event = new VirtualControlLoopEvent(); + event.setRequestId(REQ_ID); + event.setAai(enrichment); + + context = new ControlLoopEventContext(event); + + params = ControlLoopOperationParams.builder().executor(executor).context(context).actorService(service) + .actor(actorName).operation(operationName).targetEntity(TARGET_ENTITY).payload(makePayload()) + .build(); + } + + /** + * Makes enrichment data. + * + * @return enrichment data + */ + protected Map makeEnrichment() { + return new TreeMap<>(); + } + + + /** + * Makes payload data. + * + * @return payload data + */ + protected Map makePayload() { + return null; + } + + /** + * Pretty-prints a request and verifies that the result matches the expected JSON. + * + * @param request type + * @param expectedJsonFile name of the file containing the expected JSON + * @param request request to verify + * @param ignore names of fields to be ignored, because they change with each request + * @throws CoderException if the request cannot be pretty-printed + */ + protected void verifyRequest(String expectedJsonFile, R request, String... ignore) throws CoderException { + String json = coder.encode(request, true); + String expected = ResourceUtils.getResourceAsString(expectedJsonFile); + + // strip various items, because they change for each request + for (String stripper : ignore) { + stripper += "[^,]*"; + json = json.replaceAll(stripper, ""); + expected = expected.replaceAll(stripper, ""); + } + + json = json.trim(); + expected = expected.trim(); + + assertEquals(expected, json); + } +} diff --git a/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperationTest.java b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperationTest.java index 4fd559101..9ec118e69 100644 --- a/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperationTest.java +++ b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicBidirectionalTopicOperationTest.java @@ -23,7 +23,6 @@ package org.onap.policy.controlloop.actor.test; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; @@ -80,30 +79,6 @@ public class BasicBidirectionalTopicOperationTest { assertTrue(oper.operator.isAlive()); } - @Test - public void testMakeContext() { - oper.makeContext(); - - assertTrue(oper.enrichment.isEmpty()); - - assertSame(BasicBidirectionalTopicOperation.REQ_ID, oper.event.getRequestId()); - assertSame(oper.enrichment, oper.event.getAai()); - - assertSame(oper.event, oper.context.getEvent()); - - assertSame(oper.context, oper.params.getContext()); - assertSame(oper.service, oper.params.getActorService()); - assertSame(oper.executor, oper.params.getExecutor()); - assertEquals(ACTOR, oper.params.getActor()); - assertEquals(OPERATION, oper.params.getOperation()); - assertEquals(BasicBidirectionalTopicOperation.TARGET_ENTITY, oper.params.getTargetEntity()); - } - - @Test - public void testMakePayload() { - assertNull(oper.makePayload()); - } - @Test public void testInitOperator() { oper.initOperator(); @@ -117,11 +92,6 @@ public class BasicBidirectionalTopicOperationTest { assertSame(oper.topicParams, oper.operator.getParams()); } - @Test - public void testMakeEnrichment() { - assertTrue(oper.makeEnrichment().isEmpty()); - } - @Test public void testProvideResponse() { String response = "{\"input\": 10}"; diff --git a/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicHttpOperationTest.java b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicHttpOperationTest.java index 096b8b80d..c463d6d49 100644 --- a/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicHttpOperationTest.java +++ b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicHttpOperationTest.java @@ -71,25 +71,6 @@ public class BasicHttpOperationTest { assertTrue(oper.operator.isAlive()); } - @Test - public void testMakeContext() { - oper.makeContext(); - - assertTrue(oper.enrichment.isEmpty()); - - assertSame(BasicHttpOperation.REQ_ID, oper.event.getRequestId()); - assertSame(oper.enrichment, oper.event.getAai()); - - assertSame(oper.event, oper.context.getEvent()); - - assertSame(oper.context, oper.params.getContext()); - assertSame(oper.service, oper.params.getActorService()); - assertSame(oper.executor, oper.params.getExecutor()); - assertEquals(ACTOR, oper.params.getActor()); - assertEquals(OPERATION, oper.params.getOperation()); - assertEquals(BasicHttpOperation.TARGET_ENTITY, oper.params.getTargetEntity()); - } - @Test public void testInitOperator() throws Exception { oper.initOperator(); @@ -102,11 +83,6 @@ public class BasicHttpOperationTest { assertEquals(BasicHttpOperation.PATH, oper.operator.getPath()); } - @Test - public void testMakeEnrichment() { - assertTrue(oper.makeEnrichment().isEmpty()); - } - @Test public void testProvideResponse() throws Exception { InvocationCallback cb = new InvocationCallback<>() { diff --git a/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicOperationTest.java b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicOperationTest.java new file mode 100644 index 000000000..ee0e5cee4 --- /dev/null +++ b/models-interactions/model-actors/actor.test/src/test/java/org/onap/policy/controlloop/actor/test/BasicOperationTest.java @@ -0,0 +1,100 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. 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.policy.controlloop.actor.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.util.Map; +import org.junit.Before; +import org.junit.Test; +import org.onap.policy.common.utils.coder.CoderException; +import org.onap.policy.common.utils.resources.ResourceUtils; +import org.onap.policy.controlloop.actorserviceprovider.Util; + +public class BasicOperationTest { + private static final String ACTOR = "my-actor"; + private static final String OPERATION = "my-operation"; + + private BasicOperation oper; + + + @Before + public void setUp() throws Exception { + oper = new BasicHttpOperation<>(ACTOR, OPERATION); + oper.setUp(); + } + + @Test + public void testBasicHttpOperation() { + oper = new BasicHttpOperation<>(); + assertEquals(BasicHttpOperation.DEFAULT_ACTOR, oper.actorName); + assertEquals(BasicHttpOperation.DEFAULT_OPERATION, oper.operationName); + } + + @Test + public void testBasicHttpOperationStringString() { + assertEquals(ACTOR, oper.actorName); + assertEquals(OPERATION, oper.operationName); + } + + @Test + public void testSetUp() throws Exception { + assertNotNull(oper.future); + assertNotNull(oper.context); + assertNotNull(oper.outcome); + assertNotNull(oper.executor); + } + + @Test + public void testMakeContext() { + oper.makeContext(); + + assertTrue(oper.enrichment.isEmpty()); + + assertSame(BasicHttpOperation.REQ_ID, oper.event.getRequestId()); + assertSame(oper.enrichment, oper.event.getAai()); + + assertSame(oper.event, oper.context.getEvent()); + + assertSame(oper.context, oper.params.getContext()); + assertSame(oper.service, oper.params.getActorService()); + assertSame(oper.executor, oper.params.getExecutor()); + assertEquals(ACTOR, oper.params.getActor()); + assertEquals(OPERATION, oper.params.getOperation()); + assertEquals(BasicHttpOperation.TARGET_ENTITY, oper.params.getTargetEntity()); + } + + @Test + public void testMakeEnrichment_testMakePayload() { + assertTrue(oper.makeEnrichment().isEmpty()); + assertNull(oper.makePayload()); + } + + @Test + public void testVerifyRequest() throws CoderException { + Map map = Util.translateToMap("", ResourceUtils.getResourceAsString("actual.json")); + oper.verifyRequest("expected.json", map, "svc-request-id", "vnf-id"); + } +} diff --git a/models-interactions/model-actors/actor.test/src/test/resources/actual.json b/models-interactions/model-actors/actor.test/src/test/resources/actual.json new file mode 100644 index 000000000..c551cd05d --- /dev/null +++ b/models-interactions/model-actors/actor.test/src/test/resources/actual.json @@ -0,0 +1,19 @@ + + +{ + "input": { + "sdnc-request-header": { + "svc-request-id": "actual-value", + "svc-action": "update" + }, + "request-information": { + "request-action": "SdwanBandwidthChange" + }, + "service-information": { + "service-instance-id": "my-service" + }, + "vnf-information": { + "vnf-id": "actual-value" + } + } +} diff --git a/models-interactions/model-actors/actor.test/src/test/resources/expected.json b/models-interactions/model-actors/actor.test/src/test/resources/expected.json new file mode 100644 index 000000000..85fbc9957 --- /dev/null +++ b/models-interactions/model-actors/actor.test/src/test/resources/expected.json @@ -0,0 +1,19 @@ +{ + "input": { + "sdnc-request-header": { + "svc-request-id": "expected-value", + "svc-action": "update" + }, + "request-information": { + "request-action": "SdwanBandwidthChange" + }, + "service-information": { + "service-instance-id": "my-service" + }, + "vnf-information": { + "vnf-id": "expected-value" + } + } +} + + -- cgit 1.2.3-korg