public void WillCopyMetadataFromSourceWherePresent() { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, SourceBlobName); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); sourceBlob.Metadata["thing"] = "something"; sourceBlob.Properties.ContentType = "whatever"; sourceBlob.SetMetadata(); sourceBlob.SetProperties(); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, DestinationBlobName); destinationBlob.StartCopyFromBlob(sourceBlob); destinationBlob.FetchAttributes(); new { Metadata = new Dictionary<string, string> { {"thing", "something"} }, Properties = new { ContentType = "whatever", Length = (long) 12 } }.ToExpectedObject().ShouldMatch(destinationBlob); }
public void CopyStateIsSuccessAfterCopy() { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, SourceBlobName); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, DestinationBlobName); destinationBlob.StartCopyFromBlob(sourceBlob); }
public void CanCopyBlob() { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, SourceBlobName); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, DestinationBlobName); destinationBlob.StartCopyFromBlob(sourceBlob); Assert.Equal("File content", File.ReadAllText(destinationBlob.Uri.LocalPath)); }
public void CanOverwriteBlob(string source, string destination) { var sourceBuffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, source); sourceBlob.UploadFromByteArrayAsync(sourceBuffer, 0, sourceBuffer.Length).Wait(); var originalContentBuffer = Encoding.UTF8.GetBytes("Original content"); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, destination); destinationBlob.UploadFromByteArrayAsync(originalContentBuffer, 0, originalContentBuffer.Length).Wait(); destinationBlob.StartCopyFromBlob(sourceBlob.Uri); Assert.Equal("File content", File.ReadAllText(destinationBlob.Uri.LocalPath)); }
public void WillNotCopyMetadataWhereItDoesNotExist() { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, SourceBlobName); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, DestinationBlobName); destinationBlob.StartCopyFromBlob(sourceBlob); Assert.False(File.Exists(Path.Combine(BasePath, ".meta", DestinationBlobName))); }
public void CopyStateIsFailedIfBlobLocked(string source, string destination) { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, source); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); using (new FileStream(sourceBlob.Uri.LocalPath, FileMode.Append, FileAccess.Write, FileShare.None)) { var destinationBlob = new StandaloneAzureBlockBlob(BasePath, destination); destinationBlob.StartCopyFromBlob(sourceBlob.Uri); new { Status = CopyStatus.Failed, StatusDescription = new NotNullComparison() }.ToExpectedObject().ShouldMatch(destinationBlob.CopyState); } }
public void WillRemoveExistingMetadataWhereSourceDoesNotHaveMetadata(string source, string destination) { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, source); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); var originalContentBuffer = Encoding.UTF8.GetBytes("Original content"); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, destination); destinationBlob.UploadFromByteArrayAsync(originalContentBuffer, 0, originalContentBuffer.Length).Wait(); destinationBlob.Metadata["thing"] = "other thing"; destinationBlob.SetMetadata(); destinationBlob.StartCopyFromBlob(sourceBlob.Uri); Assert.False(File.Exists(Path.Combine(BasePath, ".meta", destination))); }
public void CopyStateIsSuccessAfterCopy(string source, string destination) { var buffer = Encoding.UTF8.GetBytes("File content"); var sourceBlob = new StandaloneAzureBlockBlob(BasePath, source); sourceBlob.UploadFromByteArrayAsync(buffer, 0, buffer.Length).Wait(); var destinationBlob = new StandaloneAzureBlockBlob(BasePath, destination); destinationBlob.StartCopyFromBlob(sourceBlob.Uri); Assert.Equal(CopyStatus.Success, destinationBlob.CopyState.Status); }