public ExecResponse exec(String command) { if (command.equals("hostname")) { return new ExecResponse(sshHost, "", 0); } throw new RuntimeException("command " + command + " not stubbed"); }
public ExecResponse exec(String command) { if (command.equals("hostname")) { return new ExecResponse(sshHost, "", 0); } throw new RuntimeException("command " + command + " not stubbed"); }
public ExecResponse exec(String command) { if (command.equals("hostname")) { return new ExecResponse(sshHost, "", 0); } throw new RuntimeException("command " + command + " not stubbed"); }
private void helloAndJava(SshClient client) { client.connect(); expect(client.exec("echo hello")).andReturn(new ExecResponse("hello", "", 0)); expect(client.exec("java -version")).andReturn(new ExecResponse("", "OpenJDK", 0)); client.disconnect(); }
private void helloAndJava(SshClient client) { client.connect(); expect(client.exec("echo hello")).andReturn(new ExecResponse("hello", "", 0)); expect(client.exec("java -version")).andReturn(new ExecResponse("", "OpenJDK", 0)); client.disconnect(); }
public void testExitStatusOfCommandGreaterThanZeroTrueWhen1() { SudoAwareInitManager commandRunner = createMockBuilder(SudoAwareInitManager.class).addMockedMethod("runAction") .createStrictMock(); expect(commandRunner.runAction("status")).andReturn(new ExecResponse("", "", 1)); replay(commandRunner); Predicate<String> pred = new ExitStatusOfCommandGreaterThanZero(commandRunner); assertEquals(pred.apply("status"), true); verify(commandRunner); }
public void testExitStatusOfCommandGreaterThanZeroFalseWhen0() { SudoAwareInitManager commandRunner = createMockBuilder(SudoAwareInitManager.class).addMockedMethod("runAction") .createStrictMock(); expect(commandRunner.runAction("status")).andReturn(new ExecResponse("", "", 0)); replay(commandRunner); Predicate<String> pred = new ExitStatusOfCommandGreaterThanZero(commandRunner); assertEquals(pred.apply("status"), false); verify(commandRunner); }
public void testExitStatusOfCommandGreaterThanZeroTrueWhen1() { SudoAwareInitManager commandRunner = createMockBuilder(SudoAwareInitManager.class).addMockedMethod("runAction") .createStrictMock(); expect(commandRunner.runAction("status")).andReturn(new ExecResponse("", "", 1)); replay(commandRunner); Predicate<String> pred = new ExitStatusOfCommandGreaterThanZero(commandRunner); assertEquals(pred.apply("status"), true); verify(commandRunner); }
public void testExitStatusOfCommandGreaterThanZeroFalseWhen0() { SudoAwareInitManager commandRunner = createMockBuilder(SudoAwareInitManager.class).addMockedMethod("runAction") .createStrictMock(); expect(commandRunner.runAction("status")).andReturn(new ExecResponse("", "", 0)); replay(commandRunner); Predicate<String> pred = new ExitStatusOfCommandGreaterThanZero(commandRunner); assertEquals(pred.apply("status"), false); verify(commandRunner); }
@Override public ExecResponse create() throws Exception { try { session = acquire(execConnection()); Command output = session.exec(checkNotNull(command, "command")); String outputString = IOUtils.readFully(output.getInputStream()).toString(); output.join(sshClientConnection.getSessionTimeout(), TimeUnit.MILLISECONDS); String errorString = IOUtils.readFully(output.getErrorStream()).toString(); return new ExecResponse(outputString, errorString, output.getExitStatus()); } finally { clear(); } }
@Override public ExecResponse create() throws Exception { try { session = acquire(execConnection()); Command output = session.exec(checkNotNull(command, "command")); String outputString = IOUtils.readFully(output.getInputStream()).toString(); output.join(sshClientConnection.getSessionTimeout(), TimeUnit.MILLISECONDS); int errorStatus = output.getExitStatus(); String errorString = IOUtils.readFully(output.getErrorStream()).toString(); return new ExecResponse(outputString, errorString, errorStatus); } finally { clear(); } }
@Override public ExecResponse create() throws Exception { try { session = acquire(execConnection()); Command output = session.exec(checkNotNull(command, "command")); String outputString = IOUtils.readFully(output.getInputStream()).toString(); output.join(sshClientConnection.getSessionTimeout(), TimeUnit.MILLISECONDS); int errorStatus = output.getExitStatus(); String errorString = IOUtils.readFully(output.getErrorStream()).toString(); return new ExecResponse(outputString, errorString, errorStatus); } finally { clear(); } }
@Override public ExecResponse create() throws Exception { try { session = acquire(execConnection()); Command output = session.exec(checkNotNull(command, "command")); String outputString = IOUtils.readFully(output.getInputStream()).toString(); output.join(sshClientConnection.getSessionTimeout(), TimeUnit.MILLISECONDS); String errorString = IOUtils.readFully(output.getErrorStream()).toString(); return new ExecResponse(outputString, errorString, output.getExitStatus()); } finally { clear(); } }
@Override public ExecResponse create() throws Exception { try { session = acquire(execConnection()); Command output = session.exec(checkNotNull(command, "command")); String outputString = IOUtils.readFully(output.getInputStream()).toString(); output.join(sshClientConnection.getSessionTimeout(), TimeUnit.MILLISECONDS); int errorStatus = output.getExitStatus(); String errorString = IOUtils.readFully(output.getErrorStream()).toString(); return new ExecResponse(outputString, errorString, errorStatus); } finally { clear(); } }
public void testExitStatusZeroReturnsExecResponse() throws InterruptedException, ExecutionException { ListeningExecutorService userExecutor = MoreExecutors.sameThreadExecutor(); Predicate<String> notRunningAnymore = Predicates.alwaysTrue(); SudoAwareInitManager commandRunner = createMockBuilder(SudoAwareInitManager.class).addMockedMethod("runAction") .addMockedMethod("getStatement").addMockedMethod("getNode").addMockedMethod("toString") .createStrictMock(); InitScript initScript = createMockBuilder(InitScript.class).addMockedMethod("getInstanceName").createStrictMock(); expect(commandRunner.runAction("stdout")).andReturn(new ExecResponse("stdout", "", 0)); expect(commandRunner.runAction("stderr")).andReturn(new ExecResponse("stderr", "", 0)); expect(commandRunner.runAction("exitstatus")).andReturn(new ExecResponse("444\n", "", 0)); toStringAndEventBusExpectations(commandRunner, initScript); replay(commandRunner, initScript); BlockUntilInitScriptStatusIsZeroThenReturnOutput future = new BlockUntilInitScriptStatusIsZeroThenReturnOutput( userExecutor, eventBus, notRunningAnymore, commandRunner); future.run(); assertEquals(future.get(), new ExecResponse("stdout", "stderr", 444)); verify(commandRunner, initScript); }
public void simpleTest() { RunScriptOnNodeUsingSsh testMe = new RunScriptOnNodeUsingSsh(sshFactory, eventBus, node, exec("echo $USER\necho $USER"), wrapInInitScript(false).runAsRoot(false)); testMe.init(); sshClient.connect(); expect(sshClient.getUsername()).andReturn("tester"); expect(sshClient.getHostAddress()).andReturn("somewhere.example.com"); expect(sshClient.exec("echo $USER\n" + "echo $USER\n")).andReturn(new ExecResponse("tester\ntester\n", null, 0)); sshClient.disconnect(); replay(sshClient); testMe.call(); }
public void simpleTest() { RunScriptOnNodeUsingSsh testMe = new RunScriptOnNodeUsingSsh(sshFactory, eventBus, node, exec("echo $USER\necho $USER"), wrapInInitScript(false).runAsRoot(false)); testMe.init(); sshClient.connect(); expect(sshClient.getUsername()).andReturn("tester"); expect(sshClient.getHostAddress()).andReturn("somewhere.example.com"); expect(sshClient.exec("echo $USER\n" + "echo $USER\n")).andReturn(new ExecResponse("tester\ntester\n", null, 0)); sshClient.disconnect(); replay(sshClient); testMe.call(); }
public void simpleRootTest() { RunScriptOnNodeUsingSsh testMe = new RunScriptOnNodeUsingSsh(sshFactory, eventBus, node, exec("echo $USER\necho $USER"), wrapInInitScript(false).runAsRoot(true)); testMe.init(); sshClient.connect(); expect(sshClient.getUsername()).andReturn("tester"); expect(sshClient.getHostAddress()).andReturn("somewhere.example.com"); expect( sshClient.exec("sudo sh <<'RUN_SCRIPT_AS_ROOT_SSH'\n" + "echo $USER\n" + "echo $USER\n" + "RUN_SCRIPT_AS_ROOT_SSH\n")).andReturn(new ExecResponse("root\nroot\n", null, 0)); sshClient.disconnect(); replay(sshClient); testMe.call(); }
public void simpleRootTest() { RunScriptOnNodeUsingSsh testMe = new RunScriptOnNodeUsingSsh(sshFactory, eventBus, node, exec("echo $USER\necho $USER"), wrapInInitScript(false).runAsRoot(true)); testMe.init(); sshClient.connect(); expect(sshClient.getUsername()).andReturn("tester"); expect(sshClient.getHostAddress()).andReturn("somewhere.example.com"); expect( sshClient.exec("sudo sh <<'RUN_SCRIPT_AS_ROOT_SSH'\n" + "echo $USER\n" + "echo $USER\n" + "RUN_SCRIPT_AS_ROOT_SSH\n")).andReturn(new ExecResponse("root\nroot\n", null, 0)); sshClient.disconnect(); replay(sshClient); testMe.call(); }
public void testUserAddAsRoot() { RunScriptOnNodeUsingSsh testMe = new RunScriptOnNodeUsingSsh(sshFactory, eventBus, node, UserAdd.builder() .login("testuser").build(), wrapInInitScript(false).runAsRoot(true).overrideLoginPassword("test")); testMe.init(); sshClient.connect(); expect(sshClient.getUsername()).andReturn("tester"); expect(sshClient.getHostAddress()).andReturn("somewhere.example.com"); expect( sshClient.exec("sudo sh <<'RUN_SCRIPT_AS_ROOT_SSH'\n" + "mkdir -p /home/users\n" + "useradd -c testuser -s /bin/bash -m -d /home/users/testuser testuser\n" + "chown -R testuser /home/users/testuser\n" + "RUN_SCRIPT_AS_ROOT_SSH\n")).andReturn( new ExecResponse("done", null, 0)); sshClient.disconnect(); replay(sshClient); testMe.call(); } }