public void testRecordingControls() throws Exception { final ConsoleConnection consoleConnection = new ConsoleConnectionImplementation(m_sender); consoleConnection.startRecording(); m_senderStubFactory.assertSuccess("blockingSend", StartRecordingMessage.class); m_senderStubFactory.assertNoMoreCalls(); consoleConnection.stopRecording(); m_senderStubFactory.assertSuccess("blockingSend", StopRecordingMessage.class); m_senderStubFactory.assertNoMoreCalls(); consoleConnection.resetRecording(); m_senderStubFactory.assertSuccess("blockingSend", ResetRecordingMessage.class); m_senderStubFactory.assertNoMoreCalls(); final CommunicationException communicationException = new CommunicationException(""); m_senderStubFactory.setThrows("blockingSend", communicationException); try { consoleConnection.resetRecording(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } try { consoleConnection.stopRecording(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } try { consoleConnection.startRecording(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } consoleConnection.close(); }
public void testProcessMessages() throws Exception { final ConsoleConnection consoleConnection = new ConsoleConnectionImplementation(m_sender); m_senderStubFactory.setResult("blockingSend", new ResultMessage(new Integer(10))); assertEquals(10, consoleConnection.getNumberOfAgents()); m_senderStubFactory.assertSuccess("blockingSend", GetNumberOfAgentsMessage.class); m_senderStubFactory.assertNoMoreCalls(); final GrinderProperties properties = new GrinderProperties(); consoleConnection.startWorkerProcesses(properties); final CallData data = m_senderStubFactory.assertSuccess("blockingSend", StartWorkerProcessesMessage.class); assertSame(properties, ((StartWorkerProcessesMessage) data.getParameters()[0]).getProperties()); m_senderStubFactory.assertNoMoreCalls(); consoleConnection.resetWorkerProcesses(); m_senderStubFactory.assertSuccess("blockingSend", ResetWorkerProcessesMessage.class); m_senderStubFactory.assertNoMoreCalls(); consoleConnection.stopAgents(); m_senderStubFactory.assertSuccess("blockingSend", StopAgentAndWorkerProcessesMessage.class); m_senderStubFactory.assertNoMoreCalls(); m_senderStubFactory.setResult("blockingSend", null); try { consoleConnection.getNumberOfAgents(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { } m_senderStubFactory.setResult("blockingSend", new ResultMessage(new Serializable() {})); try { consoleConnection.getNumberOfAgents(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { } final CommunicationException communicationException = new CommunicationException(""); m_senderStubFactory.setThrows("blockingSend", communicationException); try { consoleConnection.getNumberOfAgents(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } try { consoleConnection.startWorkerProcesses(new GrinderProperties()); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } try { consoleConnection.resetWorkerProcesses(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } try { consoleConnection.stopAgents(); fail("Expected ConsoleConnectionException"); } catch (ConsoleConnectionException e) { assertSame(communicationException, e.getCause()); } consoleConnection.close(); }