private async Task <EventAggregatorBuilder> WhenStartDiscoveryAsync_NoResponse() { var eaBuilder = new EventAggregatorBuilder(); var containerBuilder = new ContainerBuilder(); containerBuilder.Register(_ => new BroadcasterBuilder().Build()); var target = new MeteringStationDetector(eaBuilder.Build(), containerBuilder.Build(), TimeSpan.FromMilliseconds(200)); await target.StartDiscoveryAsync(); return(eaBuilder); }
public async Task WhenStartDiscoveryAsync_OneResponse_DeviceDetectedEventSent() { var broadcaster = new BroadcasterBuilder() .SetupSend(new IPEndPoint(IPAddress.Parse("1.2.3.4"), 1234), JsonConvert.SerializeObject(new MeteringStationResponse { ClientId = "1234" }).Encrypt()) .Build(); var eaBuilder = new EventAggregatorBuilder(); var containerBuilder = new ContainerBuilder(); containerBuilder.Register(_ => broadcaster); var target = new MeteringStationDetector(eaBuilder.Build(), containerBuilder.Build(), TimeSpan.FromMilliseconds(200)); await target.StartDiscoveryAsync(); eaBuilder.Mock.Verify(p => p.Publish(It.Is <DeviceDetectedEvent>(x => x.Id == "1234" && x.Ip.ToString() == "1.2.3.4")), Times.Once); }