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); }