removing Google Compute Engine buckets on test finish
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f22de3ea Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f22de3ea Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f22de3ea Branch: refs/heads/ignite-900 Commit: f22de3ea35b1506c8bcf4d2f7bb6d423a0b3225d Parents: 9bfc184 Author: Denis Magda <dma...@gridgain.com> Authored: Mon Jul 27 11:06:30 2015 +0300 Committer: Denis Magda <dma...@gridgain.com> Committed: Mon Jul 27 11:06:30 2015 +0300 ---------------------------------------------------------------------- .../TcpDiscoveryIpFinderAbstractSelfTest.java | 2 +- .../gce/TcpDiscoveryGoogleStorageIpFinder.java | 18 ++++++++++++ ...pDiscoveryGoogleStorageIpFinderSelfTest.java | 29 +++++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f22de3ea/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAbstractSelfTest.java index b5b8c63..ba660b8 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAbstractSelfTest.java @@ -31,7 +31,7 @@ import java.util.*; public abstract class TcpDiscoveryIpFinderAbstractSelfTest<T extends TcpDiscoveryIpFinder> extends GridCommonAbstractTest { /** */ - private T finder; + protected T finder; /** * Constructor. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f22de3ea/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java ---------------------------------------------------------------------- diff --git a/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java b/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java index 48991e8..c2b1a91 100644 --- a/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java +++ b/modules/gce/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinder.java @@ -380,4 +380,22 @@ public class TcpDiscoveryGoogleStorageIpFinder extends TcpDiscoveryIpFinderAdapt return new InetSocketAddress(res[0], port); } + + /** + * Used by TEST SUITES only. Called through reflection. + * + * @param bucketName Bucket to delete. + */ + private void removeBucket(String bucketName) { + init(); + + try { + Storage.Buckets.Delete deleteBucket = storage.buckets().delete(bucketName); + + deleteBucket.execute(); + } + catch (Exception e) { + throw new IgniteSpiException("Failed to remove the bucket: " + bucketName, e); + } + } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f22de3ea/modules/gce/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinderSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/gce/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinderSelfTest.java b/modules/gce/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinderSelfTest.java index 2fa0d43..f8929cc 100644 --- a/modules/gce/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinderSelfTest.java +++ b/modules/gce/src/test/java/org/apache/ignite/spi/discovery/tcp/ipfinder/gce/TcpDiscoveryGoogleStorageIpFinderSelfTest.java @@ -21,6 +21,7 @@ import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.discovery.tcp.ipfinder.*; import org.apache.ignite.testsuites.*; +import java.lang.reflect.*; import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.Collection; @@ -30,6 +31,9 @@ import java.util.Collection; */ public class TcpDiscoveryGoogleStorageIpFinderSelfTest extends TcpDiscoveryIpFinderAbstractSelfTest<TcpDiscoveryGoogleStorageIpFinder> { + /** Bucket name. */ + private static String bucketName; + /** * Constructor. * @@ -40,6 +44,29 @@ public class TcpDiscoveryGoogleStorageIpFinderSelfTest } /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + bucketName = "ip-finder-test-bucket-" + InetAddress.getLocalHost().getAddress()[3]; + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ + @Override protected void afterTestsStopped() throws Exception { + try { + Method method = TcpDiscoveryGoogleStorageIpFinder.class.getDeclaredMethod("removeBucket", String.class); + + method.setAccessible(true); + + method.invoke(finder, bucketName); + } + catch (Exception e) { + log.warning("Failed to remove bucket on GCE [bucketName=" + bucketName + ", mes=" + e.getMessage() + ']'); + } + + super.afterTestsStopped(); + } + + /** {@inheritDoc} */ @Override protected TcpDiscoveryGoogleStorageIpFinder ipFinder() throws Exception { TcpDiscoveryGoogleStorageIpFinder finder = new TcpDiscoveryGoogleStorageIpFinder(); @@ -52,7 +79,7 @@ public class TcpDiscoveryGoogleStorageIpFinderSelfTest finder.setProjectName(IgniteGCETestSuite.getProjectName()); // Bucket name must be unique across the whole GCE platform. - finder.setBucketName("ip-finder-test-bucket-" + InetAddress.getLocalHost().getAddress()[3]); + finder.setBucketName(bucketName); for (int i = 0; i < 5; i++) { Collection<InetSocketAddress> addrs = finder.getRegisteredAddresses();