@Test( enabled = true, dependsOnMethods = "testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired") public void testGet() throws Exception { Map<String, ? extends NodeMetadata> metadataMap = newLinkedHashMap( uniqueIndex( filter(client.listNodesDetailsMatching(all()), and(withTag(tag), not(TERMINATED))), new Function<NodeMetadata, String>() { @Override public String apply(NodeMetadata from) { return from.getId(); } })); for (NodeMetadata node : nodes) { metadataMap.remove(node.getId()); NodeMetadata metadata = client.getNodeMetadata(node.getId()); assertEquals(metadata.getProviderId(), node.getProviderId()); assertEquals(metadata.getTag(), node.getTag()); assertLocationSameOrChild(metadata.getLocation(), template.getLocation()); checkImageIdMatchesTemplate(metadata); checkOsMatchesTemplate(metadata); assertEquals(metadata.getState(), NodeState.RUNNING); // due to DHCP the addresses can actually change in-between runs. assertEquals(metadata.getPrivateAddresses().size(), node.getPrivateAddresses().size()); assertEquals(metadata.getPublicAddresses().size(), node.getPublicAddresses().size()); } assertNodeZero(metadataMap.values()); }
@Test( enabled = true, dependsOnMethods = {"testListNodes", "testGetNodesWithDetails"}) public void testDestroyNodes() { client.destroyNodesMatching(withTag(tag)); for (NodeMetadata node : filter(client.listNodesDetailsMatching(all()), withTag(tag))) { assert node.getState() == NodeState.TERMINATED : node; assertEquals(context.getCredentialStore().get("node#" + node.getId()), null); } }
@AfterTest protected void cleanup() throws InterruptedException, ExecutionException, TimeoutException { if (nodes != null) { client.destroyNodesMatching(NodePredicates.withTag(tag)); for (NodeMetadata node : Iterables.filter( client.listNodesDetailsMatching(NodePredicates.all()), NodePredicates.withTag(tag))) { assert node.getState() == NodeState.TERMINATED : node; } } context.close(); }
public void testGetNodesWithDetails() throws Exception { for (NodeMetadata node : client.listNodesDetailsMatching(NodePredicates.all())) { assert node.getProviderId() != null : node; assert node.getLocation() != null : node; assertEquals(node.getType(), ComputeType.NODE); assert node instanceof NodeMetadata; NodeMetadata nodeMetadata = (NodeMetadata) node; assert nodeMetadata.getProviderId() != null : nodeMetadata; // nullable // assert nodeMetadata.getImage() != null : node; // user specified name is not always supported // assert nodeMetadata.getName() != null : nodeMetadata; if (nodeMetadata.getState() == NodeState.RUNNING) { assert nodeMetadata.getPublicAddresses() != null : nodeMetadata; assert nodeMetadata.getPublicAddresses().size() > 0 || nodeMetadata.getPrivateAddresses().size() > 0 : nodeMetadata; assertNotNull(nodeMetadata.getPrivateAddresses()); } } }
@Test( enabled = true, dependsOnMethods = "testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired") public void testGet() throws Exception { Set<? extends NodeMetadata> metadataSet = Sets.newHashSet( Iterables.filter( client.listNodesDetailsMatching(NodePredicates.all()), Predicates.and( NodePredicates.withTag(tag), Predicates.not(NodePredicates.TERMINATED)))); for (NodeMetadata node : nodes) { metadataSet.remove(node); NodeMetadata metadata = client.getNodeMetadata(node.getId()); assertEquals(metadata.getProviderId(), node.getProviderId()); assertEquals(metadata.getTag(), node.getTag()); assertLocationSameOrChild(metadata.getLocation(), template.getLocation()); assertEquals(metadata.getImage(), template.getImage()); assertEquals(metadata.getState(), NodeState.RUNNING); assertEquals(metadata.getPrivateAddresses(), node.getPrivateAddresses()); assertEquals(metadata.getPublicAddresses(), node.getPublicAddresses()); } assertNodeZero(metadataSet); }
private Set<? extends NodeMetadata> refreshNodes() { return filter(client.listNodesDetailsMatching(all()), and(withTag(tag), not(TERMINATED))); }