コード例 #1
0
            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"));
            }
コード例 #2
0
            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"));
            }
コード例 #3
0
            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"));
            }
コード例 #4
0
            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);
            }
コード例 #5
0
            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));
            }
コード例 #6
0
            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);
            }