Repository: jclouds-labs Updated Branches: refs/heads/2.0.x 10049072b -> 9ffceea3a
Removed fixed versioning from the Mock tests. We can use the DimensionDataCloudControlProviderMetadata to give us the CloudControl API version. Removed caas from Api Path. In previous versions of CloudControl API there was alternative base paths, either 'oec' or 'caas', but this is no longer required in the implementation. All paths are caas so this can be configured in the endpoint metadata. Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/9ffceea3 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/9ffceea3 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/9ffceea3 Branch: refs/heads/2.0.x Commit: 9ffceea3a48d07716bf72315154d07c9898af9c0 Parents: 1004907 Author: Trevor Flanagan <[email protected]> Authored: Thu Mar 30 17:00:54 2017 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Thu Mar 30 21:30:12 2017 +0200 ---------------------------------------------------------------------- .../DimensionDataCloudControlApiMetadata.java | 2 +- .../DimensionDataCloudControlProviderMetadata.java | 3 ++- .../cloudcontrol/features/AccountApi.java | 2 +- .../cloudcontrol/features/InfrastructureApi.java | 2 +- .../cloudcontrol/filters/OrganisationIdFilter.java | 2 +- .../cloudcontrol/features/AccountApiMockTest.java | 4 ++-- .../features/InfrastructureApiMockTest.java | 4 ++-- .../filters/OrganisationIdFilterTest.java | 14 +++++++------- .../BaseAccountAwareCloudControlMockTest.java | 2 +- .../BaseDimensionDataCloudControlMockTest.java | 4 +++- 10 files changed, 21 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlApiMetadata.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlApiMetadata.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlApiMetadata.java index 7a5c8c1..d344e42 100644 --- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlApiMetadata.java +++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlApiMetadata.java @@ -49,7 +49,7 @@ public class DimensionDataCloudControlApiMetadata extends BaseHttpApiMetadata<Di id("dimensiondata-cloudcontrol").name("DimensionData CloudControl API").identityName("user name") .credentialName("user password") .documentation(URI.create("http://www.dimensiondata.com/en-US/Solutions/Cloud")) - .defaultEndpoint("https://api-REGION.dimensiondata.com/").version("2.4") + .defaultEndpoint("https://api-REGION.dimensiondata.com/caas").version("2.4") .defaultProperties(DimensionDataCloudControlApiMetadata.defaultProperties()) .view(typeToken(ComputeServiceContext.class)).defaultModules( ImmutableSet.<Class<? extends Module>>builder().add(DimensionDataCloudControlHttpApiModule.class) http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java index 82f8f10..fd672a3 100644 --- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java +++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java @@ -57,7 +57,8 @@ public class DimensionDataCloudControlProviderMetadata extends BaseProviderMetad id("dimensiondata-cloudcontrol").name("DimensionData Cloud Control") .apiMetadata(new DimensionDataCloudControlApiMetadata()) .homepage(URI.create("https://na-cloud.dimensiondata.com/")) - .console(URI.create("https://na-cloud.dimensiondata.com/")).endpoint("https://api-na.dimensiondata.com/") + .console(URI.create("https://na-cloud.dimensiondata.com/")) + .endpoint("https://api-na.dimensiondata.com/caas") .defaultProperties(DimensionDataCloudControlProviderMetadata.defaultProperties()); } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApi.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApi.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApi.java index d3f782e..7a2740c 100644 --- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApi.java +++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApi.java @@ -30,7 +30,7 @@ import java.io.Closeable; @RequestFilters({ BasicAuthentication.class }) @Consumes("application/json") -@Path("/caas/{jclouds.api-version}/user") +@Path("/{jclouds.api-version}/user") public interface AccountApi extends Closeable { @Named("myuser:get") @Path("/myUser") http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApi.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApi.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApi.java index a5b0d0b..436883e 100644 --- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApi.java +++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApi.java @@ -50,7 +50,7 @@ import javax.ws.rs.core.MediaType; @RequestFilters({ BasicAuthentication.class, OrganisationIdFilter.class }) @Consumes(MediaType.APPLICATION_JSON) -@Path("/caas/{jclouds.api-version}/infrastructure") +@Path("/{jclouds.api-version}/infrastructure") public interface InfrastructureApi { @Named("infrastructure:datacenter") http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilter.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilter.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilter.java index cf1ec1b..f530b02 100644 --- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilter.java +++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilter.java @@ -37,7 +37,7 @@ import java.util.List; @Singleton public class OrganisationIdFilter implements HttpRequestFilter { - private static final int ORGANIZATION_ID_INDEX = 3; + private static final int ORGANIZATION_ID_INDEX = 2; private final Supplier<String> organisationIdSupplier; @Inject http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApiMockTest.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApiMockTest.java b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApiMockTest.java index 577827b..efaa7d9 100644 --- a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApiMockTest.java +++ b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/AccountApiMockTest.java @@ -33,7 +33,7 @@ public class AccountApiMockTest extends BaseDimensionDataCloudControlMockTest { server.enqueue(jsonResponse("/account.json")); Account account = api.getAccountApi().getMyAccount(); assertNotNull(account); - assertSent(HttpMethod.GET, "/caas/2.4/user/myUser"); + assertSent(HttpMethod.GET, "/" + VERSION + "/user/myUser"); } @Test @@ -41,7 +41,7 @@ public class AccountApiMockTest extends BaseDimensionDataCloudControlMockTest { server.enqueue(response404()); Account account = api.getAccountApi().getMyAccount(); assertNull(account); - assertSent(HttpMethod.GET, "/caas/2.4/user/myUser"); + assertSent(HttpMethod.GET, "/" + VERSION + "/user/myUser"); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApiMockTest.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApiMockTest.java b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApiMockTest.java index 5ef6048..5b287d9 100644 --- a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApiMockTest.java +++ b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/features/InfrastructureApiMockTest.java @@ -65,7 +65,7 @@ public class InfrastructureApiMockTest extends BaseAccountAwareCloudControlMockT private Uris.UriBuilder expectedListDatacentersUriBuilder() { Uris.UriBuilder uriBuilder = Uris - .uriBuilder("/caas/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/infrastructure/datacenter"); + .uriBuilder("/" + VERSION + "/6ac1e746-b1ea-4da5-a24e-caf1a978789d/infrastructure/datacenter"); Set<String> zones = ctx.utils().injector().getInstance(ZoneIdsSupplier.class).get(); for (String zone : zones) { uriBuilder.addQuery("id", zone); @@ -103,7 +103,7 @@ public class InfrastructureApiMockTest extends BaseAccountAwareCloudControlMockT private Uris.UriBuilder expectedListOperatingSystemsUriBuilder() { Uris.UriBuilder uriBuilder = Uris - .uriBuilder("/caas/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/infrastructure/operatingSystem"); + .uriBuilder("/" + VERSION + "/6ac1e746-b1ea-4da5-a24e-caf1a978789d/infrastructure/operatingSystem"); uriBuilder.addQuery("datacenterId", "NA9"); return uriBuilder; } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilterTest.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilterTest.java b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilterTest.java index d7f72e3..a3c2d64 100644 --- a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilterTest.java +++ b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/filters/OrganisationIdFilterTest.java @@ -35,24 +35,24 @@ public class OrganisationIdFilterTest { @Test public void testCaasUrl() { - String expectedPath = "/caas/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a?clone=trevor-test2&desc=trevor-description2"; + String expectedPath = "/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a?clone=trevor-test2&desc=trevor-description2"; String updatedPath = new OrganisationIdFilter(orgIdSupplier).injectOrganisationId( - "/caas/2.4/server/0896551e-4fe3-4450-a627-ad5548e7e83a?clone=trevor-test2&desc=trevor-description2"); + "/2.4/server/0896551e-4fe3-4450-a627-ad5548e7e83a?clone=trevor-test2&desc=trevor-description2"); assertEquals(updatedPath, expectedPath); } @Test public void testDontAddIfAlreadyPresent() { - String expectedPath = "/caas/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a"; + String expectedPath = "/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a"; String updatedPath = new OrganisationIdFilter(orgIdSupplier).injectOrganisationId( - "/caas/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a"); + "/2.4/6ac1e746-b1ea-4da5-a24e-caf1a978789d/server/0896551e-4fe3-4450-a627-ad5548e7e83a"); assertEquals(updatedPath, expectedPath); } @Test - public void testPathSegmentsLessThan3() { - String expectedPath = "/caas/2.4"; - String updatedPath = new OrganisationIdFilter(orgIdSupplier).injectOrganisationId("/caas/2.4"); + public void testPathSegmentsLessThan2() { + String expectedPath = "/2.4"; + String updatedPath = new OrganisationIdFilter(orgIdSupplier).injectOrganisationId("/2.4"); assertEquals(updatedPath, expectedPath); } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseAccountAwareCloudControlMockTest.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseAccountAwareCloudControlMockTest.java b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseAccountAwareCloudControlMockTest.java index ef6891d..a1f2887 100644 --- a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseAccountAwareCloudControlMockTest.java +++ b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseAccountAwareCloudControlMockTest.java @@ -44,7 +44,7 @@ public class BaseAccountAwareCloudControlMockTest extends BaseDimensionDataCloud @Override protected RecordedRequest assertSent(String method, String path) throws InterruptedException { if (!accountRetrieved) { - super.assertSent(HttpMethod.GET, "/caas/2.4/user/myUser"); + super.assertSent(HttpMethod.GET, "/" + VERSION + "/user/myUser"); accountRetrieved = true; } return super.assertSent(method, path); http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9ffceea3/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseDimensionDataCloudControlMockTest.java ---------------------------------------------------------------------- diff --git a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseDimensionDataCloudControlMockTest.java b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseDimensionDataCloudControlMockTest.java index 1c0d0d2..85a8b9d 100644 --- a/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseDimensionDataCloudControlMockTest.java +++ b/dimensiondata/src/test/java/org/jclouds/dimensiondata/cloudcontrol/internal/BaseDimensionDataCloudControlMockTest.java @@ -55,7 +55,9 @@ import static org.testng.Assert.fail; */ public class BaseDimensionDataCloudControlMockTest implements IHookable { - private static final String DEFAULT_ENDPOINT = new DimensionDataCloudControlProviderMetadata().getEndpoint(); + private static final DimensionDataCloudControlProviderMetadata PROVIDER_METADATA = new DimensionDataCloudControlProviderMetadata(); + private static final String DEFAULT_ENDPOINT = PROVIDER_METADATA.getEndpoint(); + protected static final String VERSION = PROVIDER_METADATA.getApiMetadata().getVersion(); private final Set<Module> modules = ImmutableSet.<Module>of(new ExecutorServiceModule(sameThreadExecutor()));
