public async Task Subscribe_NullRawMessageHandler_ThrowsArgumentNull( string topic, RedisRawMessageHandlerSubscriber sut) { var ex = await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Subscribe(topic, null, None)); Assert.Equal("rawHandler", ex.ParamName); }
public async Task Subscribe_NullTopic_ThrowsArgumentNull( IRawMessageHandler rawMessageHandler, RedisRawMessageHandlerSubscriber sut) { var ex = await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Subscribe(null, rawMessageHandler, None)); Assert.Equal("topic", ex.ParamName); }
public async Task Subscribe_MultiplexerReturnsNoSubscription_ThrowsInvalidOperation( [Frozen] IConnectionMultiplexer connectionMultiplexer, string topic, IRawMessageHandler rawMessageHandler, RedisRawMessageHandlerSubscriber sut) { connectionMultiplexer.GetSubscriber().ReturnsNull(); var ex = await Assert.ThrowsAsync <InvalidOperationException>(() => sut.Subscribe(topic, rawMessageHandler, None)); Assert.Equal("Redis Multiplexer returned no subscription.", ex.Message); }
public async Task Subscribe_SubscribersRawMessageHandler( [Frozen] ISubscriber subscriber, string topic, byte[] message, IRawMessageHandler rawMessageHandler, RedisRawMessageHandlerSubscriber sut) { Action <RedisChannel, RedisValue> redisCallback = null; await subscriber.SubscribeAsync(topic, Arg.Do <Action <RedisChannel, RedisValue> >(action => redisCallback = action)); await sut.Subscribe(topic, rawMessageHandler, None); Assert.NotNull(redisCallback); redisCallback(topic, message); await rawMessageHandler.Received(1).Handle(topic, message, None); }