public boolean apply(Instance instance) { String serialPortContents = instanceApi.getSerialPortOutput(instance.name(), 4).contents(); List<String> contentEntries = Splitter.on('\n').splitToList(serialPortContents); Optional<String> retrievedPassword = tryFind( filter(transform(contentEntries, deserializeSerialOutput(json)), notNull()), HasEncryptedPassword) .transform(ExtractEncryptedPassword); if (retrievedPassword.isPresent()) { encryptedPassword.set(retrievedPassword.get()); } return retrievedPassword.isPresent(); } // Notice that timeoutDuration should be less than EXPIRE_DURATION
/** * {@inheritDoc} */ @Override public String toString() { return string().toString(); }
expect(operation.httpErrorStatusCode()).andReturn(null); expect(instanceApi.getSerialPortOutput(instance.name(), 4)).andReturn(serialPortOutput).atLeastOnce(); expect(serialPortOutput.contents()).andReturn("{\"ready\":true,\"version\":\"Microsoft Windows NT 6.2.9200.0\"}\n" + "{\"encryptedPassword\":\"" + encryptedPass + "\",\"exponent\":\"" + exponentString + "\",\"passwordFound\":true,\"userName\":\"Administrator\"}"); expect(crypto.cipher("RSA/NONE/OAEPPadding")).andReturn(bcCrypto.cipher("RSA/NONE/OAEPPadding"));
public SerialPortOutput build() { return new SerialPortOutput(selfLink, contents); }
public Builder toBuilder() { return builder().fromInstanceSerialPortOutput(this); }
public SerialPortOutput build() { return new SerialPortOutput(selfLink, contents); }
public Builder toBuilder() { return builder().fromInstanceSerialPortOutput(this); }
@Consumes(APPLICATION_JSON) public SerialPortOutput expected(String baseUrl, String contents) { return SerialPortOutput.create( URI.create(baseUrl + "/party/zones/us-central1-a/instances/test-instance/serialPort"), contents ); } }
@Consumes(APPLICATION_JSON) public SerialPortOutput expected(String baseUrl) { return SerialPortOutput.create( URI.create(baseUrl + "/party/zones/us-central1-a/instances/test-instance/serialPort"), "console output"); }
@Test(groups = "live", dependsOnMethods = "testInsertInstance") public void testGetSerialPortOutput() { SerialPortOutput output = api().getSerialPortOutput(INSTANCE_NAME); assertNotNull(output); assertNotNull(output.contents()); }
public boolean apply(Instance instance) { String serialPortContents = instanceApi.getSerialPortOutput(instance.name(), 4).contents(); if (!serialPortContents.startsWith("{\"ready\":true")) { return false; } String[] contentEntries = serialPortContents.split("\n"); passwordDict.clear(); passwordDict.putAll(new Gson().fromJson(contentEntries[contentEntries.length - 1], Map.class)); passwordDict.put("passwordDictContentEntries", contentEntries[contentEntries.length - 1]); return passwordDict.get("encryptedPassword") != null; } }, 10 * 60, 30, TimeUnit.SECONDS).apply(instance.get()); // Notice that timeoutDuration should be less than EXPIRE_DURATION
public boolean apply(Instance instance) { String serialPortContents = instanceApi.getSerialPortOutput(instance.name(), 4).contents(); List<String> contentEntries = Splitter.on('\n').splitToList(serialPortContents); Optional<String> retrievedPassword = tryFind( filter(transform(contentEntries, deserializeSerialOutput(json)), notNull()), HasEncryptedPassword) .transform(ExtractEncryptedPassword); if (retrievedPassword.isPresent()) { encryptedPassword.set(retrievedPassword.get()); } return retrievedPassword.isPresent(); } // Notice that timeoutDuration should be less than EXPIRE_DURATION
public boolean apply(Instance instance) { String serialPortContents = instanceApi.getSerialPortOutput(instance.name(), 4).contents(); if (!serialPortContents.startsWith("{\"ready\":true")) { return false; } String[] contentEntries = serialPortContents.split("\n"); passwordDict.clear(); passwordDict.putAll(new Gson().fromJson(contentEntries[contentEntries.length - 1], Map.class)); passwordDict.put("passwordDictContentEntries", contentEntries[contentEntries.length - 1]); return passwordDict.get("encryptedPassword") != null; } }, 10 * 60, 30, TimeUnit.SECONDS).apply(instance.get()); // Notice that timeoutDuration should be less than EXPIRE_DURATION
/** * {@inheritDoc} */ @Override public String toString() { return string().toString(); }
public Builder fromInstanceSerialPortOutput(SerialPortOutput in) { return this.selfLink(in.getSelfLink().orNull()) .contents(in.getContents()); } }
public Builder fromInstanceSerialPortOutput(SerialPortOutput in) { return this.selfLink(in.getSelfLink().orNull()) .contents(in.getContents()); } }