public async Task GetSetAsync_always_calculates_the_value() { // Arrange var subscriber = FakeRedis.CreateSubscriber(); var sut = new RedisInvalidationSender(subscriber, "invalidation"); var count = 0; // Act var valueFromCache = await sut.GetSetAsync("testKey", async ct => { ++count; return("42"); }, TimeSpan.FromSeconds(10)); // Assert Assert.Equal(1, count); Assert.Equal("42", valueFromCache); }
public async Task InvalidateAsync_publishes_an_invalidation_message() { // Arrange string?publishedChannel = null; string?publishedMessage = null; var subscriber = FakeRedis.CreateSubscriber(onPublish: (c, m) => { publishedChannel = c; publishedMessage = m; }); var sut = new RedisInvalidationSender(subscriber, "invalidation"); // Act await sut.InvalidateAsync("testKey"); // Assert Assert.Equal("invalidation", publishedChannel); Assert.Equal("testKey", publishedMessage); }