public void WhenTunnelsListEmpty_ThenRefreshButtonIsDisabled() { var viewModel = new TunnelsViewModel( CreateTunnelBroker(0).Object, CreateConfirmationDialog(DialogResult.Cancel).Object, new MockEventService()); viewModel.RefreshTunnels(); Assert.IsFalse(viewModel.IsRefreshButtonEnabled); }
public void WhenOneTunnelOpen_ThenRefreshButtonIsEnabled() { var viewModel = new TunnelsViewModel( CreateTunnelBroker(1).Object, CreateConfirmationDialog(DialogResult.Cancel).Object, new MockEventService()); viewModel.RefreshTunnels(); Assert.IsTrue(viewModel.IsRefreshButtonEnabled); }
public void WhenTunnelSelected_ThenDisconnectButtonIsEnabled() { var viewModel = new TunnelsViewModel( CreateTunnelBroker(1).Object, CreateConfirmationDialog(DialogResult.Cancel).Object, new MockEventService()); viewModel.RefreshTunnels(); Assert.IsFalse(viewModel.IsDisconnectButtonEnabled); viewModel.SelectedTunnel = viewModel.Tunnels[0]; Assert.IsTrue(viewModel.IsDisconnectButtonEnabled); }
public async Task WhenNoTunnelSelected_ThenDisconnectSelectedTunnelDoesNothing() { var viewModel = new TunnelsViewModel( CreateTunnelBroker(1).Object, CreateConfirmationDialog(DialogResult.Cancel).Object, new MockEventService()); viewModel.RefreshTunnels(); Assert.AreEqual(1, viewModel.Tunnels.Count); await viewModel.DisconnectSelectedTunnelAsync(); Assert.AreEqual(1, viewModel.Tunnels.Count); }
public async Task WhenTunnelSelectedAndDisconnectNotConfirmed_ThenTunnelIsLeftOpen() { var broker = CreateTunnelBroker(1); var viewModel = new TunnelsViewModel( broker.Object, CreateConfirmationDialog(DialogResult.Cancel).Object, new MockEventService()); viewModel.RefreshTunnels(); viewModel.SelectedTunnel = viewModel.Tunnels[0]; Assert.AreEqual(1, viewModel.Tunnels.Count); await viewModel.DisconnectSelectedTunnelAsync(); broker.Verify(b => b.DisconnectAsync(It.IsAny <TunnelDestination>()), Times.Never); Assert.IsNotNull(viewModel.SelectedTunnel); }
public async Task <ResponseViewModel <bool> > AddTunnel(TunnelsViewModel vm) { var data = new ResponseViewModel <bool>(); var userId = HttpContext.User.FindFirst(u => u.Type == ClaimTypes.NameIdentifier).Value; if (await _tunnelProvider.GetTunnelBySubDomail(vm.SubDomain) != null) { data.Code = 1; data.Msg = _localizer["add_tunnel.msg"]; return(data); } var tunnelId = GuidUtil.GenerateGuid(); if (await _tunnelProvider.GetTunnel(tunnelId) != null) { data.Code = 1; data.Msg = _localizer["add_tunnel.error"]; return(data); } var tunnel = new TunnelsEntity { TunnelId = tunnelId, UserId = Convert.ToInt32(userId), TunnelProtocol = vm.TunnelProtocol, TunnelName = vm.TunnelName, SubDomain = vm.SubDomain, LocalPort = vm.LocalPort, FullUrl = vm.FullUrl, Status = (int)TunnelStatusEnum.Audit, CreateTime = DateTime.Now }; data.Data = await _tunnelProvider.Create(tunnel); return(data); }