@Test(groups = "fast") public void testBasic() throws Exception { final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JodaModule()); objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); final String eventJson = "\"{\"pluginName\":\"foo\",\"pluginVersion\":\"1.2.3\",\"properties\":[{\"key\":\"something\",\"value\":\"nothing\"}]}\""; final BroadcastInternalEvent broadcastEvent = new DefaultBroadcastInternalEvent("service", "PLUGIN_INSTALL", eventJson); final String broadcastEventStr = objectMapper.writeValueAsString(broadcastEvent); final BroadcastInternalEvent res = objectMapper.readValue(broadcastEventStr, DefaultBroadcastInternalEvent.class); Assert.assertEquals(res.getServiceName(), "service"); Assert.assertEquals(res.getType(), "PLUGIN_INSTALL"); Assert.assertEquals(res.getJsonEvent(), eventJson); } }
@Test(groups = "fast") public void testBroadcastService() throws Exception { BroadcastInternalEvent event = mock(BroadcastInternalEvent.class); provideCommonBusEventInfo(event); when(event.getBusEventType()).thenReturn(BusInternalEventType.BROADCAST_SERVICE); when(event.getServiceName()).thenReturn(SERVICE_NAME); when(event.getType()).thenReturn(BROADCAST_EVENT_TYPE); when(event.getJsonEvent()).thenReturn(BROADCAST_EVENT_JSON); ArgumentCaptor<BroadcastMetadata> metadataCaptor = ArgumentCaptor.forClass(BroadcastMetadata.class); when(objectMapper.writeValueAsString(metadataCaptor.capture())).thenReturn(METADATA); ArgumentCaptor<BusEvent> eventCaptor = ArgumentCaptor.forClass(BusEvent.class); beatrixListener.handleAllInternalKillbillEvents(event); verify(externalBus).post(eventCaptor.capture()); DefaultBusExternalEvent postedEvent = (DefaultBusExternalEvent)eventCaptor.getValue(); assertNull(postedEvent.getObjectId()); assertEquals(postedEvent.getObjectType(), ObjectType.SERVICE_BROADCAST); assertEquals(postedEvent.getEventType(), ExtBusEventType.BROADCAST_SERVICE); assertCommonFieldsWithNoAccountId(postedEvent); BroadcastMetadata broadcastMetadata = metadataCaptor.getValue(); assertEquals(broadcastMetadata.getService(), SERVICE_NAME); assertEquals(broadcastMetadata.getCommandType(), BROADCAST_EVENT_TYPE); assertEquals(broadcastMetadata.getEventJson(), BROADCAST_EVENT_JSON); }
@Test(groups = "fast") public void testBasic() throws Exception { final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JodaModule()); objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); final String eventJson = "\"{\"pluginName\":\"foo\",\"pluginVersion\":\"1.2.3\",\"properties\":[{\"key\":\"something\",\"value\":\"nothing\"}]}\""; final BroadcastInternalEvent broadcastEvent = new DefaultBroadcastInternalEvent("service", "PLUGIN_INSTALL", eventJson); final String broadcastEventStr = objectMapper.writeValueAsString(broadcastEvent); final BroadcastInternalEvent res = objectMapper.readValue(broadcastEventStr, DefaultBroadcastInternalEvent.class); Assert.assertEquals(res.getServiceName(), "service"); Assert.assertEquals(res.getType(), "PLUGIN_INSTALL"); Assert.assertEquals(res.getJsonEvent(), eventJson); } }