public void Null_Folder_Name_Will_Throw_Argument_Exception() { //Arrange var store = new BlobStore(Mock.Of <IStorageConnection <CloudBlobContainer, Guid> >(), Mock.Of <IJsonSerialiser>(), Mock.Of <IBlobSizeCalculator>()); //Act async Task TestDelegate() => await store.AddAsync(_mockMemoryStream, Guid.NewGuid(), FileName, null); //Assert Assert.That(TestDelegate, Throws.ArgumentException.With.Message.EqualTo("objectName cannot be Null or Empty")); }
public void Empty_Transaction_Id_Will_Throw_Argument_Exception_4_Arguments() { //Arrange var store = new BlobStore(Mock.Of <IStorageConnection <CloudBlobContainer, Guid> >(), Mock.Of <IJsonSerialiser>(), Mock.Of <IBlobSizeCalculator>()); //Act async Task TestDelegate() => await store.AddAsync(_mockMemoryStream, Guid.Empty, FileName, FolderName); //Assert Assert.That(TestDelegate, Throws.ArgumentException.With.Message.EqualTo("id cannot be Empty")); }
public void Null_Stream_Will_Throw_Argument_Null_Exception_4_Arguments() { //Arrange var store = new BlobStore(Mock.Of <IStorageConnection <CloudBlobContainer, Guid> >(), Mock.Of <IJsonSerialiser>(), Mock.Of <IBlobSizeCalculator>()); //Act async Task TestDelegate() => await store.AddAsync <object>(null, Guid.NewGuid(), FileName, FolderName); //Assert Assert.That(TestDelegate, Throws.ArgumentNullException.With.Property("ParamName").EqualTo("data")); }
public async Task When_Uploading_To_Blob_The_Size_Will_Be_Calculated() { //Arrange _mockConnection.Setup(x => x.GetObjectAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(_mockContainer.Object)); _mockContainer.Setup(x => x.GetBlockBlobReference(It.IsAny <string>())).Returns(_mockBlock.Object); _mockCalculator.Setup(x => x.GetBlockSize(It.IsAny <long>())).Returns(Task.FromResult(BlockSize)); var store = new BlobStore(_mockConnection.Object, _mockSerialiser.Object, _mockCalculator.Object); //Act await store.AddAsync(_mockMemoryStream, Guid.NewGuid(), FileName); //Assert _mockCalculator.Verify(x => x.GetBlockSize(It.IsAny <long>()), Times.Once); }
public void Exception_Thrown_During_Upload_Will_Bubble_Up() { //Arrange const string exceptionMessage = "Test Exception"; _mockConnection.Setup(x => x.GetObjectAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(_mockContainer.Object)); _mockContainer.Setup(x => x.GetBlockBlobReference(It.IsAny <string>())).Returns(_mockBlock.Object); _mockCalculator.Setup(x => x.GetBlockSize(It.IsAny <long>())).Returns(Task.FromResult(BlockSize)); _mockBlock.Setup(x => x.UploadFromStreamAsync(It.IsAny <Stream>())) .Throws(new Exception(exceptionMessage)); var store = new BlobStore(_mockConnection.Object, _mockSerialiser.Object, _mockCalculator.Object); //Act async Task TestDelegate() => await store.AddAsync(_mockMemoryStream, Guid.NewGuid(), FileName); //Assert Assert.That(TestDelegate, Throws.Exception.With.Message.EqualTo(exceptionMessage)); }
public async Task Can_Upload_Object_To_Blob() { //Arrange const string uploadObject = "Hello World!"; _mockConnection.Setup(x => x.GetObjectAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(_mockContainer.Object)); _mockContainer.Setup(x => x.GetBlockBlobReference(It.IsAny <string>())).Returns(_mockBlock.Object); _mockCalculator.Setup(x => x.GetBlockSize(It.IsAny <long>())).Returns(Task.FromResult(BlockSize)); _mockSerialiser.Setup(x => x.SerialiseToJson(It.IsAny <object>())) .Returns(Task.FromResult(uploadObject)); var store = new BlobStore(_mockConnection.Object, _mockSerialiser.Object, _mockCalculator.Object); //Act await store.AddAsync(uploadObject, Guid.NewGuid(), FileName); //Assert _mockBlock.Verify(x => x.UploadFromStreamAsync(It.IsAny <Stream>()), Times.Once); }