/** * Convenience constructor that assumes no payload. */ public static NessEvent createEvent(@Nullable final UUID user, @Nonnull final NessEventType type) { return new NessEvent(user, new DateTime(DateTimeZone.UTC), type, Collections.<String, Object>emptyMap(), UUID.randomUUID()); }
public void testNullUserOk() { final NessEvent event = NessEvent.createEvent(null, TIMESTAMP, ID, TYPE, PAYLOAD); Assert.assertNull(event.getUser()); Assert.assertEquals(TIMESTAMP, event.getTimestamp()); Assert.assertEquals(ID, event.getId()); Assert.assertEquals(TYPE, event.getType()); Assert.assertEquals(PAYLOAD, event.getPayload()); }
@Test(expected = IllegalArgumentException.class) @SuppressWarnings("NP_NONNULL_PARAM_VIOLATION") public void testTypeRequired() { NessEvent.createEvent(null, TIMESTAMP, ID, null, PAYLOAD); } }
@Override public boolean accept(final NessEvent event) { return event != null && eventType.equals(event.getType()); }
@Test public void testShortOk() { final NessEvent event = NessEvent.createEvent(USER_ID, TYPE, PAYLOAD); Assert.assertEquals(USER_ID, event.getUser()); Assert.assertEquals(TYPE, event.getType()); Assert.assertEquals(PAYLOAD, event.getPayload()); Assert.assertNotNull(event.getTimestamp()); Assert.assertNotNull(event.getId()); }
public void testNullTimestampIsOk() { final NessEvent event = NessEvent.createEvent(null, null, ID, TYPE, PAYLOAD); Assert.assertNotNull(event); }
@Override public boolean accept(final NessEvent event) { return event != null && eventType.equals(event.getType()); }
@Test public void testOk() { final NessEvent event = NessEvent.createEvent(USER_ID, TIMESTAMP, ID, TYPE, PAYLOAD); Assert.assertEquals(USER_ID, event.getUser()); Assert.assertEquals(TIMESTAMP, event.getTimestamp()); Assert.assertEquals(ID, event.getId()); Assert.assertEquals(TYPE, event.getType()); Assert.assertEquals(PAYLOAD, event.getPayload()); }
@Test(expected = IllegalArgumentException.class) @SuppressWarnings("NP_NONNULL_PARAM_VIOLATION") public void testIdRequired() { NessEvent.createEvent(null, TIMESTAMP, null, TYPE, PAYLOAD); }
/** * Convenience constructor that assigns the current time in UTC and a random UUID. */ public static NessEvent createEvent(@Nullable final UUID user, @Nonnull final NessEventType type, @Nullable final Map<String, ? extends Object> payload) { return new NessEvent(user, new DateTime(DateTimeZone.UTC), type, payload, UUID.randomUUID()); }
public void testNullPayloadOk() { final NessEvent event = NessEvent.createEvent(USER_ID, TIMESTAMP, ID, TYPE, PAYLOAD); Assert.assertEquals(USER_ID, event.getUser()); Assert.assertEquals(TIMESTAMP, event.getTimestamp()); Assert.assertEquals(ID, event.getId()); Assert.assertEquals(TYPE, event.getType()); final Map<String, ? extends Object> payload = event.getPayload(); Assert.assertNotNull(payload); Assert.assertEquals(0, payload.size()); }
@Test public void testSerialize() throws IOException { NessEvent e = NessEvent.createEvent(USER, ENTRY_TIMESTAMP, EVENT_ID, NessEventTypes.SEARCH, payload); String serialized = mapper.writeValueAsString(e); Assert.assertEquals(mapper.readValue(loadJson("/serializedEvent.json"), TreeMap.class), mapper.readValue(serialized, TreeMap.class)); }
/** * Create a new event. * * @param user User that the event happened for. Can be null for a system level event. * @param timestamp The time when this event entered the system * @param type The Event type. * @param payload Arbitrary data describing the event. */ public static NessEvent createEvent(@Nullable final UUID user, @Nullable final DateTime timestamp, @Nonnull final NessEventType type, @Nullable final Map<String, ? extends Object> payload) { return new NessEvent(user, timestamp, type, payload, UUID.randomUUID()); }
@Test public void testShorterOk() { final NessEvent event = NessEvent.createEvent(USER_ID, TYPE); Assert.assertEquals(USER_ID, event.getUser()); Assert.assertEquals(TYPE, event.getType()); final Map<String, ? extends Object> payload = event.getPayload(); Assert.assertNotNull(payload); Assert.assertEquals(0, payload.size()); Assert.assertNotNull(event.getTimestamp()); Assert.assertNotNull(event.getId()); }
@Test public void testFuckImmutability() throws Exception { final Map<String, Object> nullPayLoad = Collections.<String, Object>singletonMap("test", null); String serialized = mapper.writeValueAsString(NessEvent.createEvent(null, NessEventType.getForName(null), nullPayLoad)); Assert.assertTrue(StringUtils.contains(serialized, "\"test\":null")); }
/** * Create a new event from over-the-wire json. * * @param user User that the event happened for. Can be null for a system level event. * @param timestamp The time when this event entered the system * @param type The Event type. * @param payload Arbitrary data describing the event. * @param id UUID as event id. */ @JsonCreator static NessEvent createEvent(@Nullable @JsonProperty("user") final UUID user, @Nullable @JsonProperty("timestamp") final DateTime timestamp, @Nonnull @JsonProperty("id") final UUID id, @Nonnull @JsonProperty("type") final NessEventType type, @Nullable @JsonProperty("payload") final Map<String, ? extends Object> payload) { return new NessEvent(user, timestamp, type, payload, id); }
@Test public void testDeserialize() throws IOException { NessEvent event = mapper.readValue(loadJson("/serializedEvent.json"), NessEvent.class); Assert.assertEquals(payload, event.getPayload()); Assert.assertEquals(EVENT_ID, event.getId()); Assert.assertEquals(ENTRY_TIMESTAMP, event.getTimestamp()); Assert.assertEquals(NessEventTypes.SEARCH, event.getType()); Assert.assertEquals(USER, event.getUser()); }
eventSender.enqueue(NessEvent.createEvent(null, NessEventType.getForName(null))); Thread.sleep(1000L); Assert.assertTrue(jmsEventTransport.isConnected());
Assert.assertFalse(jmsEventTransport.isConnected()); Assert.assertNotNull(eventSender); eventSender.enqueue(NessEvent.createEvent(null, NessEventType.getForName(null))); Thread.sleep(1000L); Assert.assertTrue(jmsEventTransport.isConnected());