X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-actors%2Factor.sdnc%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Fsdnc%2FBandwidthOnDemandOperationTest.java;h=4619fee5068363fd08617059b4660d4057e4c60e;hb=e3938e43b8a1f02f74368ecb75c38530285feac0;hp=f80299f93f4e7e3de8d636462a42b13f290a32bc;hpb=00e48acdc51fa2a64b0f7fdc221c28308d7f214d;p=policy%2Fmodels.git diff --git a/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BandwidthOnDemandOperationTest.java b/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BandwidthOnDemandOperationTest.java index f80299f93..4619fee50 100644 --- a/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BandwidthOnDemandOperationTest.java +++ b/models-interactions/model-actors/actor.sdnc/src/test/java/org/onap/policy/controlloop/actor/sdnc/BandwidthOnDemandOperationTest.java @@ -2,7 +2,8 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,24 +22,25 @@ package org.onap.policy.controlloop.actor.sdnc; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.List; -import java.util.Map; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; -import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; +import org.onap.policy.controlloop.actorserviceprovider.OperationResult; import org.onap.policy.controlloop.actorserviceprovider.parameters.HttpConfig; import org.onap.policy.controlloop.actorserviceprovider.parameters.HttpParams; -import org.onap.policy.controlloop.policy.PolicyResult; -import org.onap.policy.sdnc.SdncRequest; import org.onap.policy.sdnc.SdncResponse; +@RunWith(MockitoJUnitRunner.class) public class BandwidthOnDemandOperationTest extends BasicSdncOperation { private static final String MY_SERVICE = "my-service"; private static final String MY_VNF = "my-vnf"; @@ -64,6 +66,7 @@ public class BandwidthOnDemandOperationTest extends BasicSdncOperation { /** * Set up. */ + @Override @Before public void setUp() throws Exception { super.setUp(); @@ -98,7 +101,7 @@ public class BandwidthOnDemandOperationTest extends BasicSdncOperation { .path("GENERIC-RESOURCE-API:vf-module-topology-operation").build(); config = new HttpConfig(blockingExecutor, opParams, HttpClientFactoryInstance.getClientFactory()); - params = params.toBuilder().retry(0).timeoutSec(5).executor(blockingExecutor).preprocessed(true).build(); + params = params.toBuilder().retry(0).timeoutSec(5).executor(blockingExecutor).build(); oper = new BandwidthOnDemandOperation(params, config); oper.setProperty(OperationProperties.ENRICHMENT_SERVICE_ID, MY_SERVICE); @@ -107,48 +110,63 @@ public class BandwidthOnDemandOperationTest extends BasicSdncOperation { oper.setProperty(OperationProperties.ENRICHMENT_VNF_ID, MY_VNF); outcome = oper.start().get(); - assertEquals(PolicyResult.SUCCESS, outcome.getResult()); + assertEquals(OperationResult.SUCCESS, outcome.getResult()); assertTrue(outcome.getResponse() instanceof SdncResponse); } @Test public void testMakeRequest() throws Exception { - oper.generateSubRequestId(1); - SdncRequest request = oper.makeRequest(1); - assertEquals(MY_SERVICE, request.getNsInstanceId()); - assertEquals(REQ_ID, request.getRequestId()); - assertEquals("/my-path/", request.getUrl()); - assertEquals(oper.getSubRequestId(), request.getHealRequest().getRequestHeaderInfo().getSvcRequestId()); - - verifyRequest("bod.json", request, IGNORE_FIELDS); - - verifyMissing(BandwidthOnDemandOperation.SERVICE_ID_KEY, "service", BandwidthOnDemandOperation::new); + oper.setProperty(OperationProperties.ENRICHMENT_SERVICE_ID, MY_SERVICE); + oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH, MY_BANDWIDTH); + oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH_CHANGE_TIME, MY_CHANGE_TIME); + oper.setProperty(OperationProperties.ENRICHMENT_VNF_ID, MY_VNF); - // perform the operation - makeContext(); verifyRequest("bod.json", verifyOperation(oper), IGNORE_FIELDS); } + /* + * Tests makeRequest() when a property is missing. + */ + @Test - public void testMakeRequestViaProperties() throws Exception { - // clear the enrichment data and remake the operation - event.setAai(null); - context = new ControlLoopEventContext(event); - params = params.toBuilder().context(context).build(); + public void testMakeRequestMissingBandwidth() throws Exception { oper = new BandwidthOnDemandOperation(params, config); + oper.setProperty(OperationProperties.ENRICHMENT_SERVICE_ID, MY_SERVICE); + oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH_CHANGE_TIME, MY_CHANGE_TIME); + oper.setProperty(OperationProperties.ENRICHMENT_VNF_ID, MY_VNF); + + oper.generateSubRequestId(1); + outcome.setSubRequestId(oper.getSubRequestId()); + + assertThatIllegalStateException().isThrownBy(() -> oper.makeRequest(1)) + .withMessageContaining("missing bandwidth from enrichment data"); + } + @Test + public void testMakeRequestMissingBandwidthChangeTime() throws Exception { + oper = new BandwidthOnDemandOperation(params, config); oper.setProperty(OperationProperties.ENRICHMENT_SERVICE_ID, MY_SERVICE); oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH, MY_BANDWIDTH); - oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH_CHANGE_TIME, MY_CHANGE_TIME); oper.setProperty(OperationProperties.ENRICHMENT_VNF_ID, MY_VNF); - verifyRequest("bod.json", verifyOperation(oper), IGNORE_FIELDS); + oper.generateSubRequestId(1); + outcome.setSubRequestId(oper.getSubRequestId()); + + assertThatIllegalStateException().isThrownBy(() -> oper.makeRequest(1)) + .withMessageContaining("missing bandwidth change time from enrichment data"); } - @Override - protected Map makeEnrichment() { - return Map.of(BandwidthOnDemandOperation.SERVICE_ID_KEY, MY_SERVICE, BandwidthOnDemandOperation.BANDWIDTH, - MY_BANDWIDTH, BandwidthOnDemandOperation.BANDWIDTH_CHANGE_TIME, MY_CHANGE_TIME, - BandwidthOnDemandOperation.VNF_ID, MY_VNF); + @Test + public void testMakeRequestMissingVnfId() throws Exception { + oper = new BandwidthOnDemandOperation(params, config); + oper.setProperty(OperationProperties.ENRICHMENT_SERVICE_ID, MY_SERVICE); + oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH, MY_BANDWIDTH); + oper.setProperty(OperationProperties.ENRICHMENT_BANDWIDTH_CHANGE_TIME, MY_CHANGE_TIME); + + oper.generateSubRequestId(1); + outcome.setSubRequestId(oper.getSubRequestId()); + + assertThatIllegalStateException().isThrownBy(() -> oper.makeRequest(1)) + .withMessageContaining("missing VNF id from enrichment data"); } }