/** * Test Right Throw 2 events matching by one queue, but user can read only one event * * @throws MembershipServiceException * @throws GreetingServiceException * @throws EventQueueServiceException * @throws InterruptedException * @throws LoginException */ @Test(timeout = 50000) public void testNotificationRightEvent() throws MembershipServiceException, GreetingServiceException, EventQueueServiceException, InterruptedException, LoginException { logger.info("testNotificationRightEvent() called"); String caller = membership.getProfilePathForConnectedIdentifier(); // root permit to kermit to create something on / greeting.giveAutorization("/", "/profiles/kermit", new String[] {"create"}); loginContext.logout(); // login kermit UsernamePasswordHandler uph = new UsernamePasswordHandler("kermit", "thefrog"); loginContext = new LoginContext("qualipso", uph); loginContext.login(); // kermit create a folder and a resource on this folder and // create a read event on this name greeting.createFolder("/kermitFolder", "kermitFolder"); greeting.createName("/kermitFolder/kermitName", "kermitName"); greeting.readName("/kermitFolder/kermitName"); greeting.deleteName("/kermitFolder/kermitName"); greeting.deleteFolder("/kermitFolder"); loginContext.logout(); uph = new UsernamePasswordHandler("root", AllTests.ROOT_ACCOUNT_PASS); loginContext = new LoginContext("qualipso", uph); loginContext.login(); greeting.readName(pathResource); Event[] lEvent2 = new Event[] {}; while (lEvent2.length < 1) { lEvent2 = eqs.getEvents(pathQueue2); } assertTrue( "TestNotificationRighEvent : expected 1 events into queue2(" + pathQueue2 + ") but found " + lEvent2.length, lEvent2.length == 1); Event e = lEvent2[0]; assertEquals( "TestNotificationRighEvent : event resource expected " + pathResource + " but found " + e.getFromResource(), e.getFromResource(), pathResource); assertEquals( "TestNotificationRighEvent : event type expected greeting.name.create but found " + e.getEventType(), e.getEventType(), "greeting.name.read"); assertEquals( "TestNotificationRighEvent : event throwedBy expected " + caller + " but found" + e.getThrowedBy(), e.getThrowedBy(), caller); Thread.sleep(60); assertTrue( "TestNotificationRighEvent : expected 1 event into queue1 but found " + eqs.getEvents(pathQueue2).length, eqs.getEvents(pathQueue2).length == 1); }