http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java index 9865609..836846e 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java @@ -17,31 +17,28 @@ package org.jclouds.googlecloudstorage.domain.templates; +import java.util.List; import java.util.Map; -import java.util.Set; -import org.jclouds.googlecloudstorage.domain.DomainUtils; import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.common.hash.HashCode; -import com.google.common.io.BaseEncoding; import com.google.common.net.MediaType; public class ObjectTemplate { - protected String name; - protected Long size; - protected String cacheControl; - protected String contentDisposition; - protected String contentEncoding; - protected String contentLanguage; - protected String contentType; - protected String crc32c; - protected String md5Hash; + private String name; + private Long size; + private String cacheControl; + private String contentDisposition; + private String contentEncoding; + private String contentLanguage; + private String contentType; + private String crc32c; + private String md5Hash; private Map<String, String> metadata = Maps.newLinkedHashMap(); - protected Set<ObjectAccessControls> acl = Sets.newLinkedHashSet(); + private List<ObjectAccessControls> acl = Lists.newArrayList(); public ObjectTemplate name(String name) { this.name = name; @@ -93,13 +90,13 @@ public class ObjectTemplate { return this; } - public ObjectTemplate crc32c(HashCode crc32c) { - this.crc32c = BaseEncoding.base64().encode(DomainUtils.reverse(crc32c.asBytes())); + public ObjectTemplate crc32c(String crc32c) { + this.crc32c = crc32c; return this; } - public ObjectTemplate md5Hash(HashCode md5Hash) { - this.md5Hash = BaseEncoding.base64().encode(md5Hash.asBytes()); + public ObjectTemplate md5Hash(String md5Hash) { + this.md5Hash = crc32c; return this; } @@ -108,80 +105,44 @@ public class ObjectTemplate { return this; } - public ObjectTemplate acl(Set<ObjectAccessControls> acl) { + public ObjectTemplate acl(List<ObjectAccessControls> acl) { this.acl.addAll(acl); return this; } - public String getCacheControl() { + public String cacheControl() { return cacheControl; } - public String getContentDisposition() { + public String contentDisposition() { return contentDisposition; } - public String getContentEncoding() { + public String contentEncoding() { return contentEncoding; } - public String getContentLanguage() { + public String contentLanguage() { return contentLanguage; } - public String getContentType() { + public String contentType() { return contentType; } - public HashCode getCrc32cHashcode() { - if (crc32c != null) { - HashCode hc = HashCode.fromBytes(DomainUtils.reverse(BaseEncoding.base64().decode(crc32c))); - return hc; - } - return null; - } - - public HashCode getMd5HashCode() { - if (md5Hash != null) { - HashCode hc = HashCode.fromBytes(BaseEncoding.base64().decode(md5Hash)); - return hc; - } - return null; - } - - public Map<String, String> getAllCustomMetadata() { + public Map<String, String> metadata() { return metadata; } - public String getName() { + public String name() { return name; } - public Long getSize() { + public Long size() { return size; } - public Set<ObjectAccessControls> getAcl() { + public List<ObjectAccessControls> acl() { return acl; } - - public static Builder builder() { - return new Builder(); - } - - public static ObjectTemplate fromObjectTemplate(ObjectTemplate objectTemplate) { - return Builder.fromObjectTemplate(objectTemplate); - } - - public static class Builder { - - public static ObjectTemplate fromObjectTemplate(ObjectTemplate in) { - return new ObjectTemplate().name(in.getName()).size(in.getSize()).acl(in.getAcl()) - .cacheControl(in.getCacheControl()).contentDisposition(in.getContentDisposition()) - .contentEncoding(in.getContentEncoding()).contentLanguage(in.getContentLanguage()) - .contentType(in.getContentType()).md5Hash(in.getMd5HashCode()) - .customMetadata(in.getAllCustomMetadata()).crc32c(in.getCrc32cHashcode()); - - } - } }
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java index 338b3ba..3d428da 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java @@ -18,6 +18,8 @@ package org.jclouds.googlecloudstorage.features; import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE; +import java.util.List; + import javax.inject.Named; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -31,7 +33,6 @@ import javax.ws.rs.core.MediaType; import org.jclouds.Fallbacks.NullOnNotFoundOr404; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; -import org.jclouds.googlecloudstorage.domain.ListBucketAccessControls; import org.jclouds.googlecloudstorage.domain.templates.BucketAccessControlsTemplate; import org.jclouds.http.HttpResponse; import org.jclouds.javax.annotation.Nullable; @@ -41,6 +42,7 @@ import org.jclouds.rest.annotations.BinderParam; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.PATCH; import org.jclouds.rest.annotations.RequestFilters; +import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.SkipEncoding; import org.jclouds.rest.binders.BindToJsonPayload; @@ -130,7 +132,8 @@ public interface BucketAccessControlsApi { @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) @Nullable - ListBucketAccessControls listBucketAccessControls(@PathParam("bucket") String bucketName); + @SelectJson("items") + List<BucketAccessControls> listBucketAccessControls(@PathParam("bucket") String bucketName); /** * Updates an ACL entry on the specified bucket http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java index 54dca83..9fda891 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java @@ -18,6 +18,8 @@ package org.jclouds.googlecloudstorage.features; import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE; +import java.util.List; + import javax.inject.Named; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -31,10 +33,9 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; -import org.jclouds.googlecloudstorage.domain.ListDefaultObjectAccessControls; -import org.jclouds.googlecloudstorage.domain.templates.DefaultObjectAccessControlsTemplate; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; +import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate; import org.jclouds.http.HttpResponse; import org.jclouds.javax.annotation.Nullable; import org.jclouds.oauth.v2.config.OAuthScopes; @@ -43,6 +44,7 @@ import org.jclouds.rest.annotations.BinderParam; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.PATCH; import org.jclouds.rest.annotations.RequestFilters; +import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.SkipEncoding; import org.jclouds.rest.binders.BindToJsonPayload; @@ -75,8 +77,8 @@ public interface DefaultObjectAccessControlsApi { @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) @Nullable - DefaultObjectAccessControls getDefaultObjectAccessControls(@PathParam("bucket") String bucketName, - @PathParam("entity") String entity); + ObjectAccessControls getDefaultObjectAccessControls(@PathParam("bucket") String bucketName, + @PathParam("entity") String entity); /** * Creates a new ACL entry for specified object @@ -94,8 +96,8 @@ public interface DefaultObjectAccessControlsApi { @Produces(MediaType.APPLICATION_JSON) @Path("/b/{bucket}/defaultObjectAcl") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) - DefaultObjectAccessControls createDefaultObjectAccessControls(@PathParam("bucket") String bucketName, - @BinderParam(BindToJsonPayload.class) DefaultObjectAccessControlsTemplate template); + ObjectAccessControls createDefaultObjectAccessControls(@PathParam("bucket") String bucketName, + @BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template); /** * Permanently deletes the DefaultObjectAcessControl entry for the specified entity on the specified bucket. @@ -108,7 +110,6 @@ public interface DefaultObjectAccessControlsApi { * * @return If successful, this method returns an empty response body */ - @Named("DefaultObjectAccessControls:delete") @DELETE @Consumes(MediaType.APPLICATION_JSON) @@ -124,10 +125,6 @@ public interface DefaultObjectAccessControlsApi { * * @param bucketName * Name of the bucket which contains the object - * @param objectName - * Name of the bucket of that ACL is related - * @param generation - * If present, selects a specific revision of this object * * @return ListObjectAccessControls resource * @@ -141,20 +138,18 @@ public interface DefaultObjectAccessControlsApi { @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) @Nullable - ListDefaultObjectAccessControls listDefaultObjectAccessControls(@PathParam("bucket") String bucketName); + @SelectJson("items") + List<ObjectAccessControls> listDefaultObjectAccessControls(@PathParam("bucket") String bucketName); /** * Retrieves ACL entries on a specified object * * @param bucketName * Name of the bucket which contains the object - * @param generation - * If present, selects a specific revision of this object * * @return DefaultObjectAccessControls resource * */ - @Named("DefaultObjectAccessControls:update") @PUT @Consumes(MediaType.APPLICATION_JSON) @@ -162,22 +157,16 @@ public interface DefaultObjectAccessControlsApi { @Path("/b/{bucket}/defaultObjectAcl/{entity}") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) - DefaultObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName, + ObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("entity") String entity, - @BinderParam(BindToJsonPayload.class) DefaultObjectAccessControls payload); + @BinderParam(BindToJsonPayload.class) ObjectAccessControls payload); /** * Retrieves ACL entries on a specified object * * @param bucketName * Name of the bucket which contains the object - * @param generation - * If present, selects a specific revision of this object - * - * @return DefaultObjectAccessControls resource - * */ - @Named("DefaultObjectAccessControls:update") @PUT @Consumes(MediaType.APPLICATION_JSON) @@ -185,9 +174,9 @@ public interface DefaultObjectAccessControlsApi { @Path("/b/{bucket}/defaultObjectAcl/{entity}") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) - DefaultObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName, + ObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("entity") String entity, - @BinderParam(BindToJsonPayload.class) DefaultObjectAccessControls payload, + @BinderParam(BindToJsonPayload.class) ObjectAccessControls payload, @QueryParam("role") ObjectRole role); /** @@ -195,13 +184,7 @@ public interface DefaultObjectAccessControlsApi { * * @param bucketName * Name of the bucket which contains the object - * @param generation - * If present, selects a specific revision of this object - * - * @return DefaultObjectAccessControls resource - * */ - @Named("DefaultObjectAccessControls:patch") @PATCH @Consumes(MediaType.APPLICATION_JSON) @@ -209,7 +192,7 @@ public interface DefaultObjectAccessControlsApi { @Path("/b/{bucket}/defaultObjectAcl/{entity}") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) - DefaultObjectAccessControls patchDefaultObjectAccessControls(@PathParam("bucket") String bucketName, + ObjectAccessControls patchDefaultObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("entity") String entity, - @BinderParam(BindToJsonPayload.class) DefaultObjectAccessControls payload); + @BinderParam(BindToJsonPayload.class) ObjectAccessControls payload); } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java index 5645757..5b0e0a9 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java @@ -18,6 +18,8 @@ package org.jclouds.googlecloudstorage.features; import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE; +import java.util.List; + import javax.inject.Named; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -31,7 +33,6 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.googlecloudstorage.domain.ListObjectAccessControls; import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate; import org.jclouds.javax.annotation.Nullable; @@ -41,6 +42,7 @@ import org.jclouds.rest.annotations.BinderParam; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.PATCH; import org.jclouds.rest.annotations.RequestFilters; +import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.SkipEncoding; import org.jclouds.rest.binders.BindToJsonPayload; @@ -93,7 +95,6 @@ public interface ObjectAccessControlsApi { * * @return an {@link ObjectAccessControls } */ - @Named("ObjectAccessControls:get") @GET @Consumes(MediaType.APPLICATION_JSON) @@ -116,7 +117,6 @@ public interface ObjectAccessControlsApi { * * @return an {@link ObjectAccessControls } */ - @Named("ObjectAccessControls:insert") @POST @Consumes(MediaType.APPLICATION_JSON) @@ -140,7 +140,6 @@ public interface ObjectAccessControlsApi { * * @return an {@link ObjectAccessControls } */ - @Named("ObjectAccessControls:insert") @POST @Consumes(MediaType.APPLICATION_JSON) @@ -185,7 +184,6 @@ public interface ObjectAccessControlsApi { * The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId, * group-emailAddress, allUsers, or allAuthenticatedUsers */ - @Named("ObjectAccessControls:delete") @DELETE @Consumes(MediaType.APPLICATION_JSON) @@ -201,13 +199,7 @@ public interface ObjectAccessControlsApi { * Name of the bucket which contains the object * @param objectName * Name of the bucket of that acl is related - * @param generation - * If present, selects a specific revision of this object - * - * @return {@link ListObjectAccessControls } resource - * */ - @Named("ObjectAccessControls:list") @GET @Consumes(MediaType.APPLICATION_JSON) @@ -215,8 +207,9 @@ public interface ObjectAccessControlsApi { @Path("/b/{bucket}/o/{object}/acl") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) + @SelectJson("items") @Nullable - ListObjectAccessControls listObjectAccessControls(@PathParam("bucket") String bucketName, + List<ObjectAccessControls> listObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("object") String objectName); /** @@ -229,10 +222,7 @@ public interface ObjectAccessControlsApi { * @param generation * If present, selects a specific revision of this object * - * @return a {@link ListObjectAccessControls } - * */ - @Named("ObjectAccessControls:list") @GET @Consumes(MediaType.APPLICATION_JSON) @@ -240,8 +230,9 @@ public interface ObjectAccessControlsApi { @Path("/b/{bucket}/o/{object}/acl") @OAuthScopes(STORAGE_FULLCONTROL_SCOPE) @Fallback(NullOnNotFoundOr404.class) + @SelectJson("items") @Nullable - ListObjectAccessControls listObjectAccessControls(@PathParam("bucket") String bucketName, + List<ObjectAccessControls> listObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("object") String objectName, @QueryParam("generation") Long generation); /** http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/internal/NullSafeCopies.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/internal/NullSafeCopies.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/internal/NullSafeCopies.java new file mode 100644 index 0000000..3cec1b4 --- /dev/null +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/internal/NullSafeCopies.java @@ -0,0 +1,39 @@ +/* + * 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.googlecloudstorage.internal; + +import java.util.List; +import java.util.Map; + +import org.jclouds.javax.annotation.Nullable; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; + +public class NullSafeCopies { + + public static <K, V> Map<K, V> copyOf(@Nullable Map<K, V> map) { + return map != null ? ImmutableMap.copyOf(map) : ImmutableMap.<K, V>of(); + } + + public static <E> List<E> copyOf(@Nullable List<E> list) { + return list != null ? ImmutableList.copyOf(list) : ImmutableList.<E>of(); + } + + private NullSafeCopies() { + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/parser/ParseToResumableUpload.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/parser/ParseToResumableUpload.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/parser/ParseToResumableUpload.java index fa3c318..ec0effa 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/parser/ParseToResumableUpload.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/parser/ParseToResumableUpload.java @@ -16,6 +16,8 @@ */ package org.jclouds.googlecloudstorage.parser; +import static com.google.common.base.Preconditions.checkArgument; + import java.util.regex.Pattern; import org.jclouds.googlecloudstorage.domain.ResumableUpload; @@ -41,16 +43,19 @@ public class ParseToResumableUpload implements Function<HttpResponse, ResumableU if (range != null) { upperLimit = getUpperLimitFromRange(range); lowerLimit = getLowerLimitFromRange(range); + if (lowerLimit != null && upperLimit != null) { + checkArgument(lowerLimit < upperLimit, "lower range must less than upper range, was: %s - %s", lowerLimit, + upperLimit); + } } - return ResumableUpload.builder().statusCode(response.getStatusCode()).contentLength(contentLength) - .uploadId(uploadId).rangeUpperValue(upperLimit).rangeLowerValue(lowerLimit).build(); + return ResumableUpload.create(response.getStatusCode(), contentLength, uploadId, upperLimit, lowerLimit); } // Return the Id of the Upload private String getUploadId(String sessionUri) { return Splitter.on(Pattern.compile("\\&")).trimResults().omitEmptyStrings().withKeyValueSeparator("=") - .split(sessionUri).get("upload_id"); + .split(sessionUri).get("upload_id"); } private long getUpperLimitFromRange(String range) { http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/google-cloud-storage/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata deleted file mode 100644 index 7528137..0000000 --- a/google-cloud-storage/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata +++ /dev/null @@ -1,18 +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. -# - -org.jclouds.googlecloudstorage.GoogleCloudStorageApiMetadata http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java index da61901..89ec40b 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java @@ -23,7 +23,7 @@ import static org.testng.AssertJUnit.assertNull; import javax.ws.rs.core.MediaType; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; import org.jclouds.googlecloudstorage.domain.templates.BucketAccessControlsTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest; import org.jclouds.googlecloudstorage.parse.BucketAclGetTest; @@ -109,11 +109,9 @@ public class BucketAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi BucketAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, insertRequest, CREATE_BUCKETACL_RESPONSE).getBucketAccessControlsApi(); - BucketAccessControlsTemplate template = new BucketAccessControlsTemplate().entity("allAuthenticatedUsers").role( - Role.WRITER); + BucketAccessControlsTemplate template = BucketAccessControlsTemplate.create("allAuthenticatedUsers", Role.WRITER); assertEquals(api.createBucketAccessControls(EXPECTED_TEST_BUCKET, template), new BucketAclInsertTest().expected()); - } // Test deleteBucketAccessControls @@ -160,7 +158,7 @@ public class BucketAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi BucketAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getBucketAccessControlsApi(); - BucketAccessControlsTemplate template = new BucketAccessControlsTemplate().entity("allUsers").role(Role.OWNER); + BucketAccessControlsTemplate template = BucketAccessControlsTemplate.create("allUsers", Role.OWNER); assertEquals(api.updateBucketAccessControls(EXPECTED_TEST_BUCKET, "allUsers", template), new BucketAclUpdateTest().expected()); @@ -183,7 +181,7 @@ public class BucketAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi BucketAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, patchRequest, patchResponse).getBucketAccessControlsApi(); - BucketAccessControlsTemplate template = new BucketAccessControlsTemplate().entity("allUsers").role(Role.OWNER); + BucketAccessControlsTemplate template = BucketAccessControlsTemplate.create("allUsers", Role.OWNER); assertEquals(api.patchBucketAccessControls(EXPECTED_TEST_BUCKET, "allUsers", template), new BucketAclUpdateTest().expected()); http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java index 93b2268..c44c38b 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java @@ -19,13 +19,12 @@ package org.jclouds.googlecloudstorage.features; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; +import java.util.List; import java.util.UUID; import org.jclouds.googlecloudstorage.domain.Bucket; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; -import org.jclouds.googlecloudstorage.domain.ListBucketAccessControls; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; import org.jclouds.googlecloudstorage.domain.templates.BucketAccessControlsTemplate; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiLiveTest; @@ -48,21 +47,21 @@ public class BucketAccessControlsApiLiveTest extends BaseGoogleCloudStorageApiLi @Test(groups = "live") public void testCreateBucketAcl() { createBucket(BUCKET_NAME); - BucketAccessControlsTemplate bucketAcl = new BucketAccessControlsTemplate().entity("allUsers").role(Role.READER); + BucketAccessControlsTemplate bucketAcl = BucketAccessControlsTemplate.create("allUsers", Role.READER); BucketAccessControls response = api().createBucketAccessControls(BUCKET_NAME, bucketAcl); assertNotNull(response); - assertEquals(response.getId(), BUCKET_NAME + "/allUsers"); + assertEquals(response.id(), BUCKET_NAME + "/allUsers"); } @Test(groups = "live", dependsOnMethods = "testCreateBucketAcl") public void testUpdateBucketAcl() { - BucketAccessControlsTemplate template = new BucketAccessControlsTemplate().entity("allUsers").role(Role.WRITER); + BucketAccessControlsTemplate template = BucketAccessControlsTemplate.create("allUsers", Role.WRITER); BucketAccessControls response = api().updateBucketAccessControls(BUCKET_NAME, "allUsers", template); assertNotNull(response); - assertEquals(response.getId(), BUCKET_NAME + "/allUsers"); - assertEquals(response.getRole(), Role.WRITER); + assertEquals(response.id(), BUCKET_NAME + "/allUsers"); + assertEquals(response.role(), Role.WRITER); } @Test(groups = "live", dependsOnMethods = "testUpdateBucketAcl") @@ -70,27 +69,25 @@ public class BucketAccessControlsApiLiveTest extends BaseGoogleCloudStorageApiLi BucketAccessControls response = api().getBucketAccessControls(BUCKET_NAME, "allUsers"); assertNotNull(response); - assertEquals(response.getId(), BUCKET_NAME + "/allUsers"); - assertEquals(response.getRole(), Role.WRITER); + assertEquals(response.id(), BUCKET_NAME + "/allUsers"); + assertEquals(response.role(), Role.WRITER); } @Test(groups = "live", dependsOnMethods = "testUpdateBucketAcl") public void testListBucketAcl() { - ListBucketAccessControls response = api().listBucketAccessControls(BUCKET_NAME); + List<BucketAccessControls> response = api().listBucketAccessControls(BUCKET_NAME); assertNotNull(response); - assertEquals(response.getKind(), Kind.BUCKET_ACCESS_CONTROLS); - assertNotNull(response.getItems()); } @Test(groups = "live", dependsOnMethods = "testUpdateBucketAcl") public void testPatchBucketAcl() { - BucketAccessControlsTemplate template = new BucketAccessControlsTemplate().entity("allUsers").role(Role.READER); + BucketAccessControlsTemplate template = BucketAccessControlsTemplate.create("allUsers", Role.READER); BucketAccessControls response = api().patchBucketAccessControls(BUCKET_NAME, "allUsers", template); assertNotNull(response); - assertEquals(response.getId(), BUCKET_NAME + "/allUsers"); - assertEquals(response.getRole(), Role.READER); + assertEquals(response.id(), BUCKET_NAME + "/allUsers"); + assertEquals(response.role(), Role.READER); } @Test(groups = "live", dependsOnMethods = "testPatchBucketAcl") http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java index 6721ddc..ef41d71 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java @@ -26,7 +26,7 @@ import javax.ws.rs.core.MediaType; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest; import org.jclouds.googlecloudstorage.options.GetBucketOptions; http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java index 3458706..c0ca7c6 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java @@ -18,26 +18,26 @@ package org.jclouds.googlecloudstorage.features; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertNull; import static org.testng.Assert.assertSame; import static org.testng.Assert.assertTrue; -import static org.testng.Assert.assertNull; +import java.util.Arrays; import java.util.Iterator; import java.util.List; +import org.jclouds.googlecloudstorage.domain.Bucket; +import org.jclouds.googlecloudstorage.domain.Bucket.Cors; +import org.jclouds.googlecloudstorage.domain.Bucket.Logging; +import org.jclouds.googlecloudstorage.domain.Bucket.Versioning; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection; -import org.jclouds.googlecloudstorage.domain.Bucket; -import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass; import org.jclouds.googlecloudstorage.domain.ListPage; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; -import org.jclouds.googlecloudstorage.domain.internal.BucketCors; -import org.jclouds.googlecloudstorage.domain.internal.Logging; -import org.jclouds.googlecloudstorage.domain.internal.Versioning; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiLiveTest; import org.jclouds.googlecloudstorage.options.DeleteBucketOptions; @@ -71,27 +71,26 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { BucketAccessControls acl = BucketAccessControls.builder().bucket(BUCKET_NAME).entity("allUsers").role(Role.OWNER) .build(); - DefaultObjectAccessControls oac = DefaultObjectAccessControls.builder().bucket(BUCKET_NAME).entity("allUsers") + ObjectAccessControls oac = ObjectAccessControls.builder().bucket(BUCKET_NAME).entity("allUsers") .role(ObjectRole.OWNER).build(); - BucketCors bucketCors = BucketCors.builder().addOrigin("http://example.appspot.com").addMethod("GET") - .addMethod("HEAD").addResponseHeader("x-meta-goog-custom").maxAgeSeconds(10).build(); - Versioning version = Versioning.builder().enalbled(true).build(); + Cors cors = Cors.create(Arrays.asList("http://example.appspot.com"), Arrays.asList("GET", "HEAD"), + Arrays.asList("x-meta-goog-custom"), 10); + Versioning version = Versioning.create(true); - Logging log = Logging.builder().logBucket(LOG_BUCKET_NAME).logObjectPrefix(BUCKET_NAME).build(); + Logging log = Logging.create(LOG_BUCKET_NAME, BUCKET_NAME); BucketTemplate template = new BucketTemplate().name(BUCKET_NAME).addAcl(acl).addDefaultObjectAccessControls(oac) .versioning(version).location(Location.US_CENTRAL2).logging(log) - .storageClass(StorageClass.DURABLE_REDUCED_AVAILABILITY).addCORS(bucketCors); + .storageClass(StorageClass.DURABLE_REDUCED_AVAILABILITY).addCORS(cors); Bucket response = api().createBucket(PROJECT_NUMBER, template); assertNotNull(response); - assertNotNull(response.getCors()); - assertTrue(response.getCors().size() == 1); - assertEquals(response.getKind(), Kind.BUCKET); - assertEquals(response.getName(), BUCKET_NAME); - assertEquals(response.getLocation(), Location.US_CENTRAL2); - assertTrue(response.getVersioning().isEnabled()); + assertNotNull(response.cors()); + assertTrue(response.cors().size() == 1); + assertEquals(response.name(), BUCKET_NAME); + assertEquals(response.location(), Location.US_CENTRAL2); + assertTrue(response.versioning().enabled()); } @Test(groups = "live", dependsOnMethods = { "testCreateBucket" }) @@ -105,27 +104,25 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { @Test(groups = "live") public void testCreateBucketWithOptions() { - - DefaultObjectAccessControls oac = DefaultObjectAccessControls.builder().bucket(BUCKET_NAME_WITHOPTIONS) + ObjectAccessControls oac = ObjectAccessControls.builder().bucket(BUCKET_NAME_WITHOPTIONS) .entity("allUsers").role(ObjectRole.OWNER).build(); - BucketCors bucketCors = BucketCors.builder().addOrigin("http://example.appspot.com").addMethod("GET") - .addMethod("HEAD").addResponseHeader("x-meta-goog-custom").maxAgeSeconds(10).build(); - Versioning version = Versioning.builder().enalbled(true).build(); + Cors cors = Cors.create(Arrays.asList("http://example.appspot.com"), Arrays.asList("GET", "HEAD"), + Arrays.asList("x-meta-goog-custom"), 10); + Versioning version = Versioning.create(true); BucketTemplate template = new BucketTemplate().name(BUCKET_NAME_WITHOPTIONS).addDefaultObjectAccessControls(oac) .versioning(version).location(Location.US_CENTRAL2) - .storageClass(StorageClass.DURABLE_REDUCED_AVAILABILITY).addCORS(bucketCors); + .storageClass(StorageClass.DURABLE_REDUCED_AVAILABILITY).addCORS(cors); InsertBucketOptions options = new InsertBucketOptions().projection(Projection.FULL); Bucket response = api().createBucket(PROJECT_NUMBER, template, options); assertNotNull(response); - assertNotNull(response.getCors()); - assertEquals(response.getKind(), Kind.BUCKET); - assertEquals(response.getName(), BUCKET_NAME_WITHOPTIONS); - assertEquals(response.getLocation(), Location.US_CENTRAL2); - assertTrue(response.getVersioning().isEnabled()); + assertNotNull(response.cors()); + assertEquals(response.name(), BUCKET_NAME_WITHOPTIONS); + assertEquals(response.location(), Location.US_CENTRAL2); + assertTrue(response.versioning().enabled()); } @Test(groups = "live", dependsOnMethods = "testCreateBucket") @@ -136,8 +133,8 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { Bucket response = api().updateBucket(BUCKET_NAME, template); assertNotNull(response); - assertEquals(response.getName(), BUCKET_NAME); - assertNotNull(response.getAcl()); + assertEquals(response.name(), BUCKET_NAME); + assertNotNull(response.acl()); } @Test(groups = "live", dependsOnMethods = "testCreateBucketWithOptions") @@ -150,10 +147,10 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { assertNotNull(response); - metageneration = response.getMetageneration(); + metageneration = response.metageneration(); - assertEquals(response.getName(), BUCKET_NAME_WITHOPTIONS); - assertNotNull(response.getAcl()); + assertEquals(response.name(), BUCKET_NAME_WITHOPTIONS); + assertNotNull(response.acl()); } @Test(groups = "live", dependsOnMethods = "testCreateBucket") @@ -161,8 +158,7 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { Bucket response = api().getBucket(BUCKET_NAME); assertNotNull(response); - assertEquals(response.getName(), BUCKET_NAME); - assertEquals(response.getKind(), Kind.BUCKET); + assertEquals(response.name(), BUCKET_NAME); } @Test(groups = "live", dependsOnMethods = "testUpdateBucketWithOptions") @@ -171,8 +167,7 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { Bucket response = api().getBucket(BUCKET_NAME_WITHOPTIONS, options); assertNotNull(response); - assertEquals(response.getName(), BUCKET_NAME_WITHOPTIONS); - assertEquals(response.getKind(), Kind.BUCKET); + assertEquals(response.name(), BUCKET_NAME_WITHOPTIONS); } @Test(groups = "live", dependsOnMethods = "testCreateBucket") @@ -192,14 +187,14 @@ public class BucketApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { @Test(groups = "live", dependsOnMethods = "testCreateBucket") public void testPatchBucket() { - Logging logging = Logging.builder().logBucket(LOG_BUCKET_NAME).logObjectPrefix(BUCKET_NAME).build(); + Logging logging = Logging.create(LOG_BUCKET_NAME, BUCKET_NAME); BucketTemplate template = new BucketTemplate().name(BUCKET_NAME).logging(logging); Bucket response = api().patchBucket(BUCKET_NAME, template); assertNotNull(response); - assertEquals(response.getName(), BUCKET_NAME); - assertEquals(response.getLogging().getLogBucket(), LOG_BUCKET_NAME); + assertEquals(response.name(), BUCKET_NAME); + assertEquals(response.logging().logBucket(), LOG_BUCKET_NAME); } @Test(groups = "live", dependsOnMethods = { "testListBucket", "testGetBucket", "testUpdateBucket" }) http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java index 2e09031..15bd44f 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java @@ -23,9 +23,9 @@ import static org.testng.AssertJUnit.assertNull; import javax.ws.rs.core.MediaType; -import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; -import org.jclouds.googlecloudstorage.domain.templates.DefaultObjectAccessControlsTemplate; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; +import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest; import org.jclouds.googlecloudstorage.parse.DefaultObjectAclGetTest; import org.jclouds.googlecloudstorage.parse.DefaultObjectAclInsertTest; @@ -115,8 +115,7 @@ public class DefaultObjectAccessControlsApiExpectTest extends BaseGoogleCloudSto DefaultObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, insertRequest, CREATE_DEFAULT_OBJECT_ACL_RESPONSE).getDefaultObjectAccessControlsApi(); - DefaultObjectAccessControlsTemplate template = new DefaultObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", ObjectRole.OWNER); assertEquals(api.createDefaultObjectAccessControls(EXPECTED_TEST_BUCKET, template), new DefaultObjectAclInsertTest().expected()); @@ -166,8 +165,7 @@ public class DefaultObjectAccessControlsApiExpectTest extends BaseGoogleCloudSto DefaultObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getDefaultObjectAccessControlsApi(); - DefaultObjectAccessControls options = DefaultObjectAccessControls.builder().entity("allUsers") - .role(ObjectRole.OWNER).build(); + ObjectAccessControls options = ObjectAccessControls.builder().entity("allUsers").role(ObjectRole.OWNER).build(); assertEquals(api.updateDefaultObjectAccessControls(EXPECTED_TEST_BUCKET, "allUsers", options), new DefaultObjectAclInsertTest().expected()); @@ -191,8 +189,7 @@ public class DefaultObjectAccessControlsApiExpectTest extends BaseGoogleCloudSto DefaultObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getDefaultObjectAccessControlsApi(); - DefaultObjectAccessControls options = DefaultObjectAccessControls.builder().entity("allUsers") - .role(ObjectRole.OWNER).build(); + ObjectAccessControls options = ObjectAccessControls.builder().entity("allUsers").role(ObjectRole.OWNER).build(); assertEquals(api.updateDefaultObjectAccessControls(EXPECTED_TEST_BUCKET, "allUsers", options, ObjectRole.OWNER), new DefaultObjectAclInsertTest().expected()); @@ -215,8 +212,7 @@ public class DefaultObjectAccessControlsApiExpectTest extends BaseGoogleCloudSto DefaultObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getDefaultObjectAccessControlsApi(); - DefaultObjectAccessControls options = DefaultObjectAccessControls.builder().entity("allUsers") - .role(ObjectRole.OWNER).build(); + ObjectAccessControls options = ObjectAccessControls.builder().entity("allUsers").role(ObjectRole.OWNER).build(); assertEquals(api.patchDefaultObjectAccessControls(EXPECTED_TEST_BUCKET, "allUsers", options), new DefaultObjectAclInsertTest().expected()); http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java index 4e131c5..d15391e 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java @@ -19,15 +19,14 @@ package org.jclouds.googlecloudstorage.features; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; +import java.util.List; import java.util.UUID; import org.jclouds.googlecloudstorage.domain.Bucket; -import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; -import org.jclouds.googlecloudstorage.domain.ListDefaultObjectAccessControls; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; -import org.jclouds.googlecloudstorage.domain.templates.DefaultObjectAccessControlsTemplate; +import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiLiveTest; import org.testng.annotations.Test; @@ -48,56 +47,50 @@ public class DefaultObjectAccessControlsApiLiveTest extends BaseGoogleCloudStora @Test(groups = "live") public void testCreateDefaultObjectAcl() { createBucket(BUCKET_NAME); - DefaultObjectAccessControlsTemplate template = new DefaultObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.READER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", ObjectRole.READER); - DefaultObjectAccessControls response = api().createDefaultObjectAccessControls(BUCKET_NAME, template); + ObjectAccessControls response = api().createDefaultObjectAccessControls(BUCKET_NAME, template); assertNotNull(response); - assertEquals(response.getEntity(), "allUsers"); - assertEquals(response.getRole(), ObjectRole.READER); + assertEquals(response.entity(), "allUsers"); + assertEquals(response.role(), ObjectRole.READER); } @Test(groups = "live", dependsOnMethods = "testCreateDefaultObjectAcl") public void testUpdateDefaultObjectAcl() { - DefaultObjectAccessControls defaultObjectAcl = DefaultObjectAccessControls.builder().bucket(BUCKET_NAME) + ObjectAccessControls defaultObjectAcl = ObjectAccessControls.builder().bucket(BUCKET_NAME) .entity("allUsers").role(ObjectRole.OWNER).build(); - DefaultObjectAccessControls response = api().updateDefaultObjectAccessControls(BUCKET_NAME, "allUsers", - defaultObjectAcl); + ObjectAccessControls response = api().updateDefaultObjectAccessControls(BUCKET_NAME, "allUsers", defaultObjectAcl); assertNotNull(response); - assertEquals(response.getEntity(), "allUsers"); - assertEquals(response.getRole(), ObjectRole.OWNER); + assertEquals(response.entity(), "allUsers"); + assertEquals(response.role(), ObjectRole.OWNER); } @Test(groups = "live", dependsOnMethods = "testUpdateDefaultObjectAcl") public void testGetDefaultObjectAcl() { - DefaultObjectAccessControls response = api().getDefaultObjectAccessControls(BUCKET_NAME, "allUsers"); + ObjectAccessControls response = api().getDefaultObjectAccessControls(BUCKET_NAME, "allUsers"); assertNotNull(response); - assertEquals(response.getEntity(), "allUsers"); - assertEquals(response.getRole(), ObjectRole.OWNER); + assertEquals(response.entity(), "allUsers"); + assertEquals(response.role(), ObjectRole.OWNER); } @Test(groups = "live", dependsOnMethods = "testUpdateDefaultObjectAcl") public void testListDefaultObjectAcl() { - ListDefaultObjectAccessControls response = api().listDefaultObjectAccessControls(BUCKET_NAME); - + List<ObjectAccessControls> response = api().listDefaultObjectAccessControls(BUCKET_NAME); assertNotNull(response); - assertEquals(response.getKind(), Kind.OBJECT_ACCESS_CONTROLS); - assertNotNull(response.getItems()); } @Test(groups = "live", dependsOnMethods = "testUpdateDefaultObjectAcl") public void testPatchDefaultObjectAcl() { - DefaultObjectAccessControls defaultObjectAcl = DefaultObjectAccessControls.builder().bucket(BUCKET_NAME) + ObjectAccessControls defaultObjectAcl = ObjectAccessControls.builder().bucket(BUCKET_NAME) .entity("allUsers").role(ObjectRole.READER).build(); - DefaultObjectAccessControls response = api().patchDefaultObjectAccessControls(BUCKET_NAME, "allUsers", - defaultObjectAcl); + ObjectAccessControls response = api().patchDefaultObjectAccessControls(BUCKET_NAME, "allUsers", defaultObjectAcl); assertNotNull(response); - assertEquals(response.getEntity(), "allUsers"); - assertEquals(response.getRole(), ObjectRole.READER); + assertEquals(response.entity(), "allUsers"); + assertEquals(response.role(), ObjectRole.READER); } @Test(groups = "live", dependsOnMethods = "testPatchDefaultObjectAcl") http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java index e40a020..2c7562b 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java @@ -17,13 +17,13 @@ package org.jclouds.googlecloudstorage.features; +import static org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole.OWNER; import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE; import static org.testng.Assert.assertEquals; import static org.testng.AssertJUnit.assertNull; import javax.ws.rs.core.MediaType; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest; import org.jclouds.googlecloudstorage.parse.ObjectAclGetTest; @@ -151,8 +151,7 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, insertRequest, CREATE_OBJECT_ACL_RESPONSE).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity(EXPECTED_TEST_USER_ENTITY) - .role(ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create(EXPECTED_TEST_USER_ENTITY, OWNER); assertEquals(api.createObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, template), new ObjectAclInsertTest().expected()); @@ -173,8 +172,8 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, insertRequest, CREATE_OBJECT_ACL_RESPONSE).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity( - "user-00b4903a97adfde729f0650133a7379693099d8d85d6b1b18255ca70bf89e31d").role(ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate + .create("user-00b4903a97adfde729f0650133a7379693099d8d85d6b1b18255ca70bf89e31d", OWNER); assertEquals( api.createObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, template, Long.valueOf(100)), @@ -199,8 +198,7 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", OWNER); assertEquals(api.updateObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, "allUsers", template), new ObjectAclUpdateTest().expected()); @@ -223,8 +221,7 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, update, updateResponse).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", OWNER); assertEquals( api.updateObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, "allUsers", template, @@ -248,8 +245,7 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, patchRequest, patchResponse).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", OWNER); assertEquals(api.patchObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, "allUsers", template), new ObjectAclUpdateTest().expected()); @@ -272,8 +268,7 @@ public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApi ObjectAccessControlsApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, patchRequest, patchResponse).getObjectAccessControlsApi(); - ObjectAccessControlsTemplate template = new ObjectAccessControlsTemplate().entity("allUsers").role( - ObjectRole.OWNER); + ObjectAccessControlsTemplate template = ObjectAccessControlsTemplate.create("allUsers", OWNER); assertEquals( api.patchObjectAccessControls(EXPECTED_TEST_BUCKET, EXPECTED_TEST_OBJECT, "allUsers", template, Long.valueOf(100)), new ObjectAclUpdateTest().expected()); http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java index 6319683..b133b63 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java @@ -16,13 +16,14 @@ */ package org.jclouds.googlecloudstorage.features; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; +import static com.google.common.io.BaseEncoding.base64; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; import java.io.IOException; -import java.util.Set; +import java.util.List; import java.util.UUID; import javax.ws.rs.core.MediaType; @@ -34,7 +35,6 @@ import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection import org.jclouds.googlecloudstorage.domain.GCSObject; import org.jclouds.googlecloudstorage.domain.ListPage; import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; import org.jclouds.googlecloudstorage.domain.templates.ComposeObjectTemplate; import org.jclouds.googlecloudstorage.domain.templates.ObjectTemplate; @@ -56,12 +56,12 @@ import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import com.beust.jcommander.internal.Sets; +import com.beust.jcommander.internal.Lists; import com.google.common.collect.ImmutableMap; import com.google.common.hash.HashCode; -import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; import com.google.common.io.ByteSource; +import com.google.common.primitives.Bytes; public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { @@ -79,8 +79,8 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { private Long metageneration; private Long generation; - private HashCode hcMd5; - private HashCode hcCrc32c; + private String md5Hash; + private String crc32c; private ObjectApi api() { return api.getObjectApi(); @@ -117,8 +117,8 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { payload.getPayload().getContentMetadata().getContentLength(), payload.getPayload(), options); assertNotNull(gcsObject); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME); } @Test(groups = "live", dependsOnMethods = "testSimpleUpload") @@ -130,7 +130,7 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { assertNotNull(meta); assertEquals(meta.getContentType(), "text/plain"); - testPayload.getPayload().getContentMetadata().setContentDisposition("attachement"); + testPayload.getPayload().getContentMetadata().setContentDisposition("attachment"); assertEquals(ByteStreams2.toByteArrayAndClose(impl.getPayload().openStream()), ByteStreams2.toByteArrayAndClose(testPayload.getPayload().openStream())); @@ -147,16 +147,14 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().simpleUpload(BUCKET_NAME, "image/jpeg", contentLength, payload, options); assertNotNull(gcsObject); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME2); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME2); // This is a client side validation of md5 - HashFunction hf = Hashing.md5(); - hcMd5 = hf.newHasher().putBytes(testSource.read()).hash(); - - assertEquals(gcsObject.getMd5HashCode(), hcMd5); + md5Hash = base64().encode(testSource.hash(Hashing.md5()).asBytes()); + // TODO: crc32c = without making a compile dep on guava 18. - // TODO: crc32c validation without making a compile dep on guava 18+ + checkHashCodes(gcsObject); } @Test(groups = "live", dependsOnMethods = "testSimpleUpload") @@ -165,12 +163,12 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { assertNotNull(gcsObject); - metageneration = gcsObject.getMetageneration(); - generation = gcsObject.getGeneration(); + metageneration = gcsObject.metageneration(); + generation = gcsObject.generation(); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME); - assertEquals(gcsObject.getContentType(), "text/plain"); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME); + assertEquals(gcsObject.contentType(), "text/plain"); } @Test(groups = "live", dependsOnMethods = "testGetObject") @@ -181,10 +179,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().getObject(BUCKET_NAME, UPLOAD_OBJECT_NAME, options); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME); - assertEquals(gcsObject.getContentType(), "text/plain"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME); + assertEquals(gcsObject.contentType(), "text/plain"); } @Test(groups = "live", dependsOnMethods = "testGetObject") @@ -192,9 +190,9 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().copyObject(BUCKET_NAME2, COPIED_OBJECT_NAME, BUCKET_NAME, UPLOAD_OBJECT_NAME); assertNotNull(gcsObject); - assertEquals(gcsObject.getBucket(), BUCKET_NAME2); - assertEquals(gcsObject.getName(), COPIED_OBJECT_NAME); - assertEquals(gcsObject.getContentType(), "text/plain"); + assertEquals(gcsObject.bucket(), BUCKET_NAME2); + assertEquals(gcsObject.name(), COPIED_OBJECT_NAME); + assertEquals(gcsObject.contentType(), "text/plain"); // Test for data @@ -214,10 +212,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { .copyObject(BUCKET_NAME2, UPLOAD_OBJECT_NAME, BUCKET_NAME, UPLOAD_OBJECT_NAME, options); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME2); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME); - assertEquals(gcsObject.getContentType(), "text/plain"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME2); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME); + assertEquals(gcsObject.contentType(), "text/plain"); } @Test(groups = "live", dependsOnMethods = "testCopyObjectWithOptions") @@ -226,31 +224,29 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { .role(ObjectRole.OWNER).build(); ObjectTemplate destination = new ObjectTemplate().contentType("text/plain").addAcl(oacl); - Set<GCSObject> sourceList = Sets.newLinkedHashSet(); + List<GCSObject> sourceList = Lists.newArrayList(); sourceList.add(api().getObject(BUCKET_NAME2, UPLOAD_OBJECT_NAME)); sourceList.add(api().getObject(BUCKET_NAME2, COPIED_OBJECT_NAME)); - ComposeObjectTemplate requestTemplate = new ComposeObjectTemplate().sourceObjects(sourceList).destination( - destination); + ComposeObjectTemplate requestTemplate = ComposeObjectTemplate.create(sourceList, destination); GCSObject gcsObject = api().composeObjects(BUCKET_NAME2, COMPOSED_OBJECT, requestTemplate); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME2); - assertEquals(gcsObject.getName(), COMPOSED_OBJECT); - assertEquals(gcsObject.getContentType(), "text/plain"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME2); + assertEquals(gcsObject.name(), COMPOSED_OBJECT); + assertEquals(gcsObject.contentType(), "text/plain"); } @Test(groups = "live", dependsOnMethods = "testComposeObject") public void testComposeObjectWithOptions() { ObjectTemplate destination = new ObjectTemplate().contentType(MediaType.APPLICATION_JSON); - Set<GCSObject> sourceList = Sets.newLinkedHashSet(); + List<GCSObject> sourceList = Lists.newArrayList(); sourceList.add(api().getObject(BUCKET_NAME2, UPLOAD_OBJECT_NAME)); sourceList.add(api().getObject(BUCKET_NAME2, COPIED_OBJECT_NAME)); - ComposeObjectTemplate requestTemplate = new ComposeObjectTemplate().sourceObjects(sourceList).destination( - destination); + ComposeObjectTemplate requestTemplate = ComposeObjectTemplate.create(sourceList, destination); ComposeObjectOptions options = new ComposeObjectOptions().destinationPredefinedAcl( DestinationPredefinedAcl.BUCKET_OWNER_READ).ifMetagenerationNotMatch(RANDOM_LONG); @@ -258,10 +254,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().composeObjects(BUCKET_NAME2, COMPOSED_OBJECT2, requestTemplate, options); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME2); - assertEquals(gcsObject.getName(), COMPOSED_OBJECT2); - assertEquals(gcsObject.getContentType(), MediaType.APPLICATION_JSON); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME2); + assertEquals(gcsObject.name(), COMPOSED_OBJECT2); + assertEquals(gcsObject.contentType(), MediaType.APPLICATION_JSON); } @Test(groups = "live", dependsOnMethods = "testComposeObjectWithOptions") @@ -270,7 +266,6 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { assertNotNull(list); assertEquals(list.get(0) instanceof GCSObject, true); - assertEquals(list.getKind(), Kind.OBJECTS); } @Test(groups = "live", dependsOnMethods = "testComposeObjectWithOptions") @@ -278,13 +273,12 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { ListObjectOptions options = new ListObjectOptions().maxResults(1); ListPage<GCSObject> list = api().listObjects(BUCKET_NAME, options); - while (list.nextMarker().isPresent()) { + while (list.nextPageToken() != null) { assertNotNull(list); assertEquals(list.get(0) instanceof GCSObject, true); assertEquals(list.size(), 1); - assertEquals(list.getKind(), Kind.OBJECTS); - options = new ListObjectOptions().maxResults(1).pageToken(list.getNextPageToken()); + options = new ListObjectOptions().maxResults(1).pageToken(list.nextPageToken()); list = api().listObjects(BUCKET_NAME, options); } } @@ -299,10 +293,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().updateObject(BUCKET_NAME, UPLOAD_OBJECT_NAME2, template); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME2); - assertEquals(gcsObject.getContentType(), "image/jpeg"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME2); + assertEquals(gcsObject.contentType(), "image/jpeg"); } @Test(groups = "live", dependsOnMethods = "testUpdateObject") @@ -321,12 +315,12 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().updateObject(BUCKET_NAME, UPLOAD_OBJECT_NAME2, template, options); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME2); - assertEquals(gcsObject.getContentType(), "image/jpeg"); - assertNotNull(gcsObject.getAllMetadata()); - assertNotNull(gcsObject.getAllMetadata().get(METADATA_KEY), METADATA_VALUE); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME2); + assertEquals(gcsObject.contentType(), "image/jpeg"); + assertNotNull(gcsObject.metadata()); + assertNotNull(gcsObject.metadata().get(METADATA_KEY), METADATA_VALUE); } @Test(groups = "live", dependsOnMethods = "testUpdateObjectWithOptions") @@ -338,10 +332,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { GCSObject gcsObject = api().patchObject(BUCKET_NAME, UPLOAD_OBJECT_NAME2, template); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME2); - assertEquals(gcsObject.getContentType(), "image/jpeg"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME2); + assertEquals(gcsObject.contentType(), "image/jpeg"); } @Test(groups = "live", dependsOnMethods = "testPatchObject") @@ -352,16 +346,17 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { UpdateObjectOptions options = new UpdateObjectOptions().ifMetagenerationNotMatch(RANDOM_LONG) .ifGenerationNotMatch(RANDOM_LONG); + ObjectTemplate template = new ObjectTemplate().addAcl(oacl).contentType("image/jpeg") .contentDisposition("attachment"); GCSObject gcsObject = api().patchObject(BUCKET_NAME, UPLOAD_OBJECT_NAME2, template, options); assertNotNull(gcsObject); - assertNotNull(gcsObject.getAcl()); - assertEquals(gcsObject.getBucket(), BUCKET_NAME); - assertEquals(gcsObject.getName(), UPLOAD_OBJECT_NAME2); - assertEquals(gcsObject.getContentType(), "image/jpeg"); - assertEquals(gcsObject.getContentDisposition(), "attachment"); + assertNotNull(gcsObject.acl()); + assertEquals(gcsObject.bucket(), BUCKET_NAME); + assertEquals(gcsObject.name(), UPLOAD_OBJECT_NAME2); + assertEquals(gcsObject.contentType(), "image/jpeg"); + assertEquals(gcsObject.contentDisposition(), "attachment"); } @Test(groups = "live", dependsOnMethods = "testPatchObjectsWithOptions") @@ -377,23 +372,21 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { .role(ObjectRole.OWNER).build(); // This would trigger server side validation of md5 - hcMd5 = byteSource.hash(Hashing.md5()); - - // TODO: template.crc32c without making a compile dep on guava 18. + md5Hash = base64().encode(byteSource.hash(Hashing.md5()).asBytes()); + // TODO: crc32c = without making a compile dep on guava 18 template.contentType("image/jpeg").addAcl(oacl).size(contentLength).name(MULTIPART_UPLOAD_OBJECT) - .contentLanguage("en").contentDisposition("attachment").md5Hash(hcMd5) - .customMetadata("custommetakey1", "custommetavalue1").crc32c(hcCrc32c) + .contentLanguage("en").contentDisposition("attachment").md5Hash(md5Hash) + .customMetadata("custommetakey1", "custommetavalue1").crc32c(crc32c) .customMetadata(ImmutableMap.of("Adrian", "powderpuff")); GCSObject gcsObject = api().multipartUpload(BUCKET_NAME, template, payloadImpl.getPayload()); - assertThat(gcsObject.getBucket()).isEqualTo(BUCKET_NAME); - assertThat(gcsObject.getName()).isEqualTo(MULTIPART_UPLOAD_OBJECT); - assertThat(gcsObject.getMd5HashCode()).isEqualTo(hcMd5); - assertThat(gcsObject.getCrc32cHashcode()).isEqualTo(hcCrc32c); + assertThat(gcsObject.bucket()).isEqualTo(BUCKET_NAME); + assertThat(gcsObject.name()).isEqualTo(MULTIPART_UPLOAD_OBJECT); + checkHashCodes(gcsObject); - assertThat(gcsObject.getAllMetadata()).contains(entry("custommetakey1", "custommetavalue1"), + assertThat(gcsObject.metadata()).contains(entry("custommetakey1", "custommetavalue1"), entry("Adrian", "powderpuff")).doesNotContainKey("adrian"); PayloadEnclosingImpl impl = api().download(BUCKET_NAME, MULTIPART_UPLOAD_OBJECT); @@ -402,6 +395,13 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { ByteStreams2.toByteArrayAndClose(payloadImpl.getPayload().openStream())); } + private void checkHashCodes(GCSObject gcsObject) { + assertEquals(HashCode.fromBytes(base64().decode(gcsObject.md5Hash())), md5Hash); + if (crc32c != null) { + assertEquals(HashCode.fromBytes(reverse(base64().decode(gcsObject.crc32c()))), crc32c); + } + } + @Test(groups = "live", dependsOnMethods = "testMultipartJpegUpload") public void testDeleteObject() { api().deleteObject(BUCKET_NAME2, UPLOAD_OBJECT_NAME); @@ -425,4 +425,10 @@ public class ObjectApiLiveTest extends BaseGoogleCloudStorageApiLiveTest { api.getBucketApi().deleteBucket(BUCKET_NAME); api.getBucketApi().deleteBucket(BUCKET_NAME2); } + + private static byte[] reverse(byte[] b) { + List<Byte> hashByte = Bytes.asList(b); + List<Byte> reversedList = com.google.common.collect.Lists.reverse(hashByte); + return Bytes.toArray(reversedList); + } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java index d484ae9..7718281 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java @@ -16,23 +16,22 @@ */ package org.jclouds.googlecloudstorage.features; -import static javax.ws.rs.core.Response.Status.OK; import static javax.ws.rs.core.Response.Status.CREATED; - +import static javax.ws.rs.core.Response.Status.OK; +import static org.assertj.core.api.Assertions.assertThat; import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertNotEquals; -import static org.assertj.core.api.Assertions.assertThat; +import static org.testng.Assert.assertNotNull; + import java.io.IOException; import java.util.UUID; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; import org.jclouds.googlecloudstorage.domain.Bucket; -import org.jclouds.googlecloudstorage.domain.DomainUtils; +import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; import org.jclouds.googlecloudstorage.domain.ResumableUpload; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; import org.jclouds.googlecloudstorage.domain.templates.ObjectTemplate; -import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiLiveTest; import org.jclouds.io.Payloads; import org.jclouds.io.payloads.ByteSourcePayload; @@ -80,22 +79,22 @@ public class ResumableUploadApiLiveTest extends BaseGoogleCloudStorageApiLiveTes ResumableUpload initResponse = api().initResumableUpload(BUCKET_NAME, "image/jpeg", contentLength, template); assertNotNull(initResponse); - assertEquals(initResponse.getStatusCode().intValue(), OK.getStatusCode()); - assertNotNull(initResponse.getUploadId()); + assertEquals(initResponse.statusCode(), OK.getStatusCode()); + assertNotNull(initResponse.uploadId()); - String uploadId = initResponse.getUploadId(); + String uploadId = initResponse.uploadId(); // Upload the payload ByteSourcePayload payload = Payloads.newByteSourcePayload(byteSource); ResumableUpload uploadResponse = api().upload(BUCKET_NAME, uploadId, "image/jpeg", byteSource.read().length + "", payload); - assertEquals(uploadResponse.getStatusCode().intValue(), OK.getStatusCode()); + assertEquals(uploadResponse.statusCode(), OK.getStatusCode()); // CheckStatus ResumableUpload status = api().checkStatus(BUCKET_NAME, uploadId, "bytes */*"); - int code = status.getStatusCode(); + int code = status.statusCode(); assertNotEquals(code, INCOMPLETE); } @@ -117,15 +116,15 @@ public class ResumableUploadApiLiveTest extends BaseGoogleCloudStorageApiLiveTes ResumableUpload initResponse = api().initResumableUpload(BUCKET_NAME, "application/pdf", contentLength, template); assertNotNull(initResponse); - assertEquals(initResponse.getStatusCode().intValue(), OK.getStatusCode()); - assertNotNull(initResponse.getUploadId()); + assertEquals(initResponse.statusCode(), OK.getStatusCode()); + assertNotNull(initResponse.uploadId()); // Get the upload_id for the session - String uploadId = initResponse.getUploadId(); + String uploadId = initResponse.uploadId(); // Check the status first ResumableUpload status = api().checkStatus(BUCKET_NAME, uploadId, "bytes */*"); - int code = status.getStatusCode(); + int code = status.statusCode(); assertEquals(code, INCOMPLETE); // Uploads in 2 chunks. @@ -137,16 +136,16 @@ public class ResumableUploadApiLiveTest extends BaseGoogleCloudStorageApiLiveTes // Uploading First chunk ByteSourcePayload payload = Payloads.newByteSourcePayload(byteSource.slice(offset, chunkSize)); long length = byteSource.slice(offset, chunkSize).size(); - String Content_Range = DomainUtils.generateContentRange(0L, length, totalSize); + String Content_Range = generateContentRange(0L, length, totalSize); ResumableUpload uploadResponse = api().chunkUpload(BUCKET_NAME, uploadId, "application/pdf", length, Content_Range, payload); - int code2 = uploadResponse.getStatusCode(); + int code2 = uploadResponse.statusCode(); assertEquals(code2, INCOMPLETE); // Read uploaded length - long lowerValue = uploadResponse.getRangeLowerValue(); - long uploaded = uploadResponse.getRangeUpperValue(); + long lowerValue = uploadResponse.rangeLowerValue(); + long uploaded = uploadResponse.rangeUpperValue(); assertThat(lowerValue).isEqualTo(0); assertThat(uploaded).isEqualTo(chunkSize - 1); // confirms chunk is totally uploaded @@ -157,11 +156,11 @@ public class ResumableUploadApiLiveTest extends BaseGoogleCloudStorageApiLiveTes ByteSourcePayload payload2 = Payloads.newByteSourcePayload(byteSource.slice(uploaded + 1, byteSource.read().length - uploaded - 1)); // Upload the 2nd chunk - String Content_Range2 = DomainUtils.generateContentRange(uploaded + 1, totalSize - 1, totalSize); + String Content_Range2 = generateContentRange(uploaded + 1, totalSize - 1, totalSize); ResumableUpload resumeResponse = api().chunkUpload(BUCKET_NAME, uploadId, "application/pdf", resumeLength, Content_Range2, payload2); - int code3 = resumeResponse.getStatusCode(); + int code3 = resumeResponse.statusCode(); assertThat(code3).isIn(OK.getStatusCode(), CREATED.getStatusCode()); // 200 or 201 if upload succeeded } @@ -171,4 +170,8 @@ public class ResumableUploadApiLiveTest extends BaseGoogleCloudStorageApiLiveTes api.getObjectApi().deleteObject(BUCKET_NAME, CHUNKED_OBJECT_NAME); api.getBucketApi().deleteBucket(BUCKET_NAME); } + + private static String generateContentRange(Long lowerLimit, Long upperLimit, Long totalSize) { + return "bytes " + lowerLimit + "-" + upperLimit + "/" + totalSize; + } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java index c1c41c7..21494f0 100644 --- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java +++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java @@ -16,13 +16,11 @@ */ package org.jclouds.googlecloudstorage.parse; -import java.net.URI; - import javax.ws.rs.Consumes; import javax.ws.rs.core.MediaType; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest; public class BucketAclGetTest extends BaseGoogleCloudStorageParseTest<BucketAccessControls> { @@ -36,8 +34,6 @@ public class BucketAclGetTest extends BaseGoogleCloudStorageParseTest<BucketAcce @Consumes(MediaType.APPLICATION_JSON) public BucketAccessControls expected() { return BucketAccessControls.builder().bucket("jcloudtestbucket").entity("allUsers").role(Role.READER) - .etag("CAM=") - .selfLink(URI.create("https://content.googleapis.com/storage/v1/b/jcloudtestbucket/acl/allUsers")) .id("jcloudtestbucket/allUsers").build(); } }
