private async Task AzureStorageIntegrationTestInternal(string storageName, string storageKey, string containerName, string boardName) { var repository = new BoardStreamRepository( new CloudBlobStreamManager(GetContainerReference(storageName, storageKey, containerName))); var board = await repository.LoadAsync(boardName); CollectionAssert.AreEqual(BoardSampleData.sampleBoard, (byte[])board); }
public async Task CloudBlobStreamManagerShimmedLoadTest() { // Note that we use shims from Microsoft Fakes to simulate Windows Azure Blob Storage. using (ShimsContext.Create()) { // Setup shims ShimCloudBlobContainer.AllInstances.GetBlockBlobReferenceString = (container, blobName) => { Assert.AreEqual(dummyContainerUri, container.Uri.AbsoluteUri); Assert.AreEqual(dummyBoardName, blobName); return(new CloudBlockBlob(new Uri(dummyContainerUri))); }; ShimCloudBlob.AllInstances.OpenReadAsync = (blob) => Task.FromResult(new MemoryStream(BoardSampleData.sampleBoard) as Stream); // Execute var repository = new BoardStreamRepository(new CloudBlobStreamManager( new CloudBlobContainer(new Uri(dummyContainerUri)))); var result = await repository.LoadAsync(dummyBoardName); // Check result CollectionAssert.AreEqual(BoardSampleData.sampleBoard, (byte[])result); } }
public async Task FileStreamManagerShimmedLoadTest() { using (ShimsContext.Create()) { // Note how we use a shimmed constructor here. ShimFileStream.ConstructorStringFileMode = (@this, fileName, __) => { Assert.IsTrue(fileName.EndsWith("\\AppData\\Roaming\\Boards\\" + dummyBoardName)); new ShimFileStream(@this) { ReadAsyncByteArrayInt32Int32CancellationToken = (buffer, ___, ____, _____) => { BoardSampleData.sampleBoard.CopyTo(buffer, 0); return(Task.FromResult(BoardSampleData.sampleBoard.Length)); } }; }; var repository = new BoardStreamRepository(new FileStreamManager()); var result = await repository.LoadAsync(dummyBoardName); CollectionAssert.AreEqual(BoardSampleData.sampleBoard, (byte[])result); } }
public async Task CloudBlobStreamManagerShimmedLoadTest() { // Note that we use shims from Microsoft Fakes to simulate Windows Azure Blob Storage. using (ShimsContext.Create()) { // Setup shims ShimCloudBlobContainer.AllInstances.GetBlockBlobReferenceString = (container, blobName) => { Assert.AreEqual(dummyContainerUri, container.Uri.AbsoluteUri); Assert.AreEqual(dummyBoardName, blobName); return new CloudBlockBlob(new Uri(dummyContainerUri)); }; ShimCloudBlob.AllInstances.OpenReadAsync = (blob) => Task.FromResult(new MemoryStream(BoardSampleData.sampleBoard) as Stream); // Execute var repository = new BoardStreamRepository(new CloudBlobStreamManager( new CloudBlobContainer(new Uri(dummyContainerUri)))); var result = await repository.LoadAsync(dummyBoardName); // Check result CollectionAssert.AreEqual(BoardSampleData.sampleBoard, (byte[])result); } }
public async Task FileStreamManagerShimmedLoadTest() { using (ShimsContext.Create()) { // Note how we use a shimmed constructor here. ShimFileStream.ConstructorStringFileMode = (@this, fileName, __) => { Assert.IsTrue(fileName.EndsWith("\\AppData\\Roaming\\Boards\\" + dummyBoardName)); new ShimFileStream(@this) { ReadAsyncByteArrayInt32Int32CancellationToken = (buffer, ___, ____, _____) => { BoardSampleData.sampleBoard.CopyTo(buffer, 0); return Task.FromResult(BoardSampleData.sampleBoard.Length); } }; }; var repository = new BoardStreamRepository(new FileStreamManager()); var result = await repository.LoadAsync(dummyBoardName); CollectionAssert.AreEqual(BoardSampleData.sampleBoard, (byte[])result); } }