private Optional<? extends Image> getImage() { return Iterables.tryFind(listImages(), new Predicate<Image>() { @Override public boolean apply(Image input) { return input.getId().equals(imageId); } }); }
@Override protected Properties setupProperties() { Properties overrides = super.setupProperties(); // This is a hack to make sure we get a different set of node IDs, nodes, groups, etc from StubComputeServiceIntegrationTest. overrides.setProperty(provider + ".identity", "sec-stub"); return overrides; } }
@AfterClass @Override protected void tearDownContext() { super.tearDownContext(); }
@Override public TemplateBuilder getNodeTemplate() { return super.getNodeTemplate().from(ebsTemplate); }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testDeleteImage") public void testImageIsRemovedFromCacheAfterDeletion() { Optional<Image> imageInCache = findImageWithNameInCache(imageGroup); assertFalse(imageInCache.isPresent()); assertFalse(getImage().isPresent()); }
@Override protected Properties setupProperties() { Properties properties = super.setupProperties(); AzureLiveTestUtils.defaultProperties(properties); setIfTestSystemPropertyPresent(properties, "oauth.endpoint"); return properties; }
@Test public void deleteDoesNotUnregisterImageFromCacheWhenFailed() { ImageCacheSupplier imageCache = createMock(ImageCacheSupplier.class); ImageExtension delegate = createMock(ImageExtension.class); expect(delegate.deleteImage("test")).andReturn(false); replay(delegate, imageCache); new DelegatingImageExtension(imageCache, delegate, null, null).deleteImage("test"); verify(delegate, imageCache); }
@Test public void createImageDoesNotRegisterInCacheWhenCancelled() { ImageCacheSupplier imageCache = createMock(ImageCacheSupplier.class); ImageExtension delegate = createMock(ImageExtension.class); AddDefaultCredentialsToImage credsToImage = createMock(AddDefaultCredentialsToImage.class); ImageTemplate template = new ImageTemplateImpl("test") { }; expect(delegate.createImage(template)).andReturn(Futures.<Image> immediateCancelledFuture()); replay(delegate, imageCache, credsToImage); new DelegatingImageExtension(imageCache, delegate, credsToImage, null).createImage(template); verify(delegate, imageCache, credsToImage); }
private void checkReachable(NodeMetadata node) { SshClient client = view.utils().sshForNode().apply(node); assertTrue(retry(new Predicate<SshClient>() { @Override public boolean apply(SshClient input) { input.connect(); if (input.exec("id").getExitStatus() == 0) { return true; } return false; } }, getSpawnNodeMaxWait(), 1l, SECONDS).apply(client)); } }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = { "testCreateImage", "testSpawnNodeFromImage" }) public void testDeleteImage() { ComputeService computeService = view.getComputeService(); Optional<ImageExtension> imageExtension = computeService.getImageExtension(); assertTrue(imageExtension.isPresent(), "image extension was not present"); Optional<? extends Image> optImage = getImage(); assertTrue(optImage.isPresent()); Image image = optImage.get(); assertTrue(imageExtension.get().deleteImage(image.getId())); }
@BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); CloudStackApi api = view.unwrapApi(CloudStackApi.class); for (Zone z : api.getZoneApi().listZones()) { if (z.isSecurityGroupsEnabled()) { zone = z; break; } } if (zone == null) securityGroupsSupported = false; }
@AfterClass(groups = { "integration", "live" }) @Override protected void tearDownContext() { try { cleanup(); } catch (Exception e) { } super.tearDownContext(); }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testCreateImage") public void testImageIsCachedAfterBeingCreated() { Optional<Image> imageInCache = findImageWithNameInCache(imageGroup); assertTrue(imageInCache.isPresent()); assertEquals(imageInCache.get().getId(), imageId); }
private void cleanup() { if (securityGroupsSupported) { ComputeService computeService = view.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = computeService.getSecurityGroupExtension(); if (securityGroupExtension.isPresent()) { Optional<SecurityGroup> group = getGroup(securityGroupExtension.get()); if (group.isPresent()) { securityGroupExtension.get().removeSecurityGroup(group.get().getId()); } } } }
@Override public TemplateBuilder getNodeTemplate() { Map<String, String> keyPair = ComputeTestUtils.setupKeyPair(); return super.getNodeTemplate().options( resourceGroup(resourceGroupName).authorizePublicKey(keyPair.get("public")).overrideLoginPrivateKey( keyPair.get("private"))); }
@Override protected Properties setupProperties() { Properties properties = super.setupProperties(); AzureLiveTestUtils.defaultProperties(properties); setIfTestSystemPropertyPresent(properties, "oauth.endpoint"); return properties; }
@Override protected Properties setupProperties() { Properties overrides = super.setupProperties(); String ebsSpec = checkNotNull(setIfTestSystemPropertyPresent(overrides, provider + ".ebs-template"), provider + ".ebs-template"); ebsTemplate = TemplateBuilderSpec.parse(ebsSpec); return overrides; }
@Test public void deleteUnregistersImageFromCache() { ImageCacheSupplier imageCache = createMock(ImageCacheSupplier.class); ImageExtension delegate = createMock(ImageExtension.class); expect(delegate.deleteImage("test")).andReturn(true); imageCache.removeImage("test"); expectLastCall(); replay(delegate, imageCache); new DelegatingImageExtension(imageCache, delegate, null, null).deleteImage("test"); verify(delegate, imageCache); }
@Test public void createImageDoesNotRegisterInCacheWhenFailed() { ImageCacheSupplier imageCache = createMock(ImageCacheSupplier.class); ImageExtension delegate = createMock(ImageExtension.class); AddDefaultCredentialsToImage credsToImage = createMock(AddDefaultCredentialsToImage.class); ImageTemplate template = new ImageTemplateImpl("test") { }; expect(delegate.createImage(template)).andReturn(Futures.<Image> immediateFailedFuture(new RuntimeException())); replay(delegate, imageCache, credsToImage); new DelegatingImageExtension(imageCache, delegate, credsToImage, null).createImage(template); verify(delegate, imageCache, credsToImage); }
private void checkReachable(NodeMetadata node) { SshClient client = view.utils().sshForNode().apply(node); assertTrue(retry(new Predicate<SshClient>() { @Override public boolean apply(SshClient input) { input.connect(); if (input.exec("id").getExitStatus() == 0) { return true; } return false; } }, getSpawnNodeMaxWait(), 1L, SECONDS).apply(client)); }