package org.onap.policy.controlloop.actor.sdnr;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
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.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.Arrays;
+import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.onap.policy.controlloop.ControlLoopResponse;
import org.onap.policy.controlloop.actor.test.BasicBidirectionalTopicOperation;
import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome;
+import org.onap.policy.controlloop.actorserviceprovider.OperationProperties;
import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext;
import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperation.Status;
import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicConfig;
assertEquals(DEFAULT_OPERATION, operation.getName());
}
+ @Test
+ public void testGetPropertyNames() {
+ assertThat(operation.getPropertyNames()).isEqualTo(List.of(OperationProperties.EVENT_PAYLOAD));
+ }
+
@Test
public void testMakeRequest() {
operation.generateSubRequestId(1);
outcome = operation.start().get();
assertEquals(PolicyResult.SUCCESS, outcome.getResult());
-
- ControlLoopResponse clresp = outcome.getControlLoopResponse();
- assertNotNull(clresp);
-
- assertEquals(DEFAULT_ACTOR, clresp.getFrom());
- assertEquals("DCAE", clresp.getTarget());
- assertEquals(CL_NAME, clresp.getClosedLoopControlName());
- assertEquals(EVENT_POLICY_NAME, clresp.getPolicyName());
- assertEquals(EVENT_POLICY_VERSION, clresp.getPolicyVersion());
- assertEquals(EVENT_VERSION, clresp.getVersion());
- assertEquals(REQ_ID, clresp.getRequestId());
- assertNotNull(clresp.getPayload());
+ assertTrue(outcome.getResponse() instanceof PciMessage);
}
@Test
assertFalse(future.isDone());
assertTrue(guardStarted.get());
- future2.complete(params.makeOutcome());
+ future2.complete(params.makeOutcome(null));
assertTrue(executor.runAll(100));
assertTrue(future3.isDone());
assertEquals(PolicyResult.SUCCESS, future3.get().getResult());
checkOutcome();
}
+ @Test
+ public void testGetEventPayload() {
+ // in neither property nor event
+ assertNull(operation.getEventPayload());
+
+ // only in event
+ event.setPayload("valueA2");
+ assertEquals("valueA2", operation.getEventPayload());
+
+ // both - should choose the property
+ operation.setProperty(OperationProperties.EVENT_PAYLOAD, "valueB");
+ assertEquals("valueB", operation.getEventPayload());
+
+ // both - should choose the property, even if it's null
+ operation.setProperty(OperationProperties.EVENT_PAYLOAD, null);
+ assertNull(operation.getEventPayload());
+ }
+
protected void checkOutcome() {
assertSame(outcome, operation.setOutcome(outcome, PolicyResult.SUCCESS, response));
assertEquals(PolicyResult.SUCCESS, outcome.getResult());
assertNotNull(outcome.getMessage());
+ assertSame(response, outcome.getResponse());
}
}