@SuppressWarnings("unchecked") @Test public void testDestroyNodeTerminatesInstanceAndReturnsRefreshedNode() throws Exception { EC2Api client = createMock(EC2Api.class); InstanceApi instanceClient = createMock(InstanceApi.class); GetNodeMetadataStrategy getNode = createMock(GetNodeMetadataStrategy.class); LoadingCache<RegionAndName, String> elasticIpCache = createMock(LoadingCache.class); NodeMetadata node = createMock(NodeMetadata.class); expect(client.getInstanceApi()).andReturn((Optional) Optional.of(instanceClient)).atLeastOnce(); expect(instanceClient.terminateInstancesInRegion("region", "i-blah")).andReturn(null); expect(getNode.getNode("region/i-blah")).andReturn(node); replay(client); replay(getNode); replay(instanceClient); replay(elasticIpCache); EC2DestroyNodeStrategy destroyer = new EC2DestroyNodeStrategy(client, getNode, elasticIpCache); assertEquals(destroyer.destroyNode("region/i-blah"), node); verify(client); verify(getNode); verify(instanceClient); verify(elasticIpCache); }
@SuppressWarnings("unchecked") @Test public void testDestroyNodeTerminatesInstanceAndReturnsRefreshedNode() throws Exception { EC2Client client = createMock(EC2Client.class); InstanceClient instanceClient = createMock(InstanceClient.class); GetNodeMetadataStrategy getNode = createMock(GetNodeMetadataStrategy.class); LoadingCache<RegionAndName, String> elasticIpCache = createMock(LoadingCache.class); NodeMetadata node = createMock(NodeMetadata.class); expect(client.getInstanceServices()).andReturn(instanceClient).atLeastOnce(); expect(instanceClient.terminateInstancesInRegion("region", "i-blah")).andReturn(null); expect(getNode.getNode("region/i-blah")).andReturn(node); replay(client); replay(getNode); replay(instanceClient); replay(elasticIpCache); EC2DestroyNodeStrategy destroyer = new EC2DestroyNodeStrategy(client, getNode, elasticIpCache); assertEquals(destroyer.destroyNode("region/i-blah"), node); verify(client); verify(getNode); verify(instanceClient); verify(elasticIpCache); }
destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node);
destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node);
@SuppressWarnings("unchecked") @Test public void testDestroyNodeSafeOnCacheMissThenTerminatesInstanceAndReturnsRefreshedNode() throws Exception { EC2Client client = createMock(EC2Client.class); GetNodeMetadataStrategy getNode = createMock(GetNodeMetadataStrategy.class); LoadingCache<RegionAndName, String> elasticIpCache = createMock(LoadingCache.class); ElasticIPAddressClient ipClient = createMock(ElasticIPAddressClient.class); InstanceClient instanceClient = createMock(InstanceClient.class); NodeMetadata node = createMock(NodeMetadata.class); expect(elasticIpCache.get(new RegionAndName("region", "i-blah"))).andThrow(new CacheLoader.InvalidCacheLoadException(null)); expect(client.getInstanceServices()).andReturn(instanceClient).atLeastOnce(); expect(instanceClient.terminateInstancesInRegion("region", "i-blah")).andReturn(null); expect(getNode.getNode("region/i-blah")).andReturn(node); replay(client); replay(getNode); replay(elasticIpCache); replay(instanceClient); replay(ipClient); EC2DestroyNodeStrategy destroyer = new EC2DestroyNodeStrategy(client, getNode, elasticIpCache); destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node); verify(client); verify(getNode); verify(elasticIpCache); verify(instanceClient); verify(ipClient); }
@SuppressWarnings("unchecked") @Test public void testDestroyNodeSafeOnCacheMissThenTerminatesInstanceAndReturnsRefreshedNode() throws Exception { EC2Api client = createMock(EC2Api.class); GetNodeMetadataStrategy getNode = createMock(GetNodeMetadataStrategy.class); LoadingCache<RegionAndName, String> elasticIpCache = createMock(LoadingCache.class); ElasticIPAddressApi ipClient = createMock(ElasticIPAddressApi.class); InstanceApi instanceClient = createMock(InstanceApi.class); NodeMetadata node = createMock(NodeMetadata.class); expect(elasticIpCache.get(new RegionAndName("region", "i-blah"))).andThrow(new CacheLoader.InvalidCacheLoadException(null)); expect(client.getInstanceApi()).andReturn((Optional) Optional.of(instanceClient)).atLeastOnce(); expect(instanceClient.terminateInstancesInRegion("region", "i-blah")).andReturn(null); expect(getNode.getNode("region/i-blah")).andReturn(node); replay(client); replay(getNode); replay(elasticIpCache); replay(instanceClient); replay(ipClient); EC2DestroyNodeStrategy destroyer = new EC2DestroyNodeStrategy(client, getNode, elasticIpCache); destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node); verify(client); verify(getNode); verify(elasticIpCache); verify(instanceClient); verify(ipClient); }
destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node);
destroyer.autoAllocateElasticIps = true; assertEquals(destroyer.destroyNode("region/i-blah"), node);