You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ab...@apache.org on 2013/12/04 03:22:01 UTC
[5/7] git commit: Remove Kernel, tweak Disk definition
Remove Kernel, tweak Disk definition
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/194b1897
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/194b1897
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/194b1897
Branch: refs/heads/jclouds-393
Commit: 194b189706a20bb34ac28b2c72f193f27f3b6482
Parents: 2d92701
Author: Andrew Bayer <an...@gmail.com>
Authored: Tue Dec 3 11:13:13 2013 -0800
Committer: Andrew Bayer <an...@gmail.com>
Committed: Tue Dec 3 11:13:13 2013 -0800
----------------------------------------------------------------------
.../GoogleComputeEngineApi.java | 10 --
.../googlecomputeengine/domain/Disk.java | 32 ++++-
.../googlecomputeengine/domain/Kernel.java | 91 ------------
.../googlecomputeengine/features/KernelApi.java | 140 -------------------
.../functions/internal/ParseKernels.java | 66 ---------
.../features/KernelApiExpectTest.java | 109 ---------------
.../features/KernelApiLiveTest.java | 77 ----------
.../parse/ParseKernelListTest.java | 73 ----------
.../parse/ParseKernelTest.java | 51 -------
.../src/test/resources/kernel.json | 8 --
.../src/test/resources/kernel_list.json | 27 ----
11 files changed, 27 insertions(+), 657 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
index f6ff923..6918d27 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
@@ -27,7 +27,6 @@ import org.jclouds.googlecomputeengine.features.FirewallApi;
import org.jclouds.googlecomputeengine.features.GlobalOperationApi;
import org.jclouds.googlecomputeengine.features.ImageApi;
import org.jclouds.googlecomputeengine.features.InstanceApi;
-import org.jclouds.googlecomputeengine.features.KernelApi;
import org.jclouds.googlecomputeengine.features.MachineTypeApi;
import org.jclouds.googlecomputeengine.features.NetworkApi;
import org.jclouds.googlecomputeengine.features.ProjectApi;
@@ -107,15 +106,6 @@ public interface GoogleComputeEngineApi extends Closeable {
InstanceApi getInstanceApiForProject(@PathParam("project") String projectName);
/**
- * Provides access to Kernel features
- *
- * @param projectName the name of the project
- */
- @Delegate
- @Path("/projects/{project}")
- KernelApi getKernelApiForProject(@PathParam("project") String projectName);
-
- /**
* Provides access to MachineType features
*
* @param projectName the name of the project
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
index 15ecf69..3c7bad8 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
@@ -17,6 +17,7 @@
package org.jclouds.googlecomputeengine.domain;
import static com.google.common.base.Objects.equal;
+import static com.google.common.base.Optional.fromNullable;
import static com.google.common.base.Preconditions.checkNotNull;
import java.beans.ConstructorProperties;
@@ -25,6 +26,7 @@ import java.util.Date;
import com.google.common.annotations.Beta;
import com.google.common.base.Objects;
+import com.google.common.base.Optional;
/**
* A persistent disk resource
@@ -36,15 +38,17 @@ import com.google.common.base.Objects;
public final class Disk extends AbstractDisk {
private final URI zone;
+ private final Optional<URI> sourceImage;
@ConstructorProperties({
"id", "creationTimestamp", "selfLink", "name", "description", "sizeGb", "zone",
- "status"
+ "status", "sourceImage"
})
private Disk(String id, Date creationTimestamp, URI selfLink, String name, String description,
- Integer sizeGb, URI zone, String status) {
+ Integer sizeGb, URI zone, String status, URI sourceImage) {
super(Kind.DISK, id, creationTimestamp, selfLink, name, description, sizeGb, status);
this.zone = checkNotNull(zone, "zone of %s", name);
+ this.sourceImage = fromNullable(sourceImage);
}
/**
@@ -55,6 +59,13 @@ public final class Disk extends AbstractDisk {
}
/**
+ * @return the source image for the disk
+ */
+ public Optional<URI> getSourceImage() {
+ return sourceImage;
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
@@ -73,7 +84,8 @@ public final class Disk extends AbstractDisk {
protected Objects.ToStringHelper string() {
return super.string()
.omitNullValues()
- .add("zone", zone);
+ .add("zone", zone)
+ .add("sourceImage", sourceImage.orNull());
}
/**
@@ -95,6 +107,7 @@ public final class Disk extends AbstractDisk {
public static final class Builder extends AbstractDisk.Builder<Builder> {
private URI zone;
+ private URI sourceImage;
/**
* @see Disk#getZone()
@@ -104,6 +117,14 @@ public final class Disk extends AbstractDisk {
return this;
}
+ /**
+ * @see Disk#getSourceImage()
+ */
+ public Builder sourceImage(URI sourceImage) {
+ this.sourceImage = sourceImage;
+ return this;
+ }
+
@Override
protected Builder self() {
return this;
@@ -111,12 +132,13 @@ public final class Disk extends AbstractDisk {
public Disk build() {
return new Disk(super.id, super.creationTimestamp, super.selfLink, super.name,
- super.description, super.sizeGb, zone, super.status);
+ super.description, super.sizeGb, zone, super.status, sourceImage);
}
public Builder fromDisk(Disk in) {
return super.fromAbstractDisk(in)
- .zone(in.getZone());
+ .zone(in.getZone())
+ .sourceImage(in.getSourceImage().orNull());
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Kernel.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Kernel.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Kernel.java
deleted file mode 100644
index 3c54865..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Kernel.java
+++ /dev/null
@@ -1,91 +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.googlecomputeengine.domain;
-
-import static com.google.common.base.Optional.fromNullable;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.beans.ConstructorProperties;
-import java.net.URI;
-import java.util.Date;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.Optional;
-
-/**
- * Represents a kernel.
- *
- * @author David Alves
- * @see <a href="https://developers.google.com/compute/docs/reference/v1/kernels"/>
- */
-@Beta
-public final class Kernel extends Resource {
- private final Optional<Deprecated> deprecated;
-
- @ConstructorProperties({
- "id", "creationTimestamp", "selfLink", "name", "description", "deprecated"
- })
- private Kernel(String id, Date creationTimestamp, URI selfLink, String name, String description,
- Deprecated deprecated) {
- super(Kind.KERNEL, id, creationTimestamp, selfLink, name, description);
- this.deprecated = fromNullable(deprecated);
- }
-
- /**
- * @return the deprecation information for this kernel
- */
- public Optional<Deprecated> getDeprecated() {
- return deprecated;
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return new Builder().fromKernel(this);
- }
-
- public static final class Builder extends Resource.Builder<Builder> {
-
- private Deprecated deprecated;
-
- /**
- * @see Kernel#getDeprecated()
- */
- public Builder deprecated(Deprecated deprecated) {
- this.deprecated = checkNotNull(deprecated, "deprecated");
- return this;
- }
-
- @Override
- protected Builder self() {
- return this;
- }
-
- public Kernel build() {
- return new Kernel(super.id, super.creationTimestamp, super.selfLink, super.name,
- super.description, deprecated);
- }
-
- public Builder fromKernel(Kernel in) {
- return super.fromResource(in)
- .deprecated(in.getDeprecated().orNull());
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/KernelApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/KernelApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/KernelApi.java
deleted file mode 100644
index 1c9d3af..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/KernelApi.java
+++ /dev/null
@@ -1,140 +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.googlecomputeengine.features;
-
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404;
-import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.googlecomputeengine.domain.Kernel;
-import org.jclouds.googlecomputeengine.domain.ListPage;
-import org.jclouds.googlecomputeengine.functions.internal.ParseKernels;
-import org.jclouds.googlecomputeengine.options.ListOptions;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.oauth.v2.config.OAuthScopes;
-import org.jclouds.oauth.v2.filters.OAuthAuthenticator;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.annotations.Transform;
-
-/**
- * Provides access to Kernels via their REST API.
- *
- * @author David Alves
- * @see <a href="https://developers.google.com/compute/docs/reference/v1/kernels"/>
- */
-@SkipEncoding({'/', '='})
-@RequestFilters(OAuthAuthenticator.class)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface KernelApi {
-
- /**
- * Returns the specified kernel resource
- *
- * @param kernelName name of the kernel resource to return.
- * @return If successful, this method returns a Kernel resource
- */
- @Named("Kernels:get")
- @GET
- @Path("/global/kernels/{kernel}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- Kernel get(@PathParam("kernel") String kernelName);
-
- /**
- * @see KernelApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("Kernels:list")
- @GET
- @Path("/global/kernels")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseKernels.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<Kernel> listFirstPage();
-
- /**
- * @see KernelApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("Kernels:list")
- @GET
- @Path("/global/kernels")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseKernels.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<Kernel> listAtMarker(@QueryParam("pageToken") @Nullable String marker);
-
- /**
- * Retrieves the list of kernel resources available to the specified project.
- * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not
- * been set.
- *
- * @param marker marks the beginning of the next list page
- * @param listOptions listing options
- * @return a page of the list
- * @see ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
- */
- @Named("Kernels:list")
- @GET
- @Path("/global/kernels")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseKernels.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<Kernel> listAtMarker(@QueryParam("pageToken") @Nullable String marker,
- ListOptions listOptions);
-
- /**
- * @see KernelApi#list(org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("Kernels:list")
- @GET
- @Path("/global/kernels")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseKernels.class)
- @Transform(ParseKernels.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Kernel> list();
-
- /**
- * A paged version of KernelApi#list()
- *
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required
- * @see PagedIterable
- * @see KernelApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("Kernels:list")
- @GET
- @Path("/global/kernels")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseKernels.class)
- @Transform(ParseKernels.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Kernel> list(ListOptions listOptions);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseKernels.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseKernels.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseKernels.java
deleted file mode 100644
index 121677f..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseKernels.java
+++ /dev/null
@@ -1,66 +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.googlecomputeengine.functions.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.domain.Kernel;
-import org.jclouds.googlecomputeengine.domain.ListPage;
-import org.jclouds.googlecomputeengine.options.ListOptions;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.json.Json;
-
-import com.google.common.base.Function;
-import com.google.inject.TypeLiteral;
-
-/**
- * @author David Alves
- */
-public class ParseKernels extends ParseJson<ListPage<Kernel>> {
-
- @Inject
- public ParseKernels(Json json) {
- super(json, new TypeLiteral<ListPage<Kernel>>() {
- });
- }
-
- public static class ToPagedIterable extends BaseToPagedIterable<Kernel, ToPagedIterable> {
-
- private final GoogleComputeEngineApi api;
-
- @Inject
- protected ToPagedIterable(GoogleComputeEngineApi api) {
- this.api = checkNotNull(api, "api");
- }
-
- @Override
- protected Function<Object, IterableWithMarker<Kernel>> fetchNextPage(final String projectName,
- final ListOptions options) {
- return new Function<Object, IterableWithMarker<Kernel>>() {
-
- @Override
- public IterableWithMarker<Kernel> apply(Object input) {
- return api.getKernelApiForProject(projectName).listAtMarker(input.toString(), options);
- }
- };
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiExpectTest.java
deleted file mode 100644
index 7dcd1f6..0000000
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiExpectTest.java
+++ /dev/null
@@ -1,109 +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.googlecomputeengine.features;
-
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiExpectTest;
-import org.jclouds.googlecomputeengine.parse.ParseKernelListTest;
-import org.jclouds.googlecomputeengine.parse.ParseKernelTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-/**
- * @author David Alves
- */
-@Test(groups = "unit")
-public class KernelApiExpectTest extends BaseGoogleComputeEngineApiExpectTest {
-
- public void testGetKernelResponseIs2xx() throws Exception {
- HttpRequest get = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/kernels/12941177846308850718")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/kernel.json")).build();
-
- KernelApi kernelApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, get, operationResponse).getKernelApiForProject("myproject");
-
- assertEquals(kernelApi.get("12941177846308850718"),
- new ParseKernelTest().expected());
- }
-
- public void testGetKernelResponseIs4xx() throws Exception {
- HttpRequest get = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/kernels/12941177846308850718")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
-
- KernelApi kernelApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, get, operationResponse).getKernelApiForProject("myproject");
-
- assertNull(kernelApi.get("12941177846308850718"));
- }
-
- public void testListKernelNoOptionsResponseIs2xx() throws Exception {
- HttpRequest list = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/kernels")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/kernel_list.json")).build();
-
- KernelApi kernelApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).getKernelApiForProject("myproject");
-
- assertEquals(kernelApi.listFirstPage().toString(),
- new ParseKernelListTest().expected().toString());
- }
-
- public void testListKernelsResponseIs4xx() {
- HttpRequest list = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/kernels")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
-
- KernelApi kernelApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).getKernelApiForProject("myproject");
-
- assertTrue(kernelApi.list().concat().isEmpty());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiLiveTest.java
deleted file mode 100644
index 8e9f971..0000000
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/KernelApiLiveTest.java
+++ /dev/null
@@ -1,77 +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.googlecomputeengine.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertSame;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.googlecomputeengine.domain.Kernel;
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiLiveTest;
-import org.jclouds.googlecomputeengine.options.ListOptions;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-/**
- * @author David Alves
- */
-public class KernelApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
-
- private Kernel kernel;
-
- private KernelApi api() {
- return api.getKernelApiForProject("google");
- }
-
- @Test(groups = "live")
- public void testListKernel() {
-
- PagedIterable<Kernel> kernels = api().list(new ListOptions.Builder()
- .maxResults(1));
-
- Iterator<IterableWithMarker<Kernel>> pageIterator = kernels.iterator();
- assertTrue(pageIterator.hasNext());
-
- IterableWithMarker<Kernel> singlePageIterator = pageIterator.next();
- List<Kernel> kernelAsList = Lists.newArrayList(singlePageIterator);
-
- assertSame(kernelAsList.size(), 1);
-
- this.kernel = Iterables.getOnlyElement(kernelAsList);
- }
-
-
- @Test(groups = "live", dependsOnMethods = "testListKernel")
- public void testGetKernel() {
- Kernel kernel = api().get(this.kernel.getName());
- assertNotNull(kernel);
- assertKernelEquals(kernel, this.kernel);
- }
-
- private void assertKernelEquals(Kernel result, Kernel expected) {
- assertEquals(result.getName(), expected.getName());
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelListTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelListTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelListTest.java
deleted file mode 100644
index b0c6b4b..0000000
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelListTest.java
+++ /dev/null
@@ -1,73 +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.googlecomputeengine.parse;
-
-import java.net.URI;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.date.internal.SimpleDateFormatDateService;
-import org.jclouds.googlecomputeengine.domain.*;
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author David Alves
- */
-@Test(groups = "unit")
-public class ParseKernelListTest extends BaseGoogleComputeEngineParseTest<ListPage<Kernel>> {
-
- @Override
- public String resource() {
- return "/kernel_list.json";
- }
-
- @Override
- @Consumes(MediaType.APPLICATION_JSON)
- public ListPage<Kernel> expected() {
- return ListPage.<Kernel>builder()
- .kind(Resource.Kind.KERNEL_LIST)
- .id("projects/google/global/kernels")
- .selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/google/global/kernels"))
- .items(ImmutableSet.of(
- Kernel.builder()
- .id("12941177846308850718")
- .creationTimestamp(new SimpleDateFormatDateService().iso8601DateParse
- ("2012-07-16T21:42:16.950"))
- .selfLink(URI.create("https://www.googleapis" +
- ".com/compute/v1/projects/google/global/kernels/gce-20110524"))
- .name("gce-20110524")
- .description("DEPRECATED. Created Tue, 24 May 2011 00:48:22 +0000").build(),
- Kernel.builder()
- .id("12941177983348179280")
- .creationTimestamp(new SimpleDateFormatDateService().iso8601DateParse
- ("2012-07-16T21:42:31.166"))
- .selfLink(URI.create("https://www.googleapis" +
- ".com/compute/v1/projects/google/global/kernels/gce-20110728"))
- .name("gce-20110728")
- .description("DEPRECATED. Created Thu, 28 Jul 2011 16:44:38 +0000")
- .deprecated(org.jclouds.googlecomputeengine.domain.Deprecated.builder()
- .state("OBSOLETE")
- .replacement(URI.create("https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-v20130603"))
- .build())
- .build()
- )).build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelTest.java
deleted file mode 100644
index 1d179d4..0000000
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseKernelTest.java
+++ /dev/null
@@ -1,51 +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.googlecomputeengine.parse;
-
-import java.net.URI;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.date.internal.SimpleDateFormatDateService;
-import org.jclouds.googlecomputeengine.domain.Kernel;
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
-import org.testng.annotations.Test;
-
-/**
- * @author David Alves
- */
-@Test(groups = "unit")
-public class ParseKernelTest extends BaseGoogleComputeEngineParseTest<Kernel> {
-
- @Override
- public String resource() {
- return "/kernel.json";
- }
-
- @Override
- @Consumes(MediaType.APPLICATION_JSON)
- public Kernel expected() {
- return Kernel.builder()
- .id("12941177846308850718")
- .creationTimestamp(new SimpleDateFormatDateService().iso8601DateParse("2012-07-16T21:42:16.950"))
- .selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-20110524"))
- .name("gce-20110524")
- .description("DEPRECATED. Created Tue, 24 May 2011 00:48:22 +0000")
- .build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/resources/kernel.json
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/resources/kernel.json b/google-compute-engine/src/test/resources/kernel.json
deleted file mode 100644
index eb89a1c..0000000
--- a/google-compute-engine/src/test/resources/kernel.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "kind": "compute#kernel",
- "id": "12941177846308850718",
- "creationTimestamp": "2012-07-16T21:42:16.950",
- "selfLink": "https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-20110524",
- "name": "gce-20110524",
- "description": "DEPRECATED. Created Tue, 24 May 2011 00:48:22 +0000"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/194b1897/google-compute-engine/src/test/resources/kernel_list.json
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/resources/kernel_list.json b/google-compute-engine/src/test/resources/kernel_list.json
deleted file mode 100644
index f9ebc13..0000000
--- a/google-compute-engine/src/test/resources/kernel_list.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "kind": "compute#kernelList",
- "id": "projects/google/global/kernels",
- "selfLink": "https://www.googleapis.com/compute/v1/projects/google/global/kernels",
- "items": [
- {
- "kind": "compute#kernel",
- "id": "12941177846308850718",
- "creationTimestamp": "2012-07-16T21:42:16.950",
- "selfLink": "https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-20110524",
- "name": "gce-20110524",
- "description": "DEPRECATED. Created Tue, 24 May 2011 00:48:22 +0000"
- },
- {
- "kind": "compute#kernel",
- "id": "12941177983348179280",
- "creationTimestamp": "2012-07-16T21:42:31.166",
- "selfLink": "https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-20110728",
- "name": "gce-20110728",
- "description": "DEPRECATED. Created Thu, 28 Jul 2011 16:44:38 +0000",
- "deprecated": {
- "state": "OBSOLETE",
- "replacement": "https://www.googleapis.com/compute/v1/projects/google/global/kernels/gce-v20130603"
- }
- }
- ]
-}
\ No newline at end of file