eventReceiver.receiveEvent(new Properties(), jmsMessage);
} catch (final Exception e) {
final String errorMessage = "failed to receive message from JMS";
- LOGGER.warn(errorMessage, e);
throw new ApexEventRuntimeException(errorMessage, e);
}
}
// Send the event into Apex
eventReceiver.receiveEvent(executionId, new Properties(), event);
} catch (final Exception e) {
- final String errorMessage = "error receiving events on event consumer " + name + ", " + e.getMessage();
+ final String errorMessage = "error receiving events on event consumer " + name;
LOGGER.warn(errorMessage, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
- .entity("{'errorMessage', '" + errorMessage + "'}").build();
+ .entity("{'errorMessage', '" + errorMessage + ", " + e.getMessage() + "'}").build();
}
final SynchronousEventCache synchronousEventCache =
final JAXBElement<XMLApexEvent> rootElement = unmarshaller.unmarshal(source, XMLApexEvent.class);
xmlApexEvent = rootElement.getValue();
} catch (final JAXBException e) {
- LOGGER.warn("Unable to unmarshal Apex XML event\n" + xmlEventString, e);
throw new ApexEventException("Unable to unmarshal Apex XML event\n" + xmlEventString, e);
}
try {
eventList.add(yamlMap2ApexEvent(eventName, yamlMap));
} catch (final Exception e) {
- final String errorString = "Failed to unmarshal YAML event: " + e.getMessage() + ", event="
- + yamlEventString;
- LOGGER.warn(errorString, e);
- throw new ApexEventException(errorString, e);
+ throw new ApexEventException("Failed to unmarshal YAML event, event="
+ + yamlEventString, e);
}
// Return the list of events we have unmarshalled
package org.onap.policy.apex.plugins.event.protocol.yaml;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
converter.init(pars);
assertThatThrownBy(() -> converter.toApexEvent("NonExistantEvent", ""))
- .hasMessageContaining("Failed to unmarshal YAML event: an event definition for an event named "
- + "\"NonExistantEvent\"");
+ .hasMessageContaining("Failed to unmarshal YAML event")
+ .getCause().hasMessageStartingWith("an event definition for an event named \"NonExistantEvent\"");
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", null))
.hasMessage("event processing failed, event is null");
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", 1))
.hasMessage("error converting event \"1\" to a string");
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", ""))
- .hasMessageContaining("Field \"doubleValue\" is missing");
+ .getCause().hasMessageContaining("Field \"doubleValue\" is missing");
assertThatThrownBy(() -> converter.fromApexEvent(null))
.hasMessage("event processing failed, Apex event is null");
ApexEvent apexEvent = new ApexEvent(testEvent.getKey().getName(), testEvent.getKey().getVersion(),
assertThatThrownBy(() -> converter.fromApexEvent(apexEvent))
.hasMessageContaining("error parsing TestEvent:0.0.1 event to Json. Field \"intValue\" is missing");
assertThatThrownBy(() -> converter.toApexEvent(null, ""))
- .hasMessageContaining("Failed to unmarshal YAML event: event received without mandatory parameter"
- + " \"name\"");
+ .hasMessageStartingWith("Failed to unmarshal YAML event")
+ .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\"");
pars.setNameAlias("TheNameField");
assertThatThrownBy(() -> converter.toApexEvent(null, ""))
- .hasMessageContaining("Failed to unmarshal YAML event: event received without mandatory parameter"
- + " \"name\"");
+ .hasMessageStartingWith("Failed to unmarshal YAML event")
+ .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\"");
apexEvent.put("intValue", 123);
apexEvent.remove("stringValue");
pars.setNameSpaceAlias("stringValue");
final String yamlInputStringCopy = yamlInputString;
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", yamlInputStringCopy))
- .hasMessageContaining("Failed to unmarshal YAML event: namespace \"org.some.other.namespace\" on event");
+ .hasMessageStartingWith("Failed to unmarshal YAML event")
+ .getCause().hasMessageStartingWith("namespace \"org.some.other.namespace\" on event");
yamlInputString = "doubleValue: 123.45\n" + "intValue: 123\n"
+ "stringValue: org.onap.policy.apex.plugins.event.protocol.yaml";
eventList = converter.toApexEvent("TestEvent", yamlInputString);
pars.setSourceAlias(null);
pars.setTargetAlias("intValue");
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", yamlInputStringCopy))
- .hasMessageContaining("Failed to unmarshal YAML event: field \"target\" with type \"java.lang.Integer\"");
+ .hasMessageStartingWith("Failed to unmarshal YAML event")
+ .getCause().hasMessageStartingWith("field \"target\" with type \"java.lang.Integer\"");
pars.setTargetAlias(null);
assertThatThrownBy(() -> converter.toApexEvent("TestEvent", "doubleValue: 123.45\n" + "intValue: ~\n"
- + "stringValue: MyString"))
- .hasMessageContaining("mandatory field \"intValue\" is missing");
+ + "stringValue: MyString")).getCause().hasMessageStartingWith("mandatory field \"intValue\" is missing");
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
eventList.add(jsonStringApexEvent(eventName, jsonEventString));
}
} catch (final Exception e) {
- final String errorString = "Failed to unmarshal JSON event: " + e.getMessage() + ", event="
- + jsonEventString;
- LOGGER.warn(errorString, e);
- throw new ApexEventException(errorString, e);
+ throw new ApexEventException("Failed to unmarshal JSON event, event=" + jsonEventString, e);
}
// Return the list of events we have unmarshalled
break;
} catch (ApexException e) {
if (!iterator.hasNext()) {
- final String errorMessage = "Error while converting event into an ApexEvent for " + name + ": "
- + e.getMessage() + ", Event=" + event;
+ final String errorMessage = "Error while converting event into an ApexEvent for " + name;
throw new ApexEventException(errorMessage, e);
}
}
assertThatThrownBy(() -> converter.toApexEvent(null, 1))
.hasMessage("error converting event \"1\" to a string");
assertThatThrownBy(() -> converter.toApexEvent(null, "[{\"aKey\": 1},{\"aKey\": 2}]"))
- .hasMessage("Failed to unmarshal JSON event: event received without mandatory parameter \"name\" "
- + "on configuration or on event, event=[{\"aKey\": 1},{\"aKey\": 2}]");
+ .hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\" "
+ + "on configuration or on event");
assertThatThrownBy(() -> converter.toApexEvent(null, "[1,2,3]"))
- .hasMessage("Failed to unmarshal JSON event: incoming event ([1,2,3]) is a JSON object array "
- + "containing an invalid object 1.0, event=[1,2,3]");
+ .hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("incoming event ([1,2,3]) is a JSON object array "
+ + "containing an invalid object 1.0");
assertThatThrownBy(() -> converter.fromApexEvent(null))
.hasMessage("event processing failed, Apex event is null");
assertThatThrownBy(() -> converter.fromApexEvent(new ApexEvent("Event", "0.0.1", "a.name.space",
logger.debug("input event\n" + apexEventJsonStringIn);
assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoEvent", apexEventJsonStringIn))
- .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoEvent:0.0.1 event from Json. "
- + "Field BAD_POJO_PAR not found on POJO event definition.");
+ .hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("error parsing PojoEvent:0.0.1 event from Json. "
+ + "Field BAD_POJO_PAR not found on POJO event definition.");
pars.setPojoField("POJO_PAR");
assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoNoFieldEvent", apexEventJsonStringIn))
- .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoNoFieldEvent:0.0.1 "
- + "event from Json, Field POJO_PAR not found, no fields defined on event.");
+ .hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("error parsing PojoNoFieldEvent:0.0.1 "
+ + "event from Json, Field POJO_PAR not found, no fields defined on event.");
assertThatThrownBy(() -> jsonEventConverter.toApexEvent("PojoTooManyFieldsEvent", apexEventJsonStringIn))
- .hasMessageContaining("Failed to unmarshal JSON event: error parsing PojoTooManyFieldsEvent:0.0.1"
- + " event from Json, Field POJO_PAR, one and only one field may be defined on a "
- + "POJO event definition.");
+ .hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("error parsing PojoTooManyFieldsEvent:0.0.1"
+ + " event from Json, Field POJO_PAR, one and only one field may be defined on a "
+ + "POJO event definition.");
}
}
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoName();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: event received without "
- + "mandatory parameter \"name\" ");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("event received without mandatory parameter \"name\" ");
assertThatThrownBy(() -> {
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadName();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: field \"name\" with value \"%%%%\" is invalid");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("field \"name\" with value \"%%%%\" is invalid");
assertThatThrownBy(() -> {
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExName();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: an event definition for an event named \"I_DONT_EXI");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("an event definition for an event named \"I_DONT_EXI");
String apexEventJsonStringIn1 = null;
apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoVersion();
ApexEvent event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0);
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadVersion();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: field \"version\" with value \"#####\" is invalid");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("field \"version\" with value \"#####\" is invalid");
assertThatThrownBy(() -> {
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExVersion();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: an event definition for an event named "
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("an event definition for an event named "
+ "\"BasicEvent\" with version \"1.2.3\" not found in Apex model");
apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoNamespace();
event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0);
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadNamespace();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: " + "field \"nameSpace\" with value \"hello.&&&&\" "
- + "is invalid");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("field \"nameSpace\" with value \"hello.&&&&\" is invalid");
assertThatThrownBy(() -> {
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventNoExNamespace();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: namespace \"pie.in.the.sky\" "
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("namespace \"pie.in.the.sky\" "
+ "on event \"BasicEvent\" does not" + " match namespace \"org.onap.policy.apex.events\" "
+ "for that event in the Apex model");
apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoSource();
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadSource();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: field \"source\" with value \"%!@**@!\" is invalid");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("field \"source\" with value \"%!@**@!\" is invalid");
apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNoTarget();
event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0);
assertEquals("target", event.getTarget());
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventBadTarget();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: field \"target\" with value \"KNIO(*S)A(S)D\" "
- + "is invalid");
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("field \"target\" with value \"KNIO(*S)A(S)D\" is invalid");
assertThatThrownBy(() -> {
String apexEventJsonStringIn = null;
apexEventJsonStringIn = SupportJsonEventGenerator.jsonEventMissingFields();
jsonEventConverter.toApexEvent(null, apexEventJsonStringIn);
- }).hasMessageContaining("Failed to unmarshal JSON event: error parsing BasicEvent:0.0.1 "
+ }).hasMessageStartingWith("Failed to unmarshal JSON event")
+ .getCause().hasMessageStartingWith("error parsing BasicEvent:0.0.1 "
+ "event from Json. Field \"intPar\" is missing, but is mandatory.");
apexEventJsonStringIn1 = SupportJsonEventGenerator.jsonEventNullFields();
event = jsonEventConverter.toApexEvent(null, apexEventJsonStringIn1).get(0);