public void testRetries() { JUnitMessageQueue queue = createQueue(TWO_CLIENTS, ONE_BLOCK, ONE_TEST_PER_BLOCK); TestInfo testInfo = queue.getTestBlocks().get(0)[0]; Map<TestInfo, JUnitResult> results = new HashMap<TestInfo, JUnitResult>(); JUnitResult junitResult = new JUnitResult(); junitResult.setException(new AssertionError()); results.put(testInfo, junitResult); queue.reportResults(createClientInfo(0, "ff3"), results); assertTrue(queue.needsRerunning(testInfo)); Map<ClientStatus, JUnitResult> queueResults = queue.getResults(testInfo); assertEquals(1, queueResults.size()); for (JUnitResult result : queueResults.values()) { assertNotNull(result.getException()); } queue.removeResults(testInfo); queue.reportResults(createClientInfo(0, "ff3"), createTestResults(ONE_TEST_PER_BLOCK)); queue.reportResults(createClientInfo(1, "ie6"), createTestResults(ONE_TEST_PER_BLOCK)); assertFalse(queue.needsRerunning(testInfo)); // check that the updated result appears now. queueResults = queue.getResults(testInfo); assertEquals(2, queueResults.size()); for (JUnitResult result : queueResults.values()) { assertNull(result.getException()); } }
public void testGetResults() { JUnitMessageQueue queue = createQueue(3, 2, 3); TestInfo[] testBlock0 = queue.getTestBlocks().get(0); TestInfo test0_0 = testBlock0[0]; // The results from the three clients. JUnitResult result0 = new JUnitResult(); result0.setException(new IllegalArgumentException("0")); JUnitResult result1 = new JUnitResult(); result0.setException(new IllegalArgumentException("1")); JUnitResult result2 = new JUnitResult(); result0.setException(new IllegalArgumentException("2")); // Client 0 reports results for first test case. { Map<TestInfo, JUnitResult> results = new HashMap<TestInfo, JUnitResult>(); results.put(test0_0, result0); queue.reportResults(createClientInfo(0, "ie6"), results); } // Client 1 reports results for first test case. { Map<TestInfo, JUnitResult> results = new HashMap<TestInfo, JUnitResult>(); results.put(test0_0, result1); queue.reportResults(createClientInfo(1, "ie6"), results); } // Client 2 reports results for first test case. { Map<TestInfo, JUnitResult> results = new HashMap<TestInfo, JUnitResult>(); results.put(test0_0, result2); queue.reportResults(createClientInfo(2, "ie6"), results); } // Get the results Map<ClientStatus, JUnitResult> results = queue.getResults(test0_0); assertEquals(3, results.size()); for (Entry<ClientStatus, JUnitResult> entry : results.entrySet()) { ClientStatus client = entry.getKey(); JUnitResult result = entry.getValue(); switch (client.getId()) { case 0: assertEquals(result0, result); break; case 1: assertEquals(result1, result); break; case 2: assertEquals(result2, result); break; default: fail("Unexpected client"); break; } } }