Fixing issue with policy chaining after CDS request failure in APEX 18/109818/2
authora.sreekumar <ajith.sreekumar@bell.ca>
Fri, 3 Jul 2020 10:08:04 +0000 (11:08 +0100)
committera.sreekumar <ajith.sreekumar@bell.ca>
Fri, 3 Jul 2020 21:19:19 +0000 (22:19 +0100)
Change-Id: Id27343c21caaf69e30ee13076a2963c256fab55d
Issue-ID: POLICY-2687
Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/main/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducer.java
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-grpc/src/test/java/org/onap/policy/apex/plugins/event/carrier/grpc/ApexGrpcProducerTest.java

index 2e47362..6046a31 100644 (file)
@@ -1,6 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2020 Nordix Foundation.
+ *  Modifications Copyright (C) 2020 Bell Canada. 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.
@@ -124,9 +125,8 @@ public class ApexGrpcProducer extends ApexPluginsEventProducer implements CdsPro
         }
 
         if (!EventType.EVENT_COMPONENT_EXECUTED.equals(cdsResponse.get().getStatus().getEventType())) {
-            String errorMessage = "Sending event \"" + eventName + "\" by " + this.name + " to CDS failed, "
-                + "response from CDS:\n" + cdsResponse.get();
-            throw new ApexEventRuntimeException(errorMessage);
+            LOGGER.error("Sending event \"{}\" by {} to CDS failed. Response from CDS:\n{}", eventName, this.name,
+                cdsResponse.get());
         }
 
         consumeEvent(executionId, cdsResponse.get());
index 53d191e..13ecaba 100644 (file)
@@ -1,6 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2020 Nordix Foundation.
+ *  Modifications Copyright (C) 2020 Bell Canada. 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.
@@ -20,7 +21,6 @@
 
 package org.onap.policy.apex.plugins.event.carrier.grpc;
 
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.spy;
 
 import java.nio.file.Files;
@@ -37,6 +37,7 @@ import org.onap.policy.cds.client.CdsProcessorGrpcClient;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ApexGrpcProducerTest {
+    private static final String PRODUCER_NAME = "TestApexGrpcProducer";
     private static final String HOST = "localhost";
     @Mock
     private CdsProcessorGrpcClient grpcClient;
@@ -56,30 +57,30 @@ public class ApexGrpcProducerTest {
 
     @Test(expected = ApexEventException.class)
     public void testInit_fail() throws ApexEventException {
-        apexGrpcProducer.init("TestApexGrpcProducer", new EventHandlerParameters());
+        apexGrpcProducer.init(PRODUCER_NAME, new EventHandlerParameters());
     }
 
     @Test
     public void testInit_pass() {
         // should not throw an exception
-        Assertions.assertThatCode(() -> apexGrpcProducer.init("TestApexGrpcProducer", eventHandlerParameters))
+        Assertions.assertThatCode(() -> apexGrpcProducer.init(PRODUCER_NAME, eventHandlerParameters))
             .doesNotThrowAnyException();
     }
 
     @Test
     public void testStop() throws ApexEventException {
-        apexGrpcProducer.init("TestApexGrpcProducer", eventHandlerParameters);
+        apexGrpcProducer.init(PRODUCER_NAME, eventHandlerParameters);
         // should not throw an exception
         Assertions.assertThatCode(() -> apexGrpcProducer.stop()).doesNotThrowAnyException();
     }
 
     @Test
     public void testSendEvent() throws ApexEventException {
-        apexGrpcProducer.init("TestApexGrpcProducer", eventHandlerParameters);
-        assertThatThrownBy(() -> {
-            apexGrpcProducer.sendEvent(123, null, "grpcEvent",
-                Files.readString(Paths.get("src/test/resources/executionServiceInputEvent.json")));
-        }).hasMessageContaining("UNAVAILABLE: io exception");
+        apexGrpcProducer.init(PRODUCER_NAME, eventHandlerParameters);
+        Assertions
+            .assertThatCode(() -> apexGrpcProducer.sendEvent(123, null, "grpcEvent",
+                Files.readString(Paths.get("src/test/resources/executionServiceInputEvent.json"))))
+            .doesNotThrowAnyException();
     }
 
     private void populateEventHandlerParameters(String host, int timeout) {