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); }
assertJoin(t); assertJoin(u); if (error.get() != null) { throw failure(error.get());
public void testPrompt() throws Exception { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell() { @Override public String getPrompt() { return "foo"; } }); t.start(); // ServerAutomaton server = new ServerAutomaton(serverOOS, serverOIS); assertEquals("foo", server.getPrompt()); // t.interrupt(); assertJoin(t); }
public void testWelcome() throws Exception { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell() { @Override public String getWelcome() { return "bar"; } }); t.start(); // ServerAutomaton server = new ServerAutomaton(serverOOS, serverOIS); assertEquals("bar", server.getWelcome()); // t.interrupt(); 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 testComplete() { ClientProcessor t = new ClientProcessor(clientOIS, clientOOS, new BaseShell() { @Override public CompletionMatch complete(String prefix) { return new CompletionMatch(Delimiter.DOUBLE_QUOTE, Completion.create(prefix, "ix", true)); } }); t.start(); // ServerAutomaton server = new ServerAutomaton(serverOOS, serverOIS); CompletionMatch completion = server.complete("pref"); assertEquals(Delimiter.DOUBLE_QUOTE, completion.getDelimiter()); Completion value = completion.getValue(); assertEquals("pref", value.getPrefix()); assertEquals(1, value.getSize()); assertEquals(Collections.singleton("ix"), value.getValues()); assertEquals(Boolean.TRUE, value.get("ix")); // t.interrupt(); 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); }