public DownstreamMessageSender(WebSocketWriterRegistry <StationEui, string> socketWriterRegistry,
                                IBasicsStationConfigurationService basicsStationConfigurationService,
                                ILogger <DownstreamMessageSender> logger)
 {
     this.socketWriterRegistry = socketWriterRegistry;
     this.basicsStationConfigurationService = basicsStationConfigurationService;
     this.logger = logger;
 }
        public async Task SendAsync_Delegates_To_Registry()
        {
            // arrange
            const string message = "bar";

            using var cts = new CancellationTokenSource();
            var registry   = new WebSocketWriterRegistry <string, string>(null, null);
            var writerMock = new Mock <IWebSocketWriter <string> >();
            var sut        = registry.Register("foo", writerMock.Object);

            // act
            await sut.SendAsync(message, cts.Token);

            // assert
            writerMock.Verify(r => r.SendAsync(message, cts.Token), Times.Once);
        }
Exemple #3
0
 public LnsProtocolMessageProcessor(IBasicsStationConfigurationService basicsStationConfigurationService,
                                    WebSocketWriterRegistry <StationEui, string> socketWriterRegistry,
                                    IDownstreamMessageSender downstreamMessageSender,
                                    IMessageDispatcher messageDispatcher,
                                    ILogger <LnsProtocolMessageProcessor> logger,
                                    RegistryMetricTagBag registryMetricTagBag,
                                    Meter meter)
 {
     this.basicsStationConfigurationService = basicsStationConfigurationService;
     this.socketWriterRegistry    = socketWriterRegistry;
     this.downstreamMessageSender = downstreamMessageSender;
     this.messageDispatcher       = messageDispatcher;
     this.logger = logger;
     this.registryMetricTagBag    = registryMetricTagBag;
     this.joinRequestCounter      = meter?.CreateCounter <int>(MetricRegistry.JoinRequests);
     this.uplinkMessageCounter    = meter?.CreateCounter <int>(MetricRegistry.D2CMessagesReceived);
     this.unhandledExceptionCount = meter?.CreateCounter <int>(MetricRegistry.UnhandledExceptions);
 }
Exemple #4
0
        public DownstreamSenderTests()
        {
            var socketWriterRegistry = new WebSocketWriterRegistry <StationEui, string>(Mock.Of <ILogger <WebSocketWriterRegistry <StationEui, string> > >(), null);

            this.webSocketWriter = new Mock <IWebSocketWriter <string> >();

            var basicStationConfigurationService = new Mock <IBasicsStationConfigurationService>();

            basicStationConfigurationService.Setup(x => x.GetRegionAsync(stationEui, It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(RegionManager.EU868));

            socketWriterRegistry.Register(stationEui, this.webSocketWriter.Object);

            loraDataByteArray = Encoding.UTF8.GetBytes(loraDataBase64);

            downlinkSender = new DownstreamMessageSender(socketWriterRegistry,
                                                         basicStationConfigurationService.Object,
                                                         Mock.Of <ILogger <DownstreamMessageSender> >());
        }
Exemple #5
0
 public WebSocketWriterRegistryTests()
 {
     this.sut = new WebSocketWriterRegistry <string, string>(NullLogger <WebSocketWriterRegistry <string, string> > .Instance, null);
 }