@Override public EventMessageBundle createInstance(Type type) { return new EventMessageBundle("", "http://opensocial.example.com"); }
/** * Maps a wavelet and its conversation to a new {@link EventMessageBundle}. * * @param converter to convert to API objects. * @param participant the participant who the bundle is for. * @param wavelet the wavelet to put in the bundle. * @param conversation the conversation to put in the bundle. */ private EventMessageBundle mapWaveletToMessageBundle(EventDataConverter converter, ParticipantId participant, Wavelet wavelet, Conversation conversation) { EventMessageBundle messages = new EventMessageBundle(participant.getAddress(), ""); WaveletData waveletData = converter.toWaveletData(wavelet, conversation, messages); messages.setWaveletData(waveletData); ContextResolver.addAllBlipsToEventMessages(messages, conversation, wavelet, converter); return messages; }
@Override protected void setUp() throws Exception { super.setUp(); Blips.init(); conversation = makeConversation(); wavelet = createMockWavelet(conversation); eventMessages = new EventMessageBundle("foo@appspot.com", "http://opensocial.example.com"); }
@Override protected void setUp() throws Exception { super.setUp(); Blips.init(); conversation = makeConversation(); wavelet = createMockWavelet(conversation); eventMessages = new EventMessageBundle("foo@appspot.com", "http://opensocial.example.com"); }
@SuppressWarnings("unchecked") @Override protected void setUp() throws Exception { gateway = mock(RobotsGateway.class); connector = mock(RobotConnector.class); converterManager = mock(EventDataConverterManager.class); waveletProvider = mock(WaveletProvider.class); eventGenerator = mock(EventGenerator.class); operationApplicator = mock(RobotOperationApplicator.class); robot = new Robot(ROBOT_NAME, ACCOUNT, gateway, connector, converterManager, waveletProvider, eventGenerator, operationApplicator); // Set the initialized account when updateRobotAccount is called. doAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { robot.setAccount(INITIALIZED_ACCOUNT); return null; } }).when(gateway).updateRobotAccount(robot); // Generate no events on default EventMessageBundle emptyMessageBundle = new EventMessageBundle(ROBOT_NAME.toEmailAddress(), ""); when(eventGenerator.generateEvents( any(WaveletAndDeltas.class), anyMap(), any(EventDataConverter.class))).thenReturn( emptyMessageBundle); }
@SuppressWarnings("unchecked") public void testProcessSendsBundleAndCallsOperationsApplicator() throws Exception { EventMessageBundle messages = new EventMessageBundle(ROBOT_NAME.toEmailAddress(), ""); messages.addEvent(new DocumentChangedEvent(null, null, ALEX.getAddress(), 0L, "b+1234")); when(eventGenerator.generateEvents( any(WaveletAndDeltas.class), anyMap(), any(EventDataConverter.class))).thenReturn(messages); OperationRequest op = new OperationRequest("wavelet.fetch", "op1"); List<OperationRequest> ops = Collections.singletonList(op); when(connector.sendMessageBundle( any(EventMessageBundle.class), eq(robot), any(ProtocolVersion.class))).thenReturn(ops); enqueueEmptyWavelet(); robot.run(); verify(connector).sendMessageBundle( any(EventMessageBundle.class), eq(robot), any(ProtocolVersion.class)); verify(operationApplicator).applyOperations( eq(ops), any(ReadableWaveletData.class), any(HashedVersion.class), eq(INITIALIZED_ACCOUNT)); }
@SuppressWarnings("unchecked") public void testProcessSendsBundleAndCallsOperationsApplicator() throws Exception { EventMessageBundle messages = new EventMessageBundle(ROBOT_NAME.toEmailAddress(), ""); messages.addEvent(new DocumentChangedEvent(null, null, ALEX.getAddress(), 0L, "b+1234")); when(eventGenerator.generateEvents( any(), anyMap(), any())).thenReturn(messages); OperationRequest op = new OperationRequest("wavelet.fetch", "op1"); List<OperationRequest> ops = Collections.singletonList(op); when(connector.sendMessageBundle( any(EventMessageBundle.class), eq(robot), any(ProtocolVersion.class))).thenReturn(ops); enqueueEmptyWavelet(); robot.run(); verify(connector).sendMessageBundle( any(EventMessageBundle.class), eq(robot), any(ProtocolVersion.class)); verify(operationApplicator).applyOperations( eq(ops), any(ReadableWaveletData.class), any(HashedVersion.class), eq(INITIALIZED_ACCOUNT)); }
@SuppressWarnings("unchecked") @Override protected void setUp() throws Exception { gateway = mock(RobotsGateway.class); connector = mock(RobotConnector.class); converterManager = mock(EventDataConverterManager.class); waveletProvider = mock(WaveletProvider.class); eventGenerator = mock(EventGenerator.class); operationApplicator = mock(RobotOperationApplicator.class); robot = new Robot(ROBOT_NAME, ACCOUNT, gateway, connector, converterManager, waveletProvider, eventGenerator, operationApplicator); // Set the initialized account when updateRobotAccount is called. doAnswer(new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { robot.setAccount(INITIALIZED_ACCOUNT); return null; } }).when(gateway).updateRobotAccount(robot); // Generate no events on default EventMessageBundle emptyMessageBundle = new EventMessageBundle(ROBOT_NAME.toEmailAddress(), ""); when(eventGenerator.generateEvents( any(WaveletAndDeltas.class), anyMap(), any(EventDataConverter.class))).thenReturn( emptyMessageBundle); }
public void testToBlipDataHandlesBlipWithEmptyDocument() throws Exception { Blips.init(); Conversation conversation = makeConversation(); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getWaveId()).thenReturn(WAVE_ID); when(wavelet.getId()).thenReturn(WAVELET_ID); EventDataConverterV21 converter = new EventDataConverterV21(); assertEquals("", converter.toBlipData(conversation.getRootThread().getFirstBlip(), wavelet, new EventMessageBundle(null, null)).getContent()); }
public void refactor_testSerializeAndDeserializeOperationErrorEvent() throws Exception { Wavelet wavelet = mock(Wavelet.class); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); OperationErrorEvent expected = new OperationErrorEvent(wavelet, bundle, "foo@google.com", 123l, "op1", "Error!"); Context context = new Context(); Event actual = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); assertEquals(expected, actual); }
public void testToBlipDataHandlesBlipWithEmptyDocument() throws Exception { Blips.init(); Conversation conversation = makeConversation(); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getWaveId()).thenReturn(WAVE_ID); when(wavelet.getId()).thenReturn(WAVELET_ID); EventDataConverterV21 converter = new EventDataConverterV21(); assertEquals("", converter.toBlipData(conversation.getRootThread().getFirstBlip(), wavelet, new EventMessageBundle(null, null)).getContent()); }
public void refactor_testSerializeAndDeserializeOperationErrorEvent() throws Exception { Wavelet wavelet = mock(Wavelet.class); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); OperationErrorEvent expected = new OperationErrorEvent(wavelet, bundle, "foo@google.com", 123l, "op1", "Error!"); Context context = new Context(); Event actual = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); assertEquals(expected, actual); }
public void refactor_testSerializeAndDeserializeWaveletEvent() throws Exception { List<String> participantsAdded = new ArrayList<String>(); participantsAdded.add("foo@google.com"); participantsAdded.add("bar@google.com"); List<String> participantsRemoved = new ArrayList<String>(); participantsRemoved.add("baz@google.com"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); Map<String, Blip> blips = Maps.newHashMap(); blips.put("blip123", blip); when(wavelet.getThread(anyString())).thenReturn(new BlipThread("rootThread", -1, Lists.<String>newArrayList("blip123"), blips)); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); WaveletParticipantsChangedEvent expected = new WaveletParticipantsChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", participantsAdded, participantsRemoved); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); WaveletParticipantsChangedEvent actual = WaveletParticipantsChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getParticipantsAdded(), actual.getParticipantsAdded()); assertEquals(expected.getParticipantsRemoved(), actual.getParticipantsRemoved()); }
public void refactor_testSerializeAndDeserializeWaveletEvent() throws Exception { List<String> participantsAdded = new ArrayList<String>(); participantsAdded.add("foo@google.com"); participantsAdded.add("bar@google.com"); List<String> participantsRemoved = new ArrayList<String>(); participantsRemoved.add("baz@google.com"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); Map<String, Blip> blips = Maps.newHashMap(); blips.put("blip123", blip); when(wavelet.getThread(anyString())).thenReturn(new BlipThread("rootThread", -1, Lists.<String>newArrayList("blip123"), blips)); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); WaveletParticipantsChangedEvent expected = new WaveletParticipantsChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", participantsAdded, participantsRemoved); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); WaveletParticipantsChangedEvent actual = WaveletParticipantsChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getParticipantsAdded(), actual.getParticipantsAdded()); assertEquals(expected.getParticipantsRemoved(), actual.getParticipantsRemoved()); }
public void refactor_testSerializeAndDeserializeBlipEvent() throws Exception { List<String> contributorsAdded = new ArrayList<String>(); contributorsAdded.add("foo@google.com"); contributorsAdded.add("bar@google.com"); List<String> contributorsRemoved = new ArrayList<String>(); contributorsRemoved.add("baz@google.com"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); BlipContributorsChangedEvent expected = new BlipContributorsChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", contributorsAdded, contributorsRemoved); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); BlipContributorsChangedEvent actual = BlipContributorsChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getContributorsAdded(), actual.getContributorsAdded()); assertEquals(expected.getContributorsRemoved(), actual.getContributorsRemoved()); }
public void refactor_testSerializeAndDeserializeBlipEvent() throws Exception { List<String> contributorsAdded = new ArrayList<String>(); contributorsAdded.add("foo@google.com"); contributorsAdded.add("bar@google.com"); List<String> contributorsRemoved = new ArrayList<String>(); contributorsRemoved.add("baz@google.com"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); BlipContributorsChangedEvent expected = new BlipContributorsChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", contributorsAdded, contributorsRemoved); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); BlipContributorsChangedEvent actual = BlipContributorsChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getContributorsAdded(), actual.getContributorsAdded()); assertEquals(expected.getContributorsRemoved(), actual.getContributorsRemoved()); }
public void refactor_testSerializeAndDeserializeGadgetStateChanged() throws Exception { Map<String, String> oldState = new HashMap<String, String>(); oldState.put("key1", "value1"); oldState.put("key2", "value2"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); GadgetStateChangedEvent expected = new GadgetStateChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", 5, oldState); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); GadgetStateChangedEvent actual = GadgetStateChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getIndex(), actual.getIndex()); assertEquals(expected.getOldState(),actual.getOldState()); }
public void refactor_testSerializeAndDeserializeGadgetStateChanged() throws Exception { Map<String, String> oldState = new HashMap<String, String>(); oldState.put("key1", "value1"); oldState.put("key2", "value2"); Blip blip = mock(Blip.class); when(blip.getBlipId()).thenReturn("blip123"); Wavelet wavelet = mock(Wavelet.class); when(wavelet.getBlip("blip123")).thenReturn(blip); EventMessageBundle bundle = new EventMessageBundle("http://10.1.1.1", "http://wave-active-api.example.com"); GadgetStateChangedEvent expected = new GadgetStateChangedEvent(wavelet, bundle, "mprasetya@google.com", 1l, "blip123", 5, oldState); Context context = new Context(); Event actualEvent = EventSerializer.deserialize(wavelet, bundle, EventSerializer.serialize(expected, context), context); GadgetStateChangedEvent actual = GadgetStateChangedEvent.as(actualEvent); assertEquals(expected, actual); assertEquals(expected.getIndex(), actual.getIndex()); assertEquals(expected.getOldState(),actual.getOldState()); }
public void testToBlipData() throws Exception { Wavelet wavelet = mock(Wavelet.class); when(wavelet.getWaveId()).thenReturn(WAVE_ID); when(wavelet.getId()).thenReturn(WAVELET_ID); ConversationBlip blip = conversation.getRootThread().getFirstBlip(); String replyThreadId = blip.addReplyThread(3).getId(); EventDataConverterV22 converter = new EventDataConverterV22(); EventMessageBundle eventMessageBundle = new EventMessageBundle(null, null); BlipData blipData = converter.toBlipData(blip, wavelet, eventMessageBundle); assertEquals(blip.getThread().getId(), blipData.getThreadId()); assertEquals(Lists.newArrayList(replyThreadId), blipData.getReplyThreadIds()); Map<String, BlipThread> threads = eventMessageBundle.getThreads(); assertEquals(1, threads.size()); assertEquals(1, threads.get(replyThreadId).getLocation()); }
public void testToBlipData() throws Exception { Wavelet wavelet = mock(Wavelet.class); when(wavelet.getWaveId()).thenReturn(WAVE_ID); when(wavelet.getId()).thenReturn(WAVELET_ID); ConversationBlip blip = conversation.getRootThread().getFirstBlip(); String replyThreadId = blip.addReplyThread(3).getId(); EventDataConverterV22 converter = new EventDataConverterV22(); EventMessageBundle eventMessageBundle = new EventMessageBundle(null, null); BlipData blipData = converter.toBlipData(blip, wavelet, eventMessageBundle); assertEquals(blip.getThread().getId(), blipData.getThreadId()); assertEquals(Lists.newArrayList(replyThreadId), blipData.getReplyThreadIds()); Map<String, BlipThread> threads = eventMessageBundle.getThreads(); assertEquals(1, threads.size()); assertEquals(1, threads.get(replyThreadId).getLocation()); }