Пример #1
0
        public async Task TryPutToCache_VerifyResultMatchesResultOfCacheOperation(bool expected)
        {
            // Arrange
            Mock <SharedMemoryMetadata> sharedMemMetaMock = CreateMockSharedMemoryMetadata();
            SharedMemoryMetadata        sharedMemMeta     = sharedMemMetaMock.Object;
            bool isIncrementActiveRefs          = false;
            bool isDeleteOnFailure              = false;
            Mock <IFunctionDataCache> cacheMock = CreateMockFunctionDataCache();

            cacheMock
            .Setup(c => c.TryPut(It.IsAny <FunctionDataCacheKey>(), sharedMemMeta, isIncrementActiveRefs, isDeleteOnFailure))
            .Returns(expected)
            .Verifiable();
            IFunctionDataCache cache = cacheMock.Object;
            BlobWithContainer <BlobBaseClient> blob = CreateBlobReference(ContainerName, "blob");
            Mock <Stream>      mockBlobStream       = CreateMockBlobStream();
            Stream             blobStream           = mockBlobStream.Object;
            CacheableWriteBlob cacheableWriteBlob   = CreateProductUnderTest(blob, sharedMemMeta, blobStream, cache);

            // Act
            bool result = await cacheableWriteBlob.TryPutToCacheAsync(isDeleteOnFailure);

            // Assert
            Assert.AreEqual(expected, result);
            cacheMock.Verify();
        }
Пример #2
0
        public async Task TryPutToCache_CacheObjectNull_VerifyFailure()
        {
            // Arrange
            bool isIncrementActiveRefs          = false;
            bool isDeleteOnFailure              = false;
            Mock <IFunctionDataCache> cacheMock = CreateMockFunctionDataCache();

            cacheMock
            .Setup(c => c.TryPut(It.IsAny <FunctionDataCacheKey>(), It.IsAny <SharedMemoryMetadata>(), isIncrementActiveRefs, isDeleteOnFailure))
            .Throws(new Exception("This should not be called"));
            IFunctionDataCache cache = cacheMock.Object;
            BlobWithContainer <BlobBaseClient> blob = CreateBlobReference(ContainerName, "blob");
            Mock <Stream>      mockBlobStream       = CreateMockBlobStream();
            Stream             blobStream           = mockBlobStream.Object;
            CacheableWriteBlob cacheableWriteBlob   = CreateProductUnderTest(blob, null, blobStream, cache);

            // Act
            bool result = await cacheableWriteBlob.TryPutToCacheAsync(isDeleteOnFailure);

            // Assert
            Assert.IsFalse(result);
        }