Skip to content
Snippets Groups Projects
Commit 41fc6b2f authored by Herwin van Welbergen's avatar Herwin van Welbergen
Browse files

test fixes, notifier listening to messages

parent fd42ae8d
No related branches found
No related tags found
No related merge requests found
...@@ -161,7 +161,7 @@ public class ComponentNotifier ...@@ -161,7 +161,7 @@ public class ComponentNotifier
{ {
if(!isInitialized) if(!isInitialized)
{ {
inBuffer.registerHandler(new IUEventHandler(new ComponentNotifyHandler(), EnumSet.of(IUEventType.ADDED), ImmutableSet inBuffer.registerHandler(new IUEventHandler(new ComponentNotifyHandler(), EnumSet.of(IUEventType.ADDED, IUEventType.MESSAGE), ImmutableSet
.of(NOTIFY_CATEGORY))); .of(NOTIFY_CATEGORY)));
submitNotify(true); submitNotify(true);
isInitialized = true; isInitialized = true;
......
...@@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest
Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build(); Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build();
inBuffer = new InputBuffer("component2", categories); inBuffer = new InputBuffer("component2", categories);
EnumSet<IUEventType> types = EnumSet.of(IUEventType.ADDED, IUEventType.COMMITTED, IUEventType.UPDATED); EnumSet<IUEventType> types = EnumSet.of(IUEventType.ADDED, IUEventType.COMMITTED, IUEventType.UPDATED, IUEventType.MESSAGE);
component2EventHandler = new CountingEventHandler(); component2EventHandler = new CountingEventHandler();
component1EventHandler = new CountingEventHandler(); component1EventHandler = new CountingEventHandler();
inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories)); inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories));
...@@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest
AbstractIU iuIn = inBuffer.getIU(localIU.getUid()); AbstractIU iuIn = inBuffer.getIU(localIU.getUid());
assertNull(iuIn); assertNull(iuIn);
assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2")); assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2"));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(localIU.getUid(), component2StoreHandler.getAddedIUs().get(0).getUid()); assertEquals(localIU.getUid(), component2StoreHandler.getMessageIUs().get(0).getUid());
} }
@Test @Test
...@@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200); Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertFalse(component2StoreHandler.getAddedIUs().get(0).isCommitted()); assertFalse(component2StoreHandler.getMessageIUs().get(0).isCommitted());
} }
@Test @Test
...@@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200); Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid())); assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertTrue(component2StoreHandler.getAddedIUs().get(0).isCommitted()); assertTrue(component2StoreHandler.getMessageIUs().get(0).isCommitted());
} }
@Test @Test
...@@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest
{ {
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
iuIn.commit(); iuIn.commit();
Thread.sleep(200); Thread.sleep(200);
...@@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest
{ {
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertNull(iuIn.getPayload().get("key2")); assertNull(iuIn.getPayload().get("key2"));
localIU.getPayload().put("key2", "value2"); localIU.getPayload().put("key2", "value2");
...@@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest ...@@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest
outBuffer.add(localIU); outBuffer.add(localIU);
Thread.sleep(200); Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0); AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertEquals("value2", iuIn.getPayload().get("key2")); assertEquals("value2", iuIn.getPayload().get("key2"));
} }
......
...@@ -10,6 +10,7 @@ import java.util.Map; ...@@ -10,6 +10,7 @@ import java.util.Map;
*/ */
final class CountingEventHandler implements HandlerFunctor final class CountingEventHandler implements HandlerFunctor
{ {
private Map<String,Integer> messageEvents = new HashMap<String,Integer>();
private Map<String,Integer> commitEvents = new HashMap<String,Integer>(); private Map<String,Integer> commitEvents = new HashMap<String,Integer>();
private Map<String,Integer> addEvents = new HashMap<String,Integer>(); private Map<String,Integer> addEvents = new HashMap<String,Integer>();
private Map<String,Integer> updateEvents = new HashMap<String,Integer>(); private Map<String,Integer> updateEvents = new HashMap<String,Integer>();
...@@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor ...@@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor
case ADDED: updateEventMap(iu.getUid(),addEvents); break; case ADDED: updateEventMap(iu.getUid(),addEvents); break;
case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break; case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break;
case UPDATED: updateEventMap(iu.getUid(),updateEvents); break; case UPDATED: updateEventMap(iu.getUid(),updateEvents); break;
case MESSAGE: updateEventMap(iu.getUid(),messageEvents);break;
case DELETED: case DELETED:
break; break;
case LINKSUPDATED: case LINKSUPDATED:
...@@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor ...@@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor
} }
return updateEvents.get(iu); return updateEvents.get(iu);
} }
public int getNumberOfMessageEvents(String iu)
{
if(!messageEvents.containsKey(iu))
{
return 0;
}
return messageEvents.get(iu);
}
} }
\ No newline at end of file
...@@ -201,7 +201,7 @@ public class JavaPythonTest ...@@ -201,7 +201,7 @@ public class JavaPythonTest
@Test @Test
public void testMessageFromPython()throws IOException, InterruptedException public void testMessageFromPython()throws IOException, InterruptedException
{ {
inBuffer.registerHandler(new IUEventHandler(storeHandler,EnumSet.of(IUEventType.ADDED),ImmutableSet.of("JavaPythonTest"))); inBuffer.registerHandler(new IUEventHandler(storeHandler,EnumSet.of(IUEventType.ADDED, IUEventType.MESSAGE),ImmutableSet.of("JavaPythonTest")));
String pypr = PYTHON_PREAMBLE String pypr = PYTHON_PREAMBLE
+"ob = ipaaca.OutputBuffer('pythonside')\n" +"ob = ipaaca.OutputBuffer('pythonside')\n"
+"iu = ipaaca.Message('JavaPythonTest')\n" +"iu = ipaaca.Message('JavaPythonTest')\n"
...@@ -210,7 +210,7 @@ public class JavaPythonTest ...@@ -210,7 +210,7 @@ public class JavaPythonTest
+"ob.add(iu)\n"; +"ob.add(iu)\n";
runPythonProgram(pypr); runPythonProgram(pypr);
Thread.sleep(200); Thread.sleep(200);
assertEquals(1,storeHandler.getAddedIUs().size()); assertEquals(1,storeHandler.getMessageIUs().size());
assertEquals("Hello from Python!", storeHandler.getAddedIUs().get(0).getPayload().get("data")); assertEquals("Hello from Python!", storeHandler.getMessageIUs().get(0).getPayload().get("data"));
} }
} }
...@@ -11,11 +11,17 @@ import java.util.List; ...@@ -11,11 +11,17 @@ import java.util.List;
public class StoringEventHandler implements HandlerFunctor public class StoringEventHandler implements HandlerFunctor
{ {
private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>(); private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>();
private List<AbstractIU> messageIUs = new ArrayList<AbstractIU>();
public List<AbstractIU> getAddedIUs() public List<AbstractIU> getAddedIUs()
{ {
return addedIUs; return addedIUs;
} }
public List<AbstractIU> getMessageIUs()
{
return messageIUs;
}
@Override @Override
public void handle(AbstractIU iu, IUEventType type, boolean local) public void handle(AbstractIU iu, IUEventType type, boolean local)
...@@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor ...@@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor
case ADDED: case ADDED:
addedIUs.add(iu); addedIUs.add(iu);
break; break;
case MESSAGE:
messageIUs.add(iu);
break;
case COMMITTED: case COMMITTED:
break; break;
case UPDATED: case UPDATED:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment