server.registerTermServer(telnetTermServer); server.registerCommandResolver(CommandResolver.baseCommands(vertx));
/** * @param vertx * @return the base commands of Vert.x Shell. */ public static io.vertx.rxjava.ext.shell.command.CommandResolver baseCommands(io.vertx.rxjava.core.Vertx vertx) { io.vertx.rxjava.ext.shell.command.CommandResolver ret = io.vertx.rxjava.ext.shell.command.CommandResolver.newInstance(io.vertx.ext.shell.command.CommandResolver.baseCommands(vertx.getDelegate())); return ret; }
/** * @param vertx * @return the base commands of Vert.x Shell. */ public static io.vertx.rxjava.ext.shell.command.CommandResolver baseCommands(io.vertx.rxjava.core.Vertx vertx) { io.vertx.rxjava.ext.shell.command.CommandResolver ret = io.vertx.rxjava.ext.shell.command.CommandResolver.newInstance(io.vertx.ext.shell.command.CommandResolver.baseCommands(vertx.getDelegate())); return ret; }
Iterator<CommandResolverFactory> it = loader.iterator(); List<CommandResolverFactory> factories = new ArrayList<>(); factories.add((vertx, handler) -> handler.handle(Future.succeededFuture(CommandResolver.baseCommands(vertx)))); while (true) { try {
@Before public void before(TestContext context) { vertx = Vertx.vertx(); server = ShellServer.create(vertx); commands = new TestCommands(vertx); server. registerCommandResolver(CommandResolver.baseCommands(vertx)). registerCommandResolver(commands). listen(context.asyncAssertSuccess()); }
@Test public void testPrompt(TestContext context) { commands = new TestCommands(vertx); ShellServer server = ShellServer.create(vertx, new ShellServerOptions() .setWelcomeMessage("") .setSessionTimeout(100) .setReaperInterval(100)); server.shellHandler(shell -> shell.setPrompt(s -> "FOOPROMPT")); TestTermServer termServer = new TestTermServer(vertx); server.registerTermServer(termServer); server. registerCommandResolver(CommandResolver.baseCommands(vertx)). registerCommandResolver(commands). listen(context.asyncAssertSuccess()); TestTtyConnection conn = termServer.openConnection(); Async async = context.async(); commands.add(CommandBuilder.command("foo").processHandler(process -> { context.assertEquals(null, conn.checkWritten("FOOPROMPTfoo\n")); process.stdinHandler(cp -> { context.fail(); }); process.endHandler(v -> { async.complete(); } ); process.end(); })); conn.read("foo\r"); async.awaitSuccess(5000); }