public void testDefaults() { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); assertEquals(config.getAnonymousTaskSuffixSupplier().toString(), "currentTimeMillis()"); assertEquals(config.getBasedir(), "/tmp"); assertEquals(config.getInitScriptPattern(), "/tmp/init-%s"); }
public static InitScriptConfigurationForTasks create() { return new InitScriptConfigurationForTasks(); }
protected InitScriptConfigurationForTasks() { appendCurrentTimeMillisToAnonymousTaskNames(); }
public void testPatternUpdatesBasedir() { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); config.initScriptPattern("/var/foo-init-%s"); assertEquals(config.getBasedir(), format("%svar", File.separator)); assertEquals(config.getInitScriptPattern(), "/var/foo-init-%s"); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "initScriptPattern must be a UNIX-style path starting at the root \\(/\\)") public void testInitScriptPatternIsUnixLike() { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); config.initScriptPattern("jclouds-%s/foo"); } }
public void testIncrementingTimeSupplier() throws InterruptedException { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create() .appendIncrementingNumberToAnonymousTaskNames(); assertEquals(config.getAnonymousTaskSuffixSupplier().get(), "0"); assertEquals(config.getAnonymousTaskSuffixSupplier().get(), "1"); }
public static InitScript createInitScript(InitScriptConfigurationForTasks config, String name, Statement script) { if (name == null) { name = "jclouds-script-" + config.getAnonymousTaskSuffixSupplier().get(); } return InitScript.builder().name(name).home(config.getBasedir() + "/" + name).run(script).build(); }
@Test(expectedExceptions = IllegalStateException.class) public void testWithoutInitThrowsIllegalStateException() { Statement command = exec("doFoo"); NodeMetadata node = new NodeMetadataBuilder().ids("id").status(Status.RUNNING).credentials( LoginCredentials.builder().user("tester").password("notalot").build()).build(); SshClient sshClient = createMock(SshClient.class); replay(sshClient); RunScriptOnNodeAsInitScriptUsingSsh testMe = new RunScriptOnNodeAsInitScriptUsingSsh(Functions .forMap(ImmutableMap.of(node, sshClient)), eventBus, InitScriptConfigurationForTasks.create() .appendIncrementingNumberToAnonymousTaskNames(), node, command, new RunScriptOptions()); testMe.call(); }
public void testPatternUpdatesBasedirGuice() { InitScriptConfigurationForTasks config = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(InitScriptConfigurationForTasks.PROPERTY_INIT_SCRIPT_PATTERN)).to( "/var/foo-init-%s"); } }).getInstance(InitScriptConfigurationForTasks.class); config.initScriptPattern("/var/foo-init-%s"); assertEquals(config.getBasedir(), format("%svar", File.separator)); assertEquals(config.getInitScriptPattern(), "/var/foo-init-%s"); }
public SudoAwareInitManager(Function<NodeMetadata, SshClient> sshFactory, boolean runAsRoot, NodeMetadata node, InitScriptConfigurationForTasks initScriptConfiguration, InitScript init) { this.sshFactory = checkNotNull(sshFactory, "sshFactory"); this.runAsRoot = runAsRoot; this.node = checkNotNull(node, "node"); this.initFile = String.format(initScriptConfiguration.getInitScriptPattern(), init.getInstanceName()); this.init = checkNotNull(init, "init"); }
public void testCurrentTimeSupplier() throws InterruptedException { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); long time1 = Long.parseLong(config.getAnonymousTaskSuffixSupplier().get()); assert time1 <= System.currentTimeMillis(); Thread.sleep(10); long time2 = Long.parseLong(config.getAnonymousTaskSuffixSupplier().get()); assert time2 <= System.currentTimeMillis(); assert time2 > time1; }
public void testPatternUpdatesBasedir() { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); config.initScriptPattern("/var/foo-init-%s"); assertEquals(config.getBasedir(), "/var"); assertEquals(config.getInitScriptPattern(), "/var/foo-init-%s"); }
public static InitScript createInitScript(InitScriptConfigurationForTasks config, String name, Statement script) { if (name == null) { name = "jclouds-script-" + config.getAnonymousTaskSuffixSupplier().get(); } return InitScript.builder().name(name).home(config.getBasedir() + "/" + name).run(script).build(); }
@Test(expectedExceptions = IllegalStateException.class) public void testWithoutInitThrowsIllegalStateException() { Statement command = exec("doFoo"); NodeMetadata node = new NodeMetadataBuilder().ids("id").status(Status.RUNNING).credentials( LoginCredentials.builder().user("tester").password("testpassword!").build()).build(); SshClient sshClient = createMock(SshClient.class); replay(sshClient); RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete testMe = new RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete( statusFactory, timeouts, Functions.forMap(ImmutableMap.of(node, sshClient)), eventBus, InitScriptConfigurationForTasks.create().appendIncrementingNumberToAnonymousTaskNames(), node, command, new RunScriptOptions()); testMe.call(); }
public void testPatternUpdatesBasedirGuice() { InitScriptConfigurationForTasks config = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(InitScriptConfigurationForTasks.PROPERTY_INIT_SCRIPT_PATTERN)).to( "/var/foo-init-%s"); } }).getInstance(InitScriptConfigurationForTasks.class); config.initScriptPattern("/var/foo-init-%s"); assertEquals(config.getBasedir(), "/var"); assertEquals(config.getInitScriptPattern(), "/var/foo-init-%s"); }
public void testIncrementingTimeSupplier() throws InterruptedException { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create() .appendIncrementingNumberToAnonymousTaskNames(); assertEquals(config.getAnonymousTaskSuffixSupplier().get(), "0"); assertEquals(config.getAnonymousTaskSuffixSupplier().get(), "1"); }
public SudoAwareInitManager(Function<NodeMetadata, SshClient> sshFactory, boolean runAsRoot, NodeMetadata node, InitScriptConfigurationForTasks initScriptConfiguration, InitScript init) { this.sshFactory = checkNotNull(sshFactory, "sshFactory"); this.runAsRoot = runAsRoot; this.node = checkNotNull(node, "node"); this.initFile = String.format(initScriptConfiguration.getInitScriptPattern(), init.getInstanceName()); this.init = checkNotNull(init, "init"); }
public void testCurrentTimeSupplier() throws InterruptedException { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); long time1 = Long.parseLong(config.getAnonymousTaskSuffixSupplier().get()); assert time1 <= System.currentTimeMillis(); Thread.sleep(10); long time2 = Long.parseLong(config.getAnonymousTaskSuffixSupplier().get()); assert time2 <= System.currentTimeMillis(); assert time2 > time1; }
@Test public void testInitScriptPattern() throws Exception { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); config.initScriptPattern("/var/tmp/jclouds-%s"); assertEquals(config.getBasedir(), "/var/tmp"); assertEquals(config.getInitScriptPattern(), "/var/tmp/jclouds-%s"); }
public void testDefaults() { InitScriptConfigurationForTasks config = InitScriptConfigurationForTasks.create(); assertEquals(config.getAnonymousTaskSuffixSupplier().toString(), "currentTimeMillis()"); assertEquals(config.getBasedir(), "/tmp"); assertEquals(config.getInitScriptPattern(), "/tmp/init-%s"); }