summaryrefslogtreecommitdiffstats
path: root/models-interactions/model-actors/actor.sdnr/src
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-02-05 11:13:31 -0500
committerJim Hahn <jrh3@att.com>2021-02-05 12:52:50 -0500
commit296a26edcc3102602b494d1be9c23e0265b09f66 (patch)
tree547b0aef999a7d51ca2d59dd860ce8b49504bb21 /models-interactions/model-actors/actor.sdnr/src
parent23dec48efae039ff961ea68358ab69d80a81531b (diff)
Give better messages than NPE for missing data
When data is not available to actor operations, an NPE is generally thrown. Modified the code to provide more info about what is missing than simply NPE. Issue-ID: POLICY-2913 Change-Id: I37b6eadd966e0693508a6d552b7db4edf5410018 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-interactions/model-actors/actor.sdnr/src')
-rw-r--r--models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperation.java4
-rw-r--r--models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperationTest.java19
2 files changed, 20 insertions, 3 deletions
diff --git a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperation.java b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperation.java
index 14f77a687..ebfbaba68 100644
--- a/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperation.java
+++ b/models-interactions/model-actors/actor.sdnr/src/main/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperation.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* SdnrOperation
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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.
@@ -150,7 +150,7 @@ public class SdnrOperation extends BidirectionalTopicOperation<PciMessage, PciMe
requestCommonHeader.setSubRequestId(subRequestId);
sdnrRequest.setCommonHeader(requestCommonHeader);
- sdnrRequest.setPayload(getProperty(OperationProperties.EVENT_PAYLOAD));
+ sdnrRequest.setPayload(getRequiredProperty(OperationProperties.EVENT_PAYLOAD, "event payload"));
sdnrRequest.setAction(params.getOperation());
/*
diff --git a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperationTest.java b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperationTest.java
index 3a8f0b7e1..ba3a6005a 100644
--- a/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperationTest.java
+++ b/models-interactions/model-actors/actor.sdnr/src/test/java/org/onap/policy/controlloop/actor/sdnr/SdnrOperationTest.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* SdnrOperation
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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.
@@ -21,6 +21,7 @@
package org.onap.policy.controlloop.actor.sdnr;
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.assertNotNull;
import static org.junit.Assert.assertSame;
@@ -67,6 +68,7 @@ public class SdnrOperationTest extends BasicSdnrOperation {
super.setUp();
operation = new SdnrOperation(params, config);
+ operation.setProperty(OperationProperties.EVENT_PAYLOAD, "my payload");
}
@After
@@ -106,6 +108,20 @@ public class SdnrOperationTest extends BasicSdnrOperation {
assertEquals(params.getRequestId(), header.getRequestId());
}
+ /**
+ * Tests makeRequest() when a property is missing.
+ */
+ @Test
+ public void testMakeRequestMissingProperty() throws Exception {
+ operation = new SdnrOperation(params, config);
+
+ operation.generateSubRequestId(1);
+ outcome.setSubRequestId(operation.getSubRequestId());
+
+ assertThatIllegalStateException().isThrownBy(() -> operation.makeRequest(1))
+ .withMessageContaining("missing event payload");
+ }
+
@Test
public void testGetExpectedKeyValues() {
operation.generateSubRequestId(1);
@@ -127,6 +143,7 @@ public class SdnrOperationTest extends BasicSdnrOperation {
params = params.toBuilder().retry(0).timeoutSec(5).executor(blockingExecutor).build();
operation = new SdnrOperation(params, config);
+ operation.setProperty(OperationProperties.EVENT_PAYLOAD, "my payload");
outcome = operation.start().get();
assertEquals(OperationResult.SUCCESS, outcome.getResult());