Пример #1
0
        public async Task GetContainerRegistryInfoAsync_UsesCache()
        {
            var azureProxy            = GetMockAzureProxy();
            var containerRegistryInfo = new ContainerRegistryInfo {
                RegistryServer = "registryServer1", Username = "******", Password = "******"
            };

            azureProxy.Setup(a => a.GetContainerRegistryInfoAsync(It.IsAny <string>())).Returns(Task.FromResult(containerRegistryInfo));
            var cachingAzureProxy = new CachingWithRetriesAzureProxy(azureProxy.Object, cache);

            var info1 = await cachingAzureProxy.GetContainerRegistryInfoAsync("registryServer1/imageName1:tag1");

            var info2 = await cachingAzureProxy.GetContainerRegistryInfoAsync("registryServer1/imageName1:tag1");

            azureProxy.Verify(mock => mock.GetContainerRegistryInfoAsync("registryServer1/imageName1:tag1"), Times.Once());
            Assert.AreEqual(containerRegistryInfo, info1);
            Assert.AreEqual(info1, info2);
        }
Пример #2
0
        public async Task GetContainerRegistryInfoAsync_ThrowsException_DoesNotSetCache()
        {
            SystemClock.SleepAsync = (_, __) => Task.FromResult(true);
            SystemClock.Sleep      = (_, __) => { };
            var azureProxy        = GetMockAzureProxy();
            var cachingAzureProxy = new CachingWithRetriesAzureProxy(azureProxy.Object, cache);

            azureProxy.Setup(a => a.GetContainerRegistryInfoAsync("throw/exception:tag1")).Throws <Exception>();

            await Assert.ThrowsExceptionAsync <Exception>(async() => await cachingAzureProxy.GetContainerRegistryInfoAsync("throw/exception:tag1"));

            azureProxy.Verify(mock => mock.GetContainerRegistryInfoAsync("throw/exception:tag1"), Times.Exactly(4));
        }