public void ListFilesWithPrefix() { ListFilesWithPrefixSample listFilesWithPrefixSample = new ListFilesWithPrefixSample(); UploadFileSample uploadFileSample = new UploadFileSample(); // Upload 4 files. uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("a/1.txt")); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("a/2.txt")); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("b/2.txt")); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("a/b/3.txt")); var files = listFilesWithPrefixSample.ListFilesWithPrefix(_fixture.BucketNameGeneric, "a/", null).ToList(); Assert.Contains(files, c => c.Name == "a/1.txt"); Assert.Contains(files, c => c.Name == "a/2.txt"); Assert.Contains(files, c => c.Name == "a/b/3.txt"); }
public void ListFiles() { ListFilesSample listFilesSample = new ListFilesSample(); UploadFileSample uploadFileSample = new UploadFileSample(); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloListObjectsTest.txt")); var files = listFilesSample.ListFiles(_fixture.BucketNameGeneric); Assert.Contains(files, c => c.Name == "HelloListObjectsTest.txt"); }
public void UploadFile() { UploadFileSample uploadFileSample = new UploadFileSample(); ListFilesSample listFilesSample = new ListFilesSample(); // upload file uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("UploadTest.txt")); var files = listFilesSample.ListFiles(_fixture.BucketNameGeneric); Assert.Contains(files, c => c.Name == "UploadTest.txt"); }
public void TestUploadFileRequesterPays() { var downloadFileRequesterPaysSample = new DownloadFileRequesterPaysSample(); UploadFileRequesterPaysSample uploadFileRequesterPaysSample = new UploadFileRequesterPaysSample(); // Upload file request pays. uploadFileRequesterPaysSample.UploadFileRequesterPays(_fixture.ProjectId, _fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloUploadObjectRequesterPays.txt")); // Download file request pays. downloadFileRequesterPaysSample.DownloadFileRequesterPays(_fixture.ProjectId, _fixture.BucketNameGeneric, "HelloUploadObjectRequesterPays.txt", "HelloUploadObjectRequesterPays2.txt"); Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText("HelloUploadObjectRequesterPays2.txt")); File.Delete("HelloUploadObjectRequesterPays2.txt"); }
public void TestUploadEncryptedFile() { DownloadEncryptedFileSample downloadEncryptedFileSample = new DownloadEncryptedFileSample(); UploadEncryptedFileSample uploadEncryptedFileSample = new UploadEncryptedFileSample(); GenerateEncryptionKeySample generateEncryptionKeySample = new GenerateEncryptionKeySample(); var key = generateEncryptionKeySample.GenerateEncryptionKey(); // upload with key uploadEncryptedFileSample.UploadEncryptedFile(key, _fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloEncryptUpload.txt")); //download with key downloadEncryptedFileSample.DownloadEncryptedFile(key, _fixture.BucketNameGeneric, "HelloEncryptUpload.txt", "Hello-downloaded.txt"); Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText("Hello-downloaded.txt")); File.Delete("Hello-downloaded.txt"); }
public void SetObjectMetadata() { GetMetadataSample getMetadataSample = new GetMetadataSample(); UploadFileSample uploadFileSample = new UploadFileSample(); SetObjectMetadataSample setObjectMetadataSample = new SetObjectMetadataSample(); var key = "key-to-add"; var value = "value-to-add"; var objectName = "HelloSetObjectMetadata.txt"; uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect(objectName)); setObjectMetadataSample.SetObjectMetadata(_fixture.BucketNameGeneric, objectName, key, value); var file = getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, objectName); Assert.Contains(file.Metadata, m => m.Key == key && m.Value == value); }
public void TestPrintFileAclForUser() { PrintFileAclForUserSample printFileAclForUserSample = new PrintFileAclForUserSample(); UploadFileSample uploadFileSample = new UploadFileSample(); AddFileOwnerSample addFileOwnerSample = new AddFileOwnerSample(); string userEmail = _fixture.ServiceAccountEmail; uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloAddObjectOwnerForUser.txt")); // add file owner addFileOwnerSample.AddFileOwner(_fixture.BucketNameGeneric, "HelloAddObjectOwnerForUser.txt", userEmail); // Make sure we print-acl-for-user shows us the user, but not all the ACLs. var fileAclForUser = printFileAclForUserSample.PrintFileAclForUser(_fixture.BucketNameGeneric, "HelloAddObjectOwnerForUser.txt", userEmail); Assert.All(fileAclForUser, c => Assert.Equal(c.Email, userEmail)); }
public void TestSetEventBasedHold() { ReleaseEventBasedHoldSample releaseEventBasedHoldSample = new ReleaseEventBasedHoldSample(); SetEventBasedHoldSample setEventBasedHoldSample = new SetEventBasedHoldSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("SetEventBasedHold.txt")); // Set event based hold. setEventBasedHoldSample.SetEventBasedHold(_fixture.BucketNameGeneric, "SetEventBasedHold.txt"); var metadata = getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, "SetEventBasedHold.txt"); Assert.True(metadata.EventBasedHold); // Release event based hold. releaseEventBasedHoldSample.ReleaseEventBasedHold(_fixture.BucketNameGeneric, "SetEventBasedHold.txt"); }
public async Task DownloadByteRangeAsync() { UploadFileSample uploadFileSample = new UploadFileSample(); DownloadByteRangeAsyncSample downloadByteRangeSample = new DownloadByteRangeAsyncSample(); uploadFileSample.UploadFile( _fixture.BucketNameGeneric, "Resources/HelloDownloadCompleteByteRange.txt", _fixture.Collect("HelloDownloadCompleteByteRange.txt")); await downloadByteRangeSample.DownloadByteRangeAsync( _fixture.BucketNameGeneric, "HelloDownloadCompleteByteRange.txt", 0, 20, "HelloDownloadCompleteByteRange.txt_0-20"); var downloadedString = Encoding.UTF8.GetString(File.ReadAllBytes("HelloDownloadCompleteByteRange.txt_0-20")); Assert.Equal("\uFEFFHello Download Com", downloadedString); File.Delete("HelloDownloadCompleteByteRange.txt_0-20"); }
public void DownloadPublicFile() { MakePublicSample makePublicSample = new MakePublicSample(); UploadFileSample uploadFileSample = new UploadFileSample(); DownloadPublicFileSample downloadPublicFileSample = new DownloadPublicFileSample(); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloDownloadPublic.txt")); // Make it public makePublicSample.MakePublic(_fixture.BucketNameGeneric, "HelloDownloadPublic.txt"); // Try downloading without creds try { downloadPublicFileSample.DownloadPublicFile(_fixture.BucketNameGeneric, "HelloDownloadPublic.txt", "HelloDownloadPublic.txt"); Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText("HelloDownloadPublic.txt")); } finally { File.Delete("HelloDownloadPublic.txt"); } }
public void PrintFileAcl() { PrintFileAclSample printFileAclSample = new PrintFileAclSample(); UploadFileSample uploadFileSample = new UploadFileSample(); AddFileOwnerSample addFileOwnerSample = new AddFileOwnerSample(); string userEmail = _fixture.ServiceAccountEmail; uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloAddObjectOwner.txt")); // print file acl var fileAcl = printFileAclSample.PrintObjectAcl(_fixture.BucketNameGeneric, "HelloAddObjectOwner.txt"); Assert.DoesNotContain(fileAcl, c => c.Email == userEmail); // add file owner addFileOwnerSample.AddFileOwner(_fixture.BucketNameGeneric, "HelloAddObjectOwner.txt", userEmail); // print file acl fileAcl = printFileAclSample.PrintObjectAcl(_fixture.BucketNameGeneric, "HelloAddObjectOwner.txt"); Assert.Contains(fileAcl, c => c.Email == userEmail); }
public void MakePublic() { MakePublicSample makePublicSample = new MakePublicSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloMakePublic.txt")); var metadata = getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, "HelloMakePublic.txt"); Assert.NotNull(metadata.MediaLink); // Before making the file public, fetching the medialink should throw an exception. WebClient webClient = new WebClient(); Assert.Throws <WebException>(() => webClient.DownloadString(metadata.MediaLink)); // Make it public and try fetching again. var medialink = makePublicSample.MakePublic(_fixture.BucketNameGeneric, "HelloMakePublic.txt"); var text = webClient.DownloadString(medialink); Assert.Equal(File.ReadAllText(_fixture.FilePath), text); }
public void ObjectCsekToCmek() { GenerateEncryptionKeySample generateEncryptionKeySample = new GenerateEncryptionKeySample(); UploadEncryptedFileSample uploadEncryptedFileSample = new UploadEncryptedFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); ObjectCsekToCmekSample objectCsekToCmekSample = new ObjectCsekToCmekSample(); // Upload with key var objectName = "HelloObjectCsekToCmek.txt"; string key = generateEncryptionKeySample.GenerateEncryptionKey(); uploadEncryptedFileSample.UploadEncryptedFile(key, _fixture.BucketNameRegional, _fixture.FilePath, _fixture.Collect(objectName)); // Change key type to Cmek objectCsekToCmekSample.ObjectCsekToCmek(_fixture.ProjectId, _fixture.BucketNameRegional, objectName, key, _fixture.KmsKeyLocation, _fixture.KmsKeyRing, _fixture.KmsKeyName); // Verify Kms key Name var obj = getMetadataSample.GetMetadata(_fixture.BucketNameRegional, objectName); Assert.Contains(_fixture.KmsKeyName, obj.KmsKeyName); }
public void MoveFile() { MoveFileSample moveFileSample = new MoveFileSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, "HelloMove.txt"); // Make sure the file doesn't exist until we move it there. Assert.Throws <GoogleApiException>(() => getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, "ByeMove.txt")); moveFileSample.MoveFile(_fixture.BucketNameGeneric, "HelloMove.txt", _fixture.BucketNameGeneric, _fixture.Collect("ByeMove.txt")); var exception = Assert.Throws <GoogleApiException>(() => getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, "HelloMove.txt")); Assert.Equal(System.Net.HttpStatusCode.NotFound, exception.HttpStatusCode); }
public void ComposeObject() { UploadFileSample uploadFileSample = new UploadFileSample(); ComposeObjectSample composeObjectSample = new ComposeObjectSample(); DownloadFileSample downloadFileSample = new DownloadFileSample(); var firstObject = "HelloComposeObject.txt"; var secondObject = "HelloComposeObjectAdditional.txt"; var targetObject = "HelloComposedDownload.txt"; uploadFileSample.UploadFile(_fixture.BucketNameGeneric, "Resources/Hello.txt", _fixture.Collect(firstObject)); uploadFileSample.UploadFile(_fixture.BucketNameGeneric, "Resources/HelloDownloadCompleteByteRange.txt", _fixture.Collect(secondObject)); composeObjectSample.ComposeObject(_fixture.BucketNameGeneric, firstObject, secondObject, _fixture.Collect(targetObject)); // Download the composed file downloadFileSample.DownloadFile(_fixture.BucketNameGeneric, targetObject, targetObject); // Content from both file should exists in the downloaded file var targetContent = File.ReadAllText(targetObject); Assert.Contains(File.ReadAllText("Resources/Hello.txt"), targetContent); Assert.Contains(File.ReadAllText("Resources/HelloDownloadCompleteByteRange.txt"), targetContent); File.Delete(targetObject); }
public void ObjectRotateEncryptionKey() { GenerateEncryptionKeySample generateEncryptionKeySample = new GenerateEncryptionKeySample(); UploadEncryptedFileSample uploadEncryptedFileSample = new UploadEncryptedFileSample(); DownloadEncryptedFileSample downloadEncryptedFileSample = new DownloadEncryptedFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); ObjectRotateEncryptionKeySample objectRotateEncryptionKeySample = new ObjectRotateEncryptionKeySample(); // Upload with key var objectName = "HelloObjectRotateEncryptionKey.txt"; string currentKey = generateEncryptionKeySample.GenerateEncryptionKey(); string newKey = generateEncryptionKeySample.GenerateEncryptionKey(); uploadEncryptedFileSample.UploadEncryptedFile(currentKey, _fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect(objectName)); // Rotate key objectRotateEncryptionKeySample.ObjectRotateEncryptionKey(_fixture.BucketNameGeneric, objectName, currentKey, newKey); // Download with new key to verify key has changed downloadEncryptedFileSample.DownloadEncryptedFile(newKey, _fixture.BucketNameGeneric, objectName, "Downloaded-encrypted-object.txt"); Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText("Downloaded-encrypted-object.txt")); File.Delete("Downloaded-encrypted-object.txt"); }