public DisconnectErrorModalViewModel(
            ILogger logger,
            IActiveUrls urlConfig,
            ConnectionErrorResolver connectionErrorResolver,
            IVpnManager vpnManager,
            IModals modals,
            SettingsModalViewModel settingsModalViewModel,
            ProfileManager profileManager,
            IUserStorage userStorage)
        {
            _userStorage             = userStorage;
            _logger                  = logger;
            _modals                  = modals;
            _settingsModalViewModel  = settingsModalViewModel;
            _vpnManager              = vpnManager;
            _connectionErrorResolver = connectionErrorResolver;
            _urlConfig               = urlConfig;
            _profileManager          = profileManager;

            OpenHelpArticleCommand   = new RelayCommand(OpenHelpArticleAction);
            SettingsCommand          = new RelayCommand(OpenSettings);
            DisableKillSwitchCommand = new RelayCommand(DisableKillSwitch);
            GoToAccountCommand       = new RelayCommand(OpenAccountPage);
            UpgradeCommand           = new RelayCommand(UpgradeAction);
        }
        public void ResolveError_ShouldReturnTierTooLow()
        {
            // Arrange
            var oldUserInfo = new User
            {
                VpnPassword = "******",
                MaxConnect  = 3,
                MaxTier     = 2
            };

            var newUserInfo = new User
            {
                VpnPassword = "******",
                MaxConnect  = 3,
                MaxTier     = 1
            };

            _userStorage.User().Returns(oldUserInfo, newUserInfo);

            SetSessions(0);

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.UserTierTooLowError);
        }
        public void ResolveError_ShouldReturnUnpaid()
        {
            // Arrange
            _userStorage.User().Returns(new User
            {
                Delinquent = 3
            });

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.Unpaid);
        }
        public void ResolveError_ShouldReturnSessionLimitReached()
        {
            // Arrange
            _userStorage.User().Returns(new User
            {
                MaxConnect = 1
            });
            SetSessions(3);

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.SessionLimitReached);
        }
Exemple #5
0
        public void ResolveError_ShouldReturnServerOffline()
        {
            // Arrange
            _userStorage.User().Returns(new User {
                MaxConnect = 3
            });
            _serverManager.GetServer(Arg.Any <ISpecification <LogicalServerContract> >()).Returns(Server.Empty());

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient, _serverManager, _serverUpdater);

            SetSessions(0);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.ServerOffline);
        }
        public void ResolveError_ShouldReturnUnknownError()
        {
            // Arrange
            _userStorage.User().Returns(new User
            {
                Delinquent = 0,
                MaxConnect = 3,
                MaxTier    = 2
            });

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient);

            SetSessions(0);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.Unknown);
        }
Exemple #7
0
        public void ResolveError_ShouldReturnUnknownError()
        {
            // Arrange
            _userStorage.User().Returns(new User
            {
                Delinquent = 0,
                MaxConnect = 3,
                MaxTier    = 2
            });
            _serverManager.GetServer(Arg.Any <ISpecification <LogicalServerContract> >()).Returns(GetOnlineServer());

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient, _serverManager, _serverUpdater);

            SetSessions(0);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.Unknown);
        }
Exemple #8
0
 public DisconnectErrorModalViewModel(
     ILogger logger,
     IActiveUrls urlConfig,
     ConnectionErrorResolver connectionErrorResolver,
     IVpnManager vpnManager,
     IModals modals,
     SettingsModalViewModel settingsModalViewModel)
 {
     _logger = logger;
     _modals = modals;
     _settingsModalViewModel  = settingsModalViewModel;
     _vpnManager              = vpnManager;
     _connectionErrorResolver = connectionErrorResolver;
     _urlConfig               = urlConfig;
     OpenHelpArticleCommand   = new RelayCommand(OpenHelpArticleAction);
     SettingsCommand          = new RelayCommand(OpenSettings);
     DisableKillSwitchCommand = new RelayCommand(DisableKillSwitch);
     ReportBugCommand         = new RelayCommand(ReportBug);
     GoToAccountCommand       = new RelayCommand(OpenAccountPage);
 }
Exemple #9
0
 public DisconnectError(IModals modals,
                        IAppSettings appSettings,
                        IUserStorage userStorage,
                        MaximumDeviceLimitModalViewModel maximumDeviceLimitModalViewModel,
                        ConnectionErrorResolver connectionErrorResolver,
                        IPopupWindows popupWindows,
                        DelinquencyPopupViewModel delinquencyPopupViewModel,
                        IVpnManager vpnManager,
                        INotificationSender notificationSender,
                        IAuthCertificateManager authCertificateManager,
                        IVpnServiceManager vpnServiceManager)
 {
     _modals      = modals;
     _appSettings = appSettings;
     _userStorage = userStorage;
     _maximumDeviceLimitModalViewModel = maximumDeviceLimitModalViewModel;
     _connectionErrorResolver          = connectionErrorResolver;
     _popupWindows = popupWindows;
     _delinquencyPopupViewModel = delinquencyPopupViewModel;
     _vpnManager             = vpnManager;
     _notificationSender     = notificationSender;
     _authCertificateManager = authCertificateManager;
     _vpnServiceManager      = vpnServiceManager;
 }
Exemple #10
0
        public void ResolveError_ShouldReturnPasswordChanged()
        {
            // Arrange
            var oldUserInfo = new User
            {
                VpnPassword = "******",
                MaxConnect  = 3
            };

            var newUserInfo = new User
            {
                VpnPassword = "******",
                MaxConnect  = 3
            };

            _userStorage.User().Returns(oldUserInfo, newUserInfo);

            SetSessions(0);

            var sut = new ConnectionErrorResolver(_userStorage, _apiClient, _serverManager, _serverUpdater);

            // Assert
            sut.ResolveError().Result.Should().Be(VpnError.PasswordChanged);
        }