public void AppendBlobWorks(bool useFile) { IBlobManager blobManager = useFile ? new FileBlobManager() : new InMemoryBlobManager(); string path = GetPathForIndexAndBlobs(useFile); if (path == null) { return; } if (blobManager.Exists(path)) { blobManager.Delete(path); } blobManager.OpenForWriting(path); var data = new byte[] { 1, 2, 3, 4, 5, 6 }; blobManager.Append(path, data.Take(3).ToArray()); blobManager.Append(path, data.Skip(3).ToArray()); blobManager.CloseAfterWriting(path); long length = blobManager.GetLength(path); var result = blobManager.Read(path, 0, (int)length); result.ToArray().SequenceEqual(data).Should().BeTrue(); blobManager.Delete(path); data = new byte[] { 1, 2, 3, 4, 5, 6 }; blobManager.Append(path, data.Take(3).ToArray()); blobManager.Append(path, data.Skip(3).ToArray()); length = blobManager.GetLength(path); result = blobManager.Read(path, 0, (int)length); result.ToArray().SequenceEqual(data).Should().BeTrue(); }
public void WriteBlobWorks(bool useFile) { IBlobManager blobManager = useFile ? new FileBlobManager() : new InMemoryBlobManager(); string path = GetPathForIndexAndBlobs(useFile); if (path == null) { return; } if (blobManager.Exists(path)) { blobManager.Delete(path); } var data = new byte[] { 1, 2, 3 }; blobManager.Write(path, data); long length = blobManager.GetLength(path); var result = blobManager.Read(path, 0, (int)length); result.ToArray().SequenceEqual(data).Should().BeTrue(); data = new byte[] { 4, 5, 6 }; blobManager.Write(path, data); length = blobManager.GetLength(path); result = blobManager.Read(path, 0, (int)length); result.ToArray().SequenceEqual(data).Should().BeTrue(); result = blobManager.ReadAll(path); result.ToArray().SequenceEqual(data).Should().BeTrue(); }
public override bool RemoveBlobStream(Guid blobId, CallContext context) { if (_configured) { _blobManager.Delete(blobId); } return(base.RemoveBlobStream(blobId, context)); }
public void Delete(string path) { Debug.WriteLine($"Deleting {path}"); firstStorageType.Delete(path); secondStorageType.Delete(path); }