Exemplo n.º 1
0
        public void CacheHit()
        {
            var cache      = new Mock <ICache>(MockBehavior.Strict);
            var repository = new Mock <ISecretRepository>(MockBehavior.Strict);
            var service    = new CachingSecretRepository(repository.Object, cache.Object, new TimeSpan(1));

            cache.Setup(x => x.Get("A", It.IsAny <string>())).Returns("B");

            var candidate = service.ClientSecret("A");

            Assert.That(candidate, Is.EqualTo("B"), "Secret differs");
        }
        public void EmptySecretNotCached()
        {
            var cache      = new Mock <ICache>();
            var repository = new Mock <ISecretRepository>();
            var service    = new CachingSecretRepository(repository.Object, cache.Object, new TimeSpan(1));

            repository.Setup(x => x.ClientSecret("A")).Returns(string.Empty);

            var candidate = service.ClientSecret("A");

            Assert.That(candidate, Is.EqualTo(string.Empty), "Secret differs");

            cache.Verify(x => x.Set(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTimeOffset>(), It.IsAny <string>()), Times.Never);
        }