Beispiel #1
0
        public async Task ProcessAsync_DoesNotThrowWhenRelayAsyncThrows()
        {
            _relayMock.Setup(i => i.RelayAsync(It.IsAny <MqttMessage>())).Throws(new Exception());
            var service = new MqttMessageDispatchService(_scopeFactoryMock.Object);
            var message = new MqttMessage("iot/device-alpha/sensor-beta", "120", _clock.GetCurrentInstant());

            await service.ProcessAsync(message);
        }
Beispiel #2
0
        public MqttMessageDispatchServiceTest()
        {
            _scopeFactoryMock = new Mock <IServiceScopeFactory>();
            _scopeMock        = new Mock <IServiceScope>();
            _ingestMock       = new Mock <IMqttMessageIngestionService>();
            _relayMock        = new Mock <IMqttMessageRelayService>();

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddScoped <IMqttMessageIngestionService>(provider => _ingestMock.Object);
            serviceCollection.AddScoped <IMqttMessageRelayService>(provider => _relayMock.Object);
            _scopeMock.Setup(s => s.ServiceProvider).Returns(serviceCollection.BuildServiceProvider());
            _scopeFactoryMock.Setup(s => s.CreateScope()).Returns(_scopeMock.Object);
            _service = new MqttMessageDispatchService(_scopeFactoryMock.Object);

            _initial = SystemClock.Instance.GetCurrentInstant();
            _clock   = new FakeClock(_initial);
        }