Esempio n. 1
0
        public async Task OnTimerTick_ShouldCheck_ForwardedTraffic_WhenPaidServer()
        {
            // Arrange
            _forwardedTraffic.Value().Returns(new ForwardedTrafficResult(true, true, string.Empty));
            P2PDetector detector = new P2PDetector(_logger, _appConfig, _blockedTraffic, _forwardedTraffic, _scheduler, _modals, _dialogs);
            await detector.OnVpnStateChanged(new VpnStateChangedEventArgs(VpnStatus.Connected, VpnError.None, PaidServer(), false));

            // Act
            _timer.Tick += Raise.Event();
            // Assert
            await _forwardedTraffic.Received(1).Value();

            await _blockedTraffic.DidNotReceive().Detected();
        }
Esempio n. 2
0
        private async Task CheckForwardedOrBlockedTraffic()
        {
            var value = await _forwardedTraffic.Value();

            if (!value.Result)
            {
                return;
            }

            if (_trafficForwarded != value.Forwarded)
            {
                _trafficForwarded = value.Forwarded;
                TrafficForwarded?.Invoke(this, value.Ip);

                if (_trafficForwarded)
                {
                    _logger.Info("Forwarded traffic detected");
                    ShowForwardedTrafficModal();
                }
                else
                {
                    _logger.Info("Not forwarded traffic detected");
                }
            }

            if (!value.Forwarded)
            {
                await CheckBlockedTraffic();
            }
        }