public void GetMetadata() { GetMetadataSample getMetadataSample = new GetMetadataSample(); var obj = getMetadataSample.GetMetadata(_bucketFixture.BucketNameGeneric, _bucketFixture.FileName); Assert.NotNull(obj); }
public void CopyFileArchivedGeneration() { UploadFileSample uploadFileSample = new UploadFileSample(); BucketEnableVersioningSample bucketEnableVersioningSample = new BucketEnableVersioningSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); DownloadFileSample downloadFileSample = new DownloadFileSample(); CopyFileArchivedGenerationSample copyFileArchivedGenerationSample = new CopyFileArchivedGenerationSample(); DeleteFileArchivedGenerationSample deleteFileArchivedGenerationSample = new DeleteFileArchivedGenerationSample(); BucketDisableVersioningSample bucketDisableVersioningSample = new BucketDisableVersioningSample(); var objectName = "HelloCopyArchive.txt"; var copiedObjectName = "ByeCopy.txt"; // Enable bucket versioning bucketEnableVersioningSample.BucketEnableVersioning(_fixture.BucketNameGeneric); // Uploaded for the first time uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, objectName); // Get generation of first version of the file var obj = getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, objectName); var fileArchivedGeneration = obj.Generation; // Upload again to archive previous generation. uploadFileSample.UploadFile(_fixture.BucketNameGeneric, "Resources/HelloDownloadCompleteByteRange.txt", objectName); // Get generation of second version of the file obj = getMetadataSample.GetMetadata(_fixture.BucketNameGeneric, objectName); var fileCurrentGeneration = obj.Generation; _fixture.CollectArchivedFiles(_fixture.BucketNameGeneric, objectName, fileArchivedGeneration); _fixture.CollectArchivedFiles(_fixture.BucketNameGeneric, objectName, fileCurrentGeneration); try { // Copy first version of the file to new bucket. copyFileArchivedGenerationSample.CopyFileArchivedGeneration(_fixture.BucketNameGeneric, objectName, _fixture.BucketNameRegional, _fixture.CollectRegionalObject(copiedObjectName), fileArchivedGeneration); // Download copied file downloadFileSample.DownloadFile(_fixture.BucketNameRegional, copiedObjectName, copiedObjectName); // Match file contents with first version of the file Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText(copiedObjectName)); } finally { File.Delete(copiedObjectName); // Disable bucket versioning bucketDisableVersioningSample.BucketDisableVersioning(_fixture.BucketNameGeneric); } }
public void DeleteFileArchivedGeneration() { UploadFileSample uploadFileSample = new UploadFileSample(); ListFilesSample listFilesSample = new ListFilesSample(); BucketEnableVersioningSample bucketEnableVersioningSample = new BucketEnableVersioningSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); DownloadFileSample downloadFileSample = new DownloadFileSample(); ListFileArchivedGenerationSample listFileArchivedGenerationSample = new ListFileArchivedGenerationSample(); DeleteFileArchivedGenerationSample deleteFileArchivedGenerationSample = new DeleteFileArchivedGenerationSample(); BucketDisableVersioningSample bucketDisableVersioningSample = new BucketDisableVersioningSample(); var objectName = "HelloDeleteFileArchivedGeneration.txt"; // Enable bucket versioning bucketEnableVersioningSample.BucketEnableVersioning(_fixture.BucketNameGeneric); // Uploaded for the first time uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, objectName); // Upload again to archive previous generation. uploadFileSample.UploadFile(_fixture.BucketNameGeneric, "Resources/HelloDownloadCompleteByteRange.txt", objectName); try { var objects = listFileArchivedGenerationSample.ListFileArchivedGeneration(_fixture.BucketNameGeneric); Assert.Equal(2, objects.Count(a => a.Name == objectName)); // Get Generations var testFiles = objects.Where(a => a.Name == objectName).ToList(); long?fileArchivedGeneration = testFiles[0].Generation; long?fileCurrentGeneration = testFiles[1].Generation; // Delete first generation of the file deleteFileArchivedGenerationSample.DeleteFileArchivedGeneration(_fixture.BucketNameGeneric, objectName, fileArchivedGeneration); objects = listFileArchivedGenerationSample.ListFileArchivedGeneration(_fixture.BucketNameGeneric); Assert.Equal(1, objects.Count(a => a.Name == objectName)); // Delete second generation of the file deleteFileArchivedGenerationSample.DeleteFileArchivedGeneration(_fixture.BucketNameGeneric, objectName, fileCurrentGeneration); objects = listFileArchivedGenerationSample.ListFileArchivedGeneration(_fixture.BucketNameGeneric); Assert.Equal(0, objects.Count(a => a.Name == objectName)); } finally { // Disable bucket versioning bucketDisableVersioningSample.BucketDisableVersioning(_fixture.BucketNameGeneric); } }
public void UploadFileWithKmsKey() { UploadFileWithKmsKeySample uploadFileWithKmsKeySample = new UploadFileWithKmsKeySample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); // upload file with kms key uploadFileWithKmsKeySample.UploadFileWithKmsKey(_fixture.ProjectId, _fixture.BucketNameRegional, _fixture.KmsKeyLocation, _fixture.KmsKeyRing, _fixture.KmsKeyName, _fixture.FilePath, "HelloUploadWithKmsKey.txt"); var metadata = getMetadataSample.GetMetadata(_fixture.BucketNameRegional, "HelloUploadWithKmsKey.txt"); Assert.Contains(_fixture.KmsKeyName, metadata.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 TestRemoveFileOwner() { AddFileOwnerSample addFileOwnerSample = new AddFileOwnerSample(); RemoveFileOwnerSample removeFileOwnerSample = new RemoveFileOwnerSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); // Add file owner. addFileOwnerSample.AddFileOwner(_bucketFixture.BucketNameGeneric, _bucketFixture.FileName, _bucketFixture.ServiceAccountEmail); // Remove file owner. removeFileOwnerSample.RemoveFileOwner(_bucketFixture.BucketNameGeneric, _bucketFixture.FileName, _bucketFixture.ServiceAccountEmail); var metadata = getMetadataSample.GetMetadata(_bucketFixture.BucketNameGeneric, _bucketFixture.FileName); Assert.DoesNotContain(metadata.Acl, acl => acl.Email == _bucketFixture.ServiceAccountEmail && acl.Role == "OWNER"); }
public void TestSetTemporaryHold() { SetTemporaryHoldSample setTemporaryHoldSample = new SetTemporaryHoldSample(); ReleaseTemporaryHoldSample releaseTemporaryHoldSample = new ReleaseTemporaryHoldSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_bucketFixture.BucketNameRegional, _bucketFixture.FilePath, _bucketFixture.CollectRegionalObject("SetTemporaryHold.txt")); setTemporaryHoldSample.SetTemporaryHold(_bucketFixture.BucketNameRegional, "SetTemporaryHold.txt"); var metadata = getMetadataSample.GetMetadata(_bucketFixture.BucketNameRegional, "SetTemporaryHold.txt"); Assert.True(metadata.TemporaryHold); releaseTemporaryHoldSample.ReleaseTemporaryHold(_bucketFixture.BucketNameRegional, "SetTemporaryHold.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 TestSetEventBasedHold() { ReleaseEventBasedHoldSample releaseEventBasedHoldSample = new ReleaseEventBasedHoldSample(); SetEventBasedHoldSample setEventBasedHoldSample = new SetEventBasedHoldSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_bucketFixture.BucketNameGeneric, _bucketFixture.FilePath, _bucketFixture.Collect("SetEventBasedHold.txt")); // Set event based hold. setEventBasedHoldSample.SetEventBasedHold(_bucketFixture.BucketNameGeneric, "SetEventBasedHold.txt"); var metadata = getMetadataSample.GetMetadata(_bucketFixture.BucketNameGeneric, "SetEventBasedHold.txt"); Assert.True(metadata.EventBasedHold); // Release event based hold. releaseEventBasedHoldSample.ReleaseEventBasedHold(_bucketFixture.BucketNameGeneric, "SetEventBasedHold.txt"); }
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 MakePublic() { MakePublicSample makePublicSample = new MakePublicSample(); UploadFileSample uploadFileSample = new UploadFileSample(); GetMetadataSample getMetadataSample = new GetMetadataSample(); uploadFileSample.UploadFile(_bucketFixture.BucketNameGeneric, _bucketFixture.FilePath, _bucketFixture.Collect("HelloMakePublic.txt")); var metadata = getMetadataSample.GetMetadata(_bucketFixture.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(_bucketFixture.BucketNameGeneric, "HelloMakePublic.txt"); var text = webClient.DownloadString(medialink); Assert.Equal(File.ReadAllText(_bucketFixture.FilePath), text); }
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"); }