LOG4J2-2580
diff --git a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/catalog/CatalogManagerTest.java b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/catalog/CatalogManagerTest.java
index e63a080..fc36f66 100644
--- a/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/catalog/CatalogManagerTest.java
+++ b/log4j-audit/log4j-audit-api/src/test/java/org/apache/logging/log4j/audit/catalog/CatalogManagerTest.java
@@ -19,17 +19,24 @@
import org.apache.logging.log4j.catalog.api.Event;
import org.junit.Test;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
*
*/
public class CatalogManagerTest {
-
@Test
public void testCatalog() throws Exception {
CatalogManager manager = new CatalogManagerImpl(new StringCatalogReader());
Event event = manager.getEvent("transfer");
assertNotNull("No transfer event", event);
+ assertEquals("{\"name\" : \"transfer\", \"displayName\" : \"Transfer\", \"description\" : \"Transfer between accounts\", " +
+ "\"attributes\" : [{\"name\" : \"toAccount\", \"required\" : true}, {\"name\" : \"fromAccount\", \"required\" : true}, {\"name\" : \"amount\", \"required\" : true}]}",
+ event.toString());
+
+ Event login = manager.getEvent("login");
+ assertNotNull("No login event", login);
+ assertEquals("{\"name\" : \"login\", \"displayName\" : \"Login\", \"description\" : \"User Login\", \"attributes\" : []}", login.toString());
}
-}
+}
\ No newline at end of file
diff --git a/log4j-catalog/log4j-catalog-api/src/main/java/org/apache/logging/log4j/catalog/api/Event.java b/log4j-catalog/log4j-catalog-api/src/main/java/org/apache/logging/log4j/catalog/api/Event.java
index b6b0b01..8c73819 100644
--- a/log4j-catalog/log4j-catalog-api/src/main/java/org/apache/logging/log4j/catalog/api/Event.java
+++ b/log4j-catalog/log4j-catalog-api/src/main/java/org/apache/logging/log4j/catalog/api/Event.java
@@ -175,14 +175,16 @@
StringBuilder sb = new StringBuilder();
sb.append("{\"name\" : \"").append(name).append("\", \"displayName\" : \"").append(displayName).append("\"");
sb.append(", \"description\" : \"").append(description).append("\", \"attributes\" : [");
- boolean first = true;
- for (EventAttribute attribute : attributes) {
- if (!first) {
- sb.append(", ");
- } else {
- first = false;
+ if (attributes != null) {
+ boolean first = true;
+ for (EventAttribute attribute : attributes) {
+ if (!first) {
+ sb.append(", ");
+ } else {
+ first = false;
+ }
+ sb.append("{\"name\" : \"").append(attribute.getName()).append("\", \"required\" : ").append(attribute.isRequired()).append("}");
}
- sb.append("{\"name\" : \"").append(attribute.getName()).append("\", \"required\" : ").append(attribute.isRequired()).append("}");
}
sb.append("]}");
return sb.toString();