ShellResponse.Error error = assertInstance(ShellResponse.Error.class, message.response); assertEquals(ErrorKind.INTERNAL, error.getKind()); assertInstance(Exception.class, error.getThrowable()); assertEquals("this is a runtime exception", error.getThrowable().getMessage()); assertEquals(Arrays.asList(ex.get().getStackTrace()), Arrays.asList(error.getThrowable().getStackTrace())); assertInstance(ShellResponse.Ok.class, message.response);
public void testRawClose() throws Exception { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell(new BaseProcessFactory() { @Override public BaseProcess create(String request) { return new BaseProcess(request) { @Override protected ShellResponse execute(String request) { return ShellResponse.close(); } }; } })); t.start(); // serverOOS.writeObject(new ClientMessage.Execute(32, 50, "")); serverOOS.flush(); ServerMessage.End message = (ServerMessage.End)serverOIS.readObject(); assertInstance(ShellResponse.Close.class, message.response); // This should fail at some point try { serverOIS.readObject(); fail(); } catch (IOException e) { // OK } // assertJoin(t); }
public void testClose() throws Exception { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell(new BaseProcessFactory() { @Override public BaseProcess create(String request) { return new BaseProcess(request) { @Override protected ShellResponse execute(String request) { return ShellResponse.close(); } }; } })); t.start(); // ServerAutomaton server = new ServerAutomaton(serverOOS, serverOIS); ShellProcess process = server.createProcess("hello"); BaseProcessContext context = BaseProcessContext.create(process); context.execute(); ShellResponse response = context.getResponse(); assertInstance(ShellResponse.Close.class, response); // assertJoin(t); }
public void testExecute() throws Exception { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell(new BaseProcessFactory() { @Override public BaseProcess create(String request) { return new BaseProcess(request) { @Override public void process(String request, ShellProcessContext processContext) throws IOException { processContext.append("juu"); processContext.end(ShellResponse.ok()); } }; } })); t.start(); // ServerAutomaton server = new ServerAutomaton(serverOOS, serverOIS); ShellProcess process = server.createProcess("hello"); BaseProcessContext context = BaseProcessContext.create(process); context.execute(); assertInstance(ShellResponse.Ok.class, context.getResponse()); assertEquals("juu", context.getOutput()); // t.interrupt(); assertJoin(t); }