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
{
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)));
submitNotify(true);
isInitialized = true;
......
......@@ -46,7 +46,7 @@ public class ComponentMessageCommunicationIntegrationTest
Set<String> categories = new ImmutableSet.Builder<String>().add(CATEGORY).build();
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();
component1EventHandler = new CountingEventHandler();
inBuffer.registerHandler(new IUEventHandler(component2EventHandler, types, categories));
......@@ -75,11 +75,11 @@ public class ComponentMessageCommunicationIntegrationTest
AbstractIU iuIn = inBuffer.getIU(localIU.getUid());
assertNull(iuIn);
assertThat(localIU.getLinks("INIT"), containsInAnyOrder("init1", "init2"));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid()));
assertEquals(1, component2EventHandler.getNumberOfAddEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfAddEvents(localIU.getUid()));
assertEquals(localIU.getUid(), component2StoreHandler.getAddedIUs().get(0).getUid());
assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(1, component2EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(0, component1EventHandler.getNumberOfMessageEvents(localIU.getUid()));
assertEquals(localIU.getUid(), component2StoreHandler.getMessageIUs().get(0).getUid());
}
@Test
......@@ -90,7 +90,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertFalse(component2StoreHandler.getAddedIUs().get(0).isCommitted());
assertFalse(component2StoreHandler.getMessageIUs().get(0).isCommitted());
}
@Test
......@@ -101,7 +101,7 @@ public class ComponentMessageCommunicationIntegrationTest
Thread.sleep(200);
assertEquals(0, component1EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertEquals(0, component2EventHandler.getNumberOfCommitEvents(localIU.getUid()));
assertTrue(component2StoreHandler.getAddedIUs().get(0).isCommitted());
assertTrue(component2StoreHandler.getMessageIUs().get(0).isCommitted());
}
@Test
......@@ -109,7 +109,7 @@ public class ComponentMessageCommunicationIntegrationTest
{
outBuffer.add(localIU);
Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0);
AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
iuIn.commit();
Thread.sleep(200);
......@@ -123,7 +123,7 @@ public class ComponentMessageCommunicationIntegrationTest
{
outBuffer.add(localIU);
Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0);
AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertNull(iuIn.getPayload().get("key2"));
localIU.getPayload().put("key2", "value2");
......@@ -140,7 +140,7 @@ public class ComponentMessageCommunicationIntegrationTest
outBuffer.add(localIU);
Thread.sleep(200);
AbstractIU iuIn = component2StoreHandler.getAddedIUs().get(0);
AbstractIU iuIn = component2StoreHandler.getMessageIUs().get(0);
assertEquals("value2", iuIn.getPayload().get("key2"));
}
......
......@@ -10,6 +10,7 @@ import java.util.Map;
*/
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> addEvents = new HashMap<String,Integer>();
private Map<String,Integer> updateEvents = new HashMap<String,Integer>();
......@@ -33,6 +34,7 @@ final class CountingEventHandler implements HandlerFunctor
case ADDED: updateEventMap(iu.getUid(),addEvents); break;
case COMMITTED: updateEventMap(iu.getUid(),commitEvents); break;
case UPDATED: updateEventMap(iu.getUid(),updateEvents); break;
case MESSAGE: updateEventMap(iu.getUid(),messageEvents);break;
case DELETED:
break;
case LINKSUPDATED:
......@@ -70,4 +72,13 @@ final class CountingEventHandler implements HandlerFunctor
}
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
@Test
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
+"ob = ipaaca.OutputBuffer('pythonside')\n"
+"iu = ipaaca.Message('JavaPythonTest')\n"
......@@ -210,7 +210,7 @@ public class JavaPythonTest
+"ob.add(iu)\n";
runPythonProgram(pypr);
Thread.sleep(200);
assertEquals(1,storeHandler.getAddedIUs().size());
assertEquals("Hello from Python!", storeHandler.getAddedIUs().get(0).getPayload().get("data"));
assertEquals(1,storeHandler.getMessageIUs().size());
assertEquals("Hello from Python!", storeHandler.getMessageIUs().get(0).getPayload().get("data"));
}
}
......@@ -11,11 +11,17 @@ import java.util.List;
public class StoringEventHandler implements HandlerFunctor
{
private List<AbstractIU> addedIUs = new ArrayList<AbstractIU>();
private List<AbstractIU> messageIUs = new ArrayList<AbstractIU>();
public List<AbstractIU> getAddedIUs()
{
return addedIUs;
}
public List<AbstractIU> getMessageIUs()
{
return messageIUs;
}
@Override
public void handle(AbstractIU iu, IUEventType type, boolean local)
......@@ -25,6 +31,9 @@ public class StoringEventHandler implements HandlerFunctor
case ADDED:
addedIUs.add(iu);
break;
case MESSAGE:
messageIUs.add(iu);
break;
case COMMITTED:
break;
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