From c0293aeb4aed0c2fe20b3926707c01715268cc31 Mon Sep 17 00:00:00 2001 From: Andrey Dyachkov Date: Wed, 10 Jan 2018 15:17:17 +0100 Subject: [PATCH] aruha-1449: extened event log kpi --- .../nakadi/service/EventTypeService.java | 24 ++++++++++++++----- .../nakadi/service/EventTypeServiceTest.java | 12 +++++++--- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/zalando/nakadi/service/EventTypeService.java b/src/main/java/org/zalando/nakadi/service/EventTypeService.java index cfda3dcd67..d42a5034ff 100644 --- a/src/main/java/org/zalando/nakadi/service/EventTypeService.java +++ b/src/main/java/org/zalando/nakadi/service/EventTypeService.java @@ -146,7 +146,16 @@ public void create(final EventTypeBase eventType) throws TopicCreationException, nakadiKpiPublisher.publish(etLogEventType, () -> new JSONObject() .put("event_type", eventType.getName()) .put("status", "created") - .put("category", eventType.getCategory())); + .put("category", eventType.getCategory()) + .put("authz", identifyAuthzState(eventType)) + .put("compatibility_mode", eventType.getCompatibilityMode())); + } + + private String identifyAuthzState(final EventTypeBase eventType) { + if (eventType.getAuthorization() == null) { + return "disabled"; + } + return "enabled"; } private void setDefaultEventTypeOptions(final EventTypeBase eventType) { @@ -163,7 +172,7 @@ private void setDefaultEventTypeOptions(final EventTypeBase eventType) { public void delete(final String eventTypeName) throws EventTypeDeletionException, AccessDeniedException, NoEventTypeException, ConflictException, ServiceTemporarilyUnavailableException { Closeable deletionCloser = null; - final EventCategory category; + final EventType eventType; Multimap topicsToDelete = null; try { deletionCloser = timelineSync.workWithEventType(eventTypeName, nakadiSettings.getTimelineWaitTimeoutMs()); @@ -172,8 +181,7 @@ public void delete(final String eventTypeName) throws EventTypeDeletionException if (!eventTypeOpt.isPresent()) { throw new NoEventTypeException("EventType \"" + eventTypeName + "\" does not exist."); } - final EventType eventType = eventTypeOpt.get(); - category = eventType.getCategory(); + eventType = eventTypeOpt.get(); authorizationValidator.authorizeEventTypeAdmin(eventType); @@ -220,7 +228,9 @@ public void delete(final String eventTypeName) throws EventTypeDeletionException nakadiKpiPublisher.publish(etLogEventType, () -> new JSONObject() .put("event_type", eventTypeName) .put("status", "deleted") - .put("category", category)); + .put("category", eventType.getCategory()) + .put("authz", identifyAuthzState(eventType)) + .put("compatibility_mode", eventType.getCompatibilityMode())); } public void update(final String eventTypeName, @@ -268,7 +278,9 @@ public void update(final String eventTypeName, nakadiKpiPublisher.publish(etLogEventType, () -> new JSONObject() .put("event_type", eventTypeName) .put("status", "updated") - .put("category", eventTypeBase.getCategory())); + .put("category", eventTypeBase.getCategory()) + .put("authz", identifyAuthzState(eventTypeBase)) + .put("compatibility_mode", eventTypeBase.getCompatibilityMode())); } private void updateRetentionTime(final EventType original, final EventType eventType) throws NakadiException { diff --git a/src/test/java/org/zalando/nakadi/service/EventTypeServiceTest.java b/src/test/java/org/zalando/nakadi/service/EventTypeServiceTest.java index c74329abb7..9d85751cd0 100644 --- a/src/test/java/org/zalando/nakadi/service/EventTypeServiceTest.java +++ b/src/test/java/org/zalando/nakadi/service/EventTypeServiceTest.java @@ -117,7 +117,9 @@ public void whenEventTypeCreatedThenKPIEventSubmitted() throws Exception { new JSONObject() .put("event_type", et.getName()) .put("status", "created") - .put("category", et.getCategory())); + .put("category", et.getCategory()) + .put("authz", "disabled") + .put("compatibility_mode", et.getCompatibilityMode())); } @Test @@ -131,7 +133,9 @@ public void whenEventTypeUpdatedThenKPIEventSubmitted() throws Exception { new JSONObject() .put("event_type", et.getName()) .put("status", "updated") - .put("category", et.getCategory())); + .put("category", et.getCategory()) + .put("authz", "disabled") + .put("compatibility_mode", et.getCompatibilityMode())); } @Test @@ -144,7 +148,9 @@ public void whenEventTypeDeletedThenKPIEventSubmitted() throws Exception { new JSONObject() .put("event_type", et.getName()) .put("status", "deleted") - .put("category", et.getCategory())); + .put("category", et.getCategory()) + .put("authz", "disabled") + .put("compatibility_mode", et.getCompatibilityMode())); } }