/* * Copyright 2015 Google Inc. * * Licensed 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. */ // [START all] import static com.google.common.truth.Truth.assertThat; import com.google.api.services.storage.model.Bucket; import com.google.api.services.storage.model.StorageObject; import org.junit.Test; import java.io.File; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import java.util.stream.Collectors; public class StorageSampleTest { private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT"); private static final String BUCKET = PROJECT_ID; private static final String TEST_OBJECT = "storage-sample-test-upload.txt"; @Test public void testListBucket() throws Exception { List<StorageObject> listing = StorageSample.listBucket(BUCKET); assertThat(listing).isNotEmpty(); } @Test public void testGetBucket() throws Exception { Bucket bucket = StorageSample.getBucket(BUCKET); assertThat(bucket.getName()).named("bucket name").isEqualTo(BUCKET); assertThat(bucket.getLocation()).named("bucket location").startsWith("US"); } @Test public void testUploadDelete() throws Exception { // Create a temp file to upload Path tempPath = Files.createTempFile("StorageSampleTest", "txt"); Files.write(tempPath, ("This object is uploaded and deleted as part of the " + "StorageSampleTest integration test.").getBytes()); File tempFile = tempPath.toFile(); tempFile.deleteOnExit(); StorageSample.uploadFile(TEST_OBJECT, "text/plain", tempFile, BUCKET); try { // Verify that the object was created List<StorageObject> listing = StorageSample.listBucket(BUCKET); List<String> names = listing.stream().map(so -> so.getName()).collect(Collectors.toList()); assertThat(names).named("objects found after upload").contains(TEST_OBJECT); } finally { StorageSample.deleteObject(TEST_OBJECT, BUCKET); // Verify that the object no longer exists List<StorageObject> listing = StorageSample.listBucket(BUCKET); List<String> names = listing.stream().map(so -> so.getName()).collect(Collectors.toList()); assertThat(names).named("objects found after delete").doesNotContain(TEST_OBJECT); } } } // [END all]