You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by jd...@apache.org on 2014/07/15 23:29:29 UTC
[2/5] JCLOUDS-40: Unasync OpenStack Nova API
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/features/ServerAsyncApi.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/features/ServerAsyncApi.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/features/ServerAsyncApi.java
deleted file mode 100644
index c54d86c..0000000
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/features/ServerAsyncApi.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.nova.v2_0.features;
-
-import java.util.Map;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.AbsentOn403Or404Or500;
-import org.jclouds.Fallbacks.EmptyMapOnNotFoundOr404;
-import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404;
-import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.binders.BindMetadataToJsonPayload;
-import org.jclouds.openstack.nova.v2_0.domain.RebootType;
-import org.jclouds.openstack.nova.v2_0.domain.Server;
-import org.jclouds.openstack.nova.v2_0.domain.ServerCreated;
-import org.jclouds.openstack.nova.v2_0.functions.ParseImageIdFromLocationHeader;
-import org.jclouds.openstack.nova.v2_0.functions.internal.OnlyMetadataValueOrNull;
-import org.jclouds.openstack.nova.v2_0.functions.internal.ParseDiagnostics;
-import org.jclouds.openstack.nova.v2_0.functions.internal.ParseServerDetails;
-import org.jclouds.openstack.nova.v2_0.functions.internal.ParseServers;
-import org.jclouds.openstack.nova.v2_0.options.CreateServerOptions;
-import org.jclouds.openstack.nova.v2_0.options.RebuildServerOptions;
-import org.jclouds.openstack.v2_0.domain.Resource;
-import org.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SelectJson;
-import org.jclouds.rest.annotations.Transform;
-import org.jclouds.rest.annotations.Unwrap;
-import org.jclouds.rest.binders.BindToJsonPayload;
-
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Server via their REST API.
- * <p/>
- *
- * @see ServerApi
- * @see <a href= "http://docs.openstack.org/api/openstack-compute/1.1/content/Servers-d1e2073.html"
- * />
- */
-@RequestFilters(AuthenticateRequest.class)
-public interface ServerAsyncApi {
-
- /**
- * @see ServerApi#list()
- */
- @Named("server:list")
- @GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers")
- @RequestFilters(AuthenticateRequest.class)
- @ResponseParser(ParseServers.class)
- @Transform(ParseServers.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- ListenableFuture<? extends PagedIterable<? extends Resource>> list();
-
- /** @see ServerApi#list(PaginationOptions) */
- @Named("server:list")
- @GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers")
- @RequestFilters(AuthenticateRequest.class)
- @ResponseParser(ParseServers.class)
- @Fallback(EmptyPaginatedCollectionOnNotFoundOr404.class)
- ListenableFuture<? extends PaginatedCollection<? extends Resource>> list(PaginationOptions options);
-
- /**
- * @see ServerApi#listInDetail()
- */
- @Named("server:list")
- @GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers/detail")
- @RequestFilters(AuthenticateRequest.class)
- @ResponseParser(ParseServerDetails.class)
- @Transform(ParseServerDetails.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- ListenableFuture<? extends PagedIterable<? extends Server>> listInDetail();
-
- /** @see ServerApi#listInDetail(PaginationOptions) */
- @Named("server:list")
- @GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers/detail")
- @RequestFilters(AuthenticateRequest.class)
- @ResponseParser(ParseServerDetails.class)
- @Fallback(EmptyPaginatedCollectionOnNotFoundOr404.class)
- ListenableFuture<? extends PaginatedCollection<? extends Server>> listInDetail(PaginationOptions options);
-
- /**
- * @see ServerApi#get
- */
- @Named("server:get")
- @GET
- @SelectJson("server")
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers/{id}")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<? extends Server> get(@PathParam("id") String id);
-
- /**
- * @see ServerApi#delete
- */
- @Named("server:delete")
- @DELETE
- @Consumes
- @Fallback(FalseOnNotFoundOr404.class)
- @Path("/servers/{id}")
- ListenableFuture<Boolean> delete(@PathParam("id") String id);
-
- /**
- * @see ServerApi#start
- */
- @Named("server:start")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"os-start\":null}")
- ListenableFuture<Void> start(@PathParam("id") String id);
-
- /**
- * @see ServerApi#stop
- */
- @Named("server:stop")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"os-stop\":null}")
- ListenableFuture<Void> stop(@PathParam("id") String id);
-
- /**
- * @see ServerApi#reboot
- */
- @Named("server:reboot")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"reboot\":%7B\"type\":\"{type}\"%7D%7D")
- ListenableFuture<Void> reboot(@PathParam("id") String id, @PayloadParam("type") RebootType rebootType);
-
- /**
- * @see ServerApi#resize
- */
- @Named("server:resize")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"resize\":%7B\"flavorRef\":{flavorId}%7D%7D")
- ListenableFuture<Void> resize(@PathParam("id") String id, @PayloadParam("flavorId") String flavorId);
-
- /**
- * @see ServerApi#confirmResize
- */
- @Named("server:resize")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"confirmResize\":null}")
- ListenableFuture<Void> confirmResize(@PathParam("id") String id);
-
- /**
- * @see ServerApi#revertResize
- */
- @Named("server:resize")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"revertResize\":null}")
- ListenableFuture<Void> revertResize(@PathParam("id") String id);
-
- /**
- * @see ServerApi#create
- */
- @Named("server:create")
- @POST
- @Unwrap
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/servers")
- @MapBinder(CreateServerOptions.class)
- ListenableFuture<ServerCreated> create(@PayloadParam("name") String name, @PayloadParam("imageRef") String imageRef,
- @PayloadParam("flavorRef") String flavorRef, CreateServerOptions... options);
-
- /**
- * @see ServerApi#rebuild
- */
- @Named("server:rebuild")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @MapBinder(RebuildServerOptions.class)
- ListenableFuture<Void> rebuild(@PathParam("id") String id, RebuildServerOptions... options);
-
- /**
- * @see ServerApi#changeAdminPass
- */
- @Named("server:changeadminpass")
- @POST
- @Path("/servers/{id}/action")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"changePassword\":%7B\"adminPass\":\"{adminPass}\"%7D%7D")
- ListenableFuture<Void> changeAdminPass(@PathParam("id") String id, @PayloadParam("adminPass") String adminPass);
-
- /**
- * @see ServerApi#rename
- */
- @Named("server:rename")
- @PUT
- @Path("/servers/{id}")
- @Consumes
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"server\":%7B\"name\":\"{name}\"%7D%7D")
- ListenableFuture<Void> rename(@PathParam("id") String id, @PayloadParam("name") String newName);
-
- /**
- * @see ServerApi#createImageFromServer
- */
- @Named("server:create")
- @POST
- @Path("/servers/{id}/action")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"createImage\":%7B\"name\":\"{name}\", \"metadata\": %7B%7D%7D%7D")
- @Fallback(MapHttp4xxCodesToExceptions.class)
- @ResponseParser(ParseImageIdFromLocationHeader.class)
- ListenableFuture<String> createImageFromServer(@PayloadParam("name") String name, @PathParam("id") String id);
-
- /**
- * @see ServerApi#getMetadata
- */
- @Named("server:getmetadata")
- @GET
- @SelectJson("metadata")
- @Path("/servers/{id}/metadata")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(EmptyMapOnNotFoundOr404.class)
- ListenableFuture<? extends Map<String, String>> getMetadata(@PathParam("id") String id);
-
- /**
- * @see ServerApi#setMetadata
- */
- @Named("server:setmetadata")
- @PUT
- @SelectJson("metadata")
- @Path("/servers/{id}/metadata")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Fallback(EmptyMapOnNotFoundOr404.class)
- @MapBinder(BindToJsonPayload.class)
- ListenableFuture<? extends Map<String, String>> setMetadata(@PathParam("id") String id,
- @PayloadParam("metadata") Map<String, String> metadata);
-
- /**
- * @see ServerApi#updateMetadata
- */
- @Named("server:updatemetadata")
- @POST
- @SelectJson("metadata")
- @Path("/servers/{id}/metadata")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Fallback(EmptyMapOnNotFoundOr404.class)
- @MapBinder(BindToJsonPayload.class)
- ListenableFuture<? extends Map<String, String>> updateMetadata(@PathParam("id") String id,
- @PayloadParam("metadata") Map<String, String> metadata);
-
- /**
- * @see ServerApi#getMetadata
- */
- @Named("server:getmetadata")
- @GET
- @Path("/servers/{id}/metadata/{key}")
- @Consumes(MediaType.APPLICATION_JSON)
- @ResponseParser(OnlyMetadataValueOrNull.class)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<String> getMetadata(@PathParam("id") String id, @PathParam("key") String key);
-
- /**
- * @see ServerApi#updateMetadata
- */
- @Named("server:updatemetadata")
- @PUT
- @Path("/servers/{id}/metadata/{key}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @ResponseParser(OnlyMetadataValueOrNull.class)
- @MapBinder(BindMetadataToJsonPayload.class)
- ListenableFuture<String> updateMetadata(@PathParam("id") String id,
- @PathParam("key") @PayloadParam("key") String key, @PathParam("value") @PayloadParam("value") String value);
-
- /**
- * @see ServerApi#deleteMetadata
- */
- @Named("server:deletemetadata")
- @DELETE
- @Consumes
- @Path("/servers/{id}/metadata/{key}")
- @Fallback(VoidOnNotFoundOr404.class)
- ListenableFuture<Void> deleteMetadata(@PathParam("id") String id, @PathParam("key") String key);
-
-
- /**
- * @see ServerApi#getDiagnostics
- */
- @Named("server:getdiagnostics")
- @GET
- @Path("/servers/{id}/diagnostics")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(AbsentOn403Or404Or500.class)
- @ResponseParser(ParseDiagnostics.class)
- ListenableFuture<Optional<Map<String, String>>> getDiagnostics(@PathParam("id") String id);
-}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
index 0e35e28..c63f7e9 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
@@ -89,14 +89,14 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
Template template = forNetworks.getInstance(TemplateBuilder.class).build();
template.getOptions().as(NovaTemplateOptions.class).networks("4ebd35cf-bfe7-4d93-b0d8-eb468ce2245a");
-
+
NovaComputeServiceAdapter adapter = forNetworks.getInstance(NovaComputeServiceAdapter.class);
NodeAndInitialCredentials<ServerInZone> server = adapter.createNodeWithGroupEncodedIntoName("test", "test-e92", template);
assertNotNull(server);
// Response irrelevant in this expect test - just verifying the request.
}
-
+
public void testCreateNodeWithGroupEncodedIntoNameWithDiskConfig() throws Exception {
HttpRequest createServer = HttpRequest
@@ -124,7 +124,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
Template template = forDiskConfig.getInstance(TemplateBuilder.class).build();
template.getOptions().as(NovaTemplateOptions.class).diskConfig(Server.DISK_CONFIG_AUTO);
-
+
NovaComputeServiceAdapter adapter = forDiskConfig.getInstance(NovaComputeServiceAdapter.class);
NodeAndInitialCredentials<ServerInZone> server = adapter.createNodeWithGroupEncodedIntoName("test", "test-e92", template);
@@ -240,7 +240,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
Template template = forSecurityGroups.getInstance(TemplateBuilder.class).build();
template.getOptions().as(NovaTemplateOptions.class).securityGroupNames("group1", "group2");
-
+
NovaComputeServiceAdapter adapter = forSecurityGroups.getInstance(NovaComputeServiceAdapter.class);
NodeAndInitialCredentials<ServerInZone> server = adapter.createNodeWithGroupEncodedIntoName("test", "test-e92",
@@ -255,7 +255,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
* authentication even be available.
*/
public void testWhenKeyPairPresentWeUsePrivateKeyAsCredentialNotPassword() throws Exception {
-
+
HttpRequest createServer = HttpRequest
.builder()
.method("POST")
@@ -266,7 +266,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
"{\"server\":{\"name\":\"test-e92\",\"imageRef\":\"1241\",\"flavorRef\":\"100\",\"key_name\":\"foo\"}}", "application/json"))
.build();
-
+
HttpResponse createServerResponse = HttpResponse.builder().statusCode(202).message("HTTP/1.1 202 Accepted")
.payload(payloadFromResourceWithContentType("/new_server_no_adminpass.json", "application/json; charset=UTF-8")).build();
@@ -282,16 +282,16 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
Template template = forSecurityGroups.getInstance(TemplateBuilder.class).build();
template.getOptions().as(NovaTemplateOptions.class).keyPairName("foo");
-
+
NovaComputeServiceAdapter adapter = forSecurityGroups.getInstance(NovaComputeServiceAdapter.class);
-
+
// we expect to have already an entry in the cache for the key
LoadingCache<ZoneAndName, KeyPair> keyPairCache = forSecurityGroups.getInstance(Key
.get(new TypeLiteral<LoadingCache<ZoneAndName, KeyPair>>() {
}));
keyPairCache.put(ZoneAndName.fromZoneAndName("az-1.region-a.geo-1", "foo"), KeyPair.builder().name("foo")
.privateKey("privateKey").build());
-
+
NodeAndInitialCredentials<ServerInZone> server = adapter.createNodeWithGroupEncodedIntoName("test", "test-e92",
template);
assertNotNull(server);
@@ -349,6 +349,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
.builder()
.method("POST")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers/71752/action")
+ .addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(payloadFromStringWithContentType(
"{\"suspend\":null}", "application/json"))
@@ -412,7 +413,7 @@ public class NovaComputeServiceAdapterExpectTest extends BaseNovaComputeServiceC
public Injector apply(ComputeServiceContext input) {
return input.utils().injector();
}
-
+
@Override
protected Properties setupProperties() {
Properties overrides = super.setupProperties();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java
index c8fa869..2c3e285 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNodeExpectTest.java
@@ -94,7 +94,7 @@ public class AllocateAndAddFloatingIpToNodeExpectTest extends BaseNovaComputeSer
HttpRequest addFloatingIPRequest = HttpRequest.builder().method("POST").endpoint(
URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers/71592/action"))
.headers(
- ImmutableMultimap.<String, String> builder().put("Accept", "*/*")
+ ImmutableMultimap.<String, String> builder().put("Accept", "application/json")
.put("X-Auth-Token", authToken).build()).payload(
payloadFromStringWithContentType("{\"addFloatingIp\":{\"address\":\"" + address + "\"}}",
"application/json")).build();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AdminActionsApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AdminActionsApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AdminActionsApiExpectTest.java
index 9b28ec6..aa849c7 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AdminActionsApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AdminActionsApiExpectTest.java
@@ -341,6 +341,7 @@ public class AdminActionsApiExpectTest extends BaseNovaApiExpectTest {
return HttpRequest.builder()
.method("POST")
.addHeader("X-Auth-Token", authToken)
+ .addHeader("Accept", "application/json")
.payload(payloadFromStringWithContentType("{\"" + actionName + "\":null}", MediaType.APPLICATION_JSON))
.endpoint(endpoint);
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApiMockTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApiMockTest.java
index 6bd5244..c636603 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApiMockTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApiMockTest.java
@@ -92,7 +92,6 @@ public class ConsolesApiMockTest extends BaseOpenStackMockTest<NovaApi> {
String zoneId = getFirst(novaApi.getConfiguredZones(), "RegionTwo");
- System.out.println("zoneId: " + zoneId);
ConsolesApi consolesApi = novaApi.getConsolesExtensionForZone(zoneId).get();
assertEquals(server.getRequestCount(), 2);
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiExpectTest.java
index fc5b719..851abcd 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiExpectTest.java
@@ -32,7 +32,7 @@ import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
/**
- * Tests annotation parsing of {@code FloatingIPAsyncApi}
+ * Tests annotation parsing of {@code FloatingIPApi}
*/
@Test(groups = "unit", testName = "FloatingIPApiExpectTest")
public class FloatingIPApiExpectTest extends BaseNovaApiExpectTest {
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApiExpectTest.java
index a9d362c..5a5a007 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApiExpectTest.java
@@ -31,7 +31,7 @@ import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
/**
- * Tests annotation parsing of {@code KeyPairAsyncApi}
+ * Tests annotation parsing of {@code KeyPairApi}
*/
@Test(groups = "unit", testName = "KeyPairApiExpectTest")
public class KeyPairApiExpectTest extends BaseNovaApiExpectTest {
@@ -128,7 +128,7 @@ public class KeyPairApiExpectTest extends BaseNovaApiExpectTest {
.builder()
.method("DELETE")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-keypairs/testkeypair")
- .addHeader("Accept", "*/*")
+ .addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken).build();
HttpResponse deleteResponse = HttpResponse.builder().statusCode(202).build();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApiExpectTest.java
index e256589..9c35378 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApiExpectTest.java
@@ -82,6 +82,7 @@ public class QuotaApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse,
HttpRequest.builder().endpoint(endpoint).method("PUT")
.addHeader("X-Auth-Token", authToken)
+ .addHeader("Accept", "application/json")
.payload(payloadFromResourceWithContentType("/quotas.json", MediaType.APPLICATION_JSON))
.build(),
HttpResponse.builder().statusCode(200).build()).getQuotaExtensionForZone("az-1.region-a.geo-1").get();
@@ -96,6 +97,7 @@ public class QuotaApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse,
HttpRequest.builder().endpoint(endpoint).method("PUT")
.addHeader("X-Auth-Token", authToken)
+ .addHeader("Accept", "application/json")
.payload(payloadFromResourceWithContentType("/quotas.json", MediaType.APPLICATION_JSON))
.build(),
HttpResponse.builder().statusCode(404).build()).getQuotaExtensionForZone("az-1.region-a.geo-1").get();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java
index 37b3551..b3ceb6d 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java
@@ -38,7 +38,7 @@ import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
/**
- * Tests annotation parsing of {@code SecurityGroupAsyncApi}
+ * Tests annotation parsing of {@code SecurityGroupApi}
*/
@Test(groups = "unit", testName = "SecurityGroupApiExpectTest")
public class SecurityGroupApiExpectTest extends BaseNovaApiExpectTest {
@@ -206,7 +206,7 @@ public class SecurityGroupApiExpectTest extends BaseNovaApiExpectTest {
HttpRequest deleteRule = HttpRequest.builder().method("DELETE").endpoint(
URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-security-group-rules/161"))
.headers(
- ImmutableMultimap.<String, String> builder().put("Accept", "*/*")
+ ImmutableMultimap.<String, String> builder().put("Accept", "application/json")
.put("X-Auth-Token", authToken).build()).build();
HttpResponse deleteRuleResponse = HttpResponse.builder().statusCode(202).build();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ExtensionApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ExtensionApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ExtensionApiExpectTest.java
index e95080f..49a8920 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ExtensionApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ExtensionApiExpectTest.java
@@ -31,18 +31,18 @@ import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
/**
- * Tests annotation parsing of {@code ExtensionAsyncApi}
+ * Tests annotation parsing of {@code ExtensionApi}
*/
@Test(groups = "unit", testName = "ExtensionApiExpectTest")
public class ExtensionApiExpectTest extends BaseNovaApiExpectTest {
public void testListExtensionsWhenResponseIs2xx() throws Exception {
- HttpRequest listExtensions = HttpRequest
- .builder()
+ HttpRequest listExtensions = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/extensions")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listExtensionsResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/extension_list.json")).build();
@@ -57,12 +57,12 @@ public class ExtensionApiExpectTest extends BaseNovaApiExpectTest {
}
public void testListExtensionsWhenReponseIs404IsEmpty() throws Exception {
- HttpRequest listExtensions = HttpRequest
- .builder()
+ HttpRequest listExtensions = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/extensions")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listExtensionsResponse = HttpResponse.builder().statusCode(404).build();
@@ -74,13 +74,12 @@ public class ExtensionApiExpectTest extends BaseNovaApiExpectTest {
// TODO: gson deserializer for Multimap
public void testGetExtensionByAliasWhenResponseIs2xx() throws Exception {
-
- HttpRequest getExtension = HttpRequest
- .builder()
+ HttpRequest getExtension = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/extensions/RS-PIE")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse getExtensionResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/extension_details.json")).build();
@@ -93,12 +92,12 @@ public class ExtensionApiExpectTest extends BaseNovaApiExpectTest {
}
public void testGetExtensionByAliasWhenResponseIs404() throws Exception {
- HttpRequest getExtension = HttpRequest
- .builder()
+ HttpRequest getExtension = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/extensions/RS-PIE")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse getExtensionResponse = HttpResponse.builder().statusCode(404)
.payload(payloadFromResource("/extension_details.json")).build();
@@ -107,7 +106,5 @@ public class ExtensionApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, getExtension, getExtensionResponse);
assertNull(apiWhenNoExtensionsExist.getExtensionApiForZone("az-1.region-a.geo-1").get("RS-PIE"));
-
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/FlavorApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/FlavorApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/FlavorApiExpectTest.java
index 54be43d..91c1b9f 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/FlavorApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/FlavorApiExpectTest.java
@@ -37,18 +37,18 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.net.HttpHeaders;
/**
- * Tests annotation parsing of {@code FlavorAsyncApi}
+ * Tests annotation parsing of {@code FlavorApi}
*/
@Test(groups = "unit", testName = "FlavorApiExpectTest")
public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
public void testListFlavorsWhenResponseIs2xx() throws Exception {
- HttpRequest listFlavors = HttpRequest
- .builder()
+ HttpRequest listFlavors = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listFlavorsResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/flavor_list.json")).build();
@@ -63,12 +63,12 @@ public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
}
public void testListFlavorsWhenReponseIs404IsEmpty() throws Exception {
- HttpRequest listFlavors = HttpRequest
- .builder()
+ HttpRequest listFlavors = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listFlavorsResponse = HttpResponse.builder().statusCode(404).build();
@@ -80,13 +80,12 @@ public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
// TODO: gson deserializer for Multimap
public void testGetFlavorWhenResponseIs2xx() throws Exception {
-
- HttpRequest getFlavor = HttpRequest
- .builder()
+ HttpRequest getFlavor = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors/52415800-8b69-11e0-9b19-734f1195ff37")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse getFlavorResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/flavor_details.json")).build();
@@ -100,8 +99,7 @@ public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
}
public void testGetFlavorWhenResponseIs404() throws Exception {
- HttpRequest getFlavor = HttpRequest
- .builder()
+ HttpRequest getFlavor = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors/123")
.addHeader("Accept", "application/json")
@@ -114,19 +112,17 @@ public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, getFlavor, getFlavorResponse);
assertNull(apiWhenNoFlavorsExist.getFlavorApiForZone("az-1.region-a.geo-1").get("123"));
-
}
-
+
public void testCreateFlavor200() throws Exception {
- ParseCreateFlavorTest parser = new ParseCreateFlavorTest();
- HttpRequest listFlavors = HttpRequest
- .builder()
+ ParseCreateFlavorTest parser = new ParseCreateFlavorTest();
+ HttpRequest listFlavors = HttpRequest.builder()
.method(HttpMethod.POST)
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors")
.addHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON)
.addHeader("X-Auth-Token", authToken)
.payload(payloadFromResource(parser.resource())).build();
-
+
HttpResponse listFlavorsResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource(parser.resource())).build();
@@ -135,25 +131,23 @@ public class FlavorApiExpectTest extends BaseNovaApiExpectTest {
assertEquals(
api.getFlavorApiForZone("az-1.region-a.geo-1").create(Flavor.builder()
- .id("1cb47a44-9b84-4da4-bf81-c1976e8414ab")
- .name("128 MB Server").ram(128).vcpus(1)
- .disk(10).build())
+ .id("1cb47a44-9b84-4da4-bf81-c1976e8414ab")
+ .name("128 MB Server").ram(128).vcpus(1)
+ .disk(10).build())
.toString(), parser.expected().toString());
}
public void testDeleteFlavor202() throws Exception {
String flavorId = "1cb47a44-9b84-4da4-bf81-c1976e8414ab";
-
- HttpRequest updateMetadata = HttpRequest
- .builder()
+ HttpRequest updateMetadata = HttpRequest.builder()
.method(HttpMethod.DELETE)
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors/" + flavorId)
- .addHeader(HttpHeaders.ACCEPT, MediaType.WILDCARD)
+ .addHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON)
.addHeader("X-Auth-Token", authToken)
.build();
HttpResponse updateMetadataResponse = HttpResponse.builder().statusCode(204).build();
-
+
NovaApi api = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, updateMetadata, updateMetadataResponse);
http://git-wip-us.apache.org/repos/asf/jclouds/blob/801aecaf/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ImageApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ImageApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ImageApiExpectTest.java
index fd74916..30840f2 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ImageApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/features/ImageApiExpectTest.java
@@ -35,17 +35,18 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
/**
- * Tests annotation parsing of {@code ImageAsyncApi}
+ * Tests annotation parsing of {@code ImageApi}
*/
-@Test(groups = "unit", testName = "ImageAsyncApiTest")
+@Test(groups = "unit", testName = "ImageApiExpectTest")
public class ImageApiExpectTest extends BaseNovaApiExpectTest {
+
public void testListImagesWhenResponseIs2xx() throws Exception {
- HttpRequest list = HttpRequest
- .builder()
+ HttpRequest list = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/image_list.json")).build();
@@ -60,12 +61,12 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
}
public void testListImagesWhenReponseIs404IsEmpty() throws Exception {
- HttpRequest list = HttpRequest
- .builder()
+ HttpRequest list = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse listResponse = HttpResponse.builder().statusCode(404).build();
@@ -77,12 +78,12 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
public void testGetImageWhenResponseIs2xx() throws Exception {
- HttpRequest getImage = HttpRequest
- .builder()
+ HttpRequest getImage = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/52415800-8b69-11e0-9b19-734f5736d2a2")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse getImageResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/image_details.json")).build();
@@ -96,46 +97,43 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
}
public void testGetImageWhenResponseIs404() throws Exception {
- HttpRequest getImage = HttpRequest
- .builder()
+ HttpRequest getImage = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/52415800-8b69-11e0-9b19-734f5736d2a2")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .build();
HttpResponse getImageResponse = HttpResponse.builder().statusCode(404).build();
NovaApi apiWhenNoImagesExist = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, getImage, getImageResponse);
- assertNull(apiWhenNoImagesExist.getImageApiForZone("az-1.region-a.geo-1").get(
- "52415800-8b69-11e0-9b19-734f5736d2a2"));
-
+ assertNull(apiWhenNoImagesExist.getImageApiForZone("az-1.region-a.geo-1").get("52415800-8b69-11e0-9b19-734f5736d2a2"));
}
public void testListMetadataWhenResponseIs2xx() throws Exception {
- String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
- HttpRequest getMetadata = HttpRequest
- .builder()
+ String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
+ HttpRequest getMetadata = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata")
.addHeader("Accept", "application/json")
- .addHeader("X-Auth-Token", authToken).build();
-
+ .addHeader("X-Auth-Token", authToken)
+ .build();
+
HttpResponse getMetadataResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/metadata_list.json")).build();
-
+
NovaApi apiWhenServerExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, getMetadata, getMetadataResponse);
- assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").getMetadata(imageId).toString(),
+ assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").getMetadata(imageId).toString(),
new ParseMetadataListTest().expected().toString());
}
-
+
public void testListMetadataWhenResponseIs404() throws Exception {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
- HttpRequest getMetadata = HttpRequest
- .builder()
+ HttpRequest getMetadata = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata")
.addHeader("Accept", "*/*")
@@ -162,22 +160,22 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
.put("Image Version", "2.1")
.build();
- HttpRequest setMetadata = HttpRequest
- .builder()
+ HttpRequest setMetadata = HttpRequest.builder()
.method("PUT")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
- .payload(payloadFromStringWithContentType("{\"metadata\":{\"Server Label\":\"Web Head 1\",\"Image Version\":\"2.1\"}}", "application/json"))
+ .payload(payloadFromStringWithContentType(
+ "{\"metadata\":{\"Server Label\":\"Web Head 1\",\"Image Version\":\"2.1\"}}", "application/json"))
.build();
HttpResponse setMetadataResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/metadata_list.json")).build();
-
+
NovaApi apiWhenImageExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, setMetadata, setMetadataResponse);
- assertEquals(apiWhenImageExists.getImageApiForZone("az-1.region-a.geo-1").setMetadata(imageId, metadata).toString(),
+ assertEquals(apiWhenImageExists.getImageApiForZone("az-1.region-a.geo-1").setMetadata(imageId, metadata).toString(),
new ParseMetadataListTest().expected().toString());
}
@@ -187,14 +185,14 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
.put("Server Label", "Web Head 1")
.put("Image Version", "2.1")
.build();
-
- HttpRequest setMetadata = HttpRequest
- .builder()
+
+ HttpRequest setMetadata = HttpRequest.builder()
.method("PUT")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata")
.addHeader("Accept", "*/*")
.addHeader("X-Auth-Token", authToken)
- .payload(payloadFromStringWithContentType("{\"metadata\":{\"Server Label\":\"Web Head 1\",\"Image Version\":\"2.1\"}}", "application/json"))
+ .payload(payloadFromStringWithContentType(
+ "{\"metadata\":{\"Server Label\":\"Web Head 1\",\"Image Version\":\"2.1\"}}", "application/json"))
.build();
HttpResponse setMetadataResponse = HttpResponse.builder().statusCode(404).build();
@@ -217,22 +215,22 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
.put("Server Description", "Simple Server")
.build();
- HttpRequest setMetadata = HttpRequest
- .builder()
+ HttpRequest setMetadata = HttpRequest.builder()
.method("POST")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
- .payload(payloadFromStringWithContentType("{\"metadata\":{\"Server Label\":\"Web Head 2\",\"Server Description\":\"Simple Server\"}}", "application/json"))
+ .payload(payloadFromStringWithContentType(
+ "{\"metadata\":{\"Server Label\":\"Web Head 2\",\"Server Description\":\"Simple Server\"}}", "application/json"))
.build();
HttpResponse setMetadataResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/metadata_updated.json")).build();
-
+
NovaApi apiWhenServerExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, setMetadata, setMetadataResponse);
- assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").updateMetadata(imageId, metadata).toString(),
+ assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").updateMetadata(imageId, metadata).toString(),
new ParseMetadataUpdateTest().expected().toString());
}
@@ -243,8 +241,7 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
.put("Server Description", "Simple Server")
.build();
- HttpRequest setMetadata = HttpRequest
- .builder()
+ HttpRequest setMetadata = HttpRequest.builder()
.method("POST")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers/" + imageId + "/metadata")
.addHeader("Accept", "application/json")
@@ -259,7 +256,7 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, setMetadata, setMetadataResponse);
try {
- apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").setMetadata(imageId, metadata);
+ apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").setMetadata(imageId, metadata);
fail("Expected an exception.");
} catch (Exception e) {
// expected
@@ -270,8 +267,7 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
String key = "Image%20Version";
- HttpRequest getMetadata = HttpRequest
- .builder()
+ HttpRequest getMetadata = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata/" + key)
.addHeader("Accept", "application/json")
@@ -280,11 +276,11 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
HttpResponse getMetadataResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromString("{\"metadata\":{\"Image Version\":\"2.5\"}}")).build();
-
+
NovaApi apiWhenServerExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, getMetadata, getMetadataResponse);
- assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").getMetadata(imageId, "Image Version").toString(),
+ assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").getMetadata(imageId, "Image Version").toString(),
"2.5");
}
@@ -292,8 +288,7 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
String key = "Image%20Version";
- HttpRequest getMetadata = HttpRequest
- .builder()
+ HttpRequest getMetadata = HttpRequest.builder()
.method("GET")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata/" + key)
.addHeader("Accept", "application/json")
@@ -313,8 +308,7 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
String key = "Image Version";
- HttpRequest updateMetadata = HttpRequest
- .builder()
+ HttpRequest updateMetadata = HttpRequest.builder()
.method("PUT")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata/" + "Image%20Version")
.addHeader("Accept", "application/json")
@@ -324,28 +318,27 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
HttpResponse updateMetadataResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromStringWithContentType("{\"metadata\":{\"Image Version\":\"2.5\"}}", "application/json")).build();
-
+
NovaApi apiWhenServerExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, updateMetadata, updateMetadataResponse);
-
- assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").updateMetadata(imageId, key, "2.5").toString(),
+
+ assertEquals(apiWhenServerExists.getImageApiForZone("az-1.region-a.geo-1").updateMetadata(imageId, key, "2.5").toString(),
"2.5");
}
public void testDeleteMetadataItemWhenResponseIs2xx() throws Exception {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
String key = "Image%20Version";
-
- HttpRequest deleteMetadata = HttpRequest
- .builder()
+
+ HttpRequest deleteMetadata = HttpRequest.builder()
.method("DELETE")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata/" + key)
- .addHeader("Accept", "*/*")
+ .addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.build();
HttpResponse deleteMetadataResponse = HttpResponse.builder().statusCode(204).build();
-
+
NovaApi apiWhenImageExists = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName,
responseWithKeystoneAccess, deleteMetadata, deleteMetadataResponse);
@@ -356,11 +349,10 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
String imageId = "52415800-8b69-11e0-9b19-734f5736d2a2";
String key = "Image%20Version";
- HttpRequest deleteMetadata = HttpRequest
- .builder()
+ HttpRequest deleteMetadata = HttpRequest.builder()
.method("DELETE")
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/images/" + imageId + "/metadata/" + key)
- .addHeader("Accept", "*/*")
+ .addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.build();
@@ -370,6 +362,5 @@ public class ImageApiExpectTest extends BaseNovaApiExpectTest {
responseWithKeystoneAccess, deleteMetadata, deleteMetadataResponse);
apiWhenImageExists.getImageApiForZone("az-1.region-a.geo-1").deleteMetadata(imageId, key);
-
}
}