public async Task WhenConnected_ThenActiveSessionIsSetAndTryActivateReturnsTrue( [WindowsInstance(MachineType = MachineTypeForRdp)] ResourceTask <InstanceLocator> testInstance, [Credential(Role = PredefinedRole.IapTunnelUser)] ResourceTask <ICredential> credential) { var locator = await testInstance; using (var tunnel = RdpTunnel.Create( locator, await credential)) using (var gceAdapter = new ComputeEngineAdapter(this.serviceProvider.GetService <IAuthorizationAdapter>())) { var credentials = await gceAdapter.ResetWindowsUserAsync( locator, CreateRandomUsername(), TimeSpan.FromSeconds(60), CancellationToken.None); var settings = VmInstanceConnectionSettings.CreateNew( locator.ProjectId, locator.Name); settings.Username.StringValue = credentials.UserName; settings.Password.Value = credentials.SecurePassword; // Connect var broker = new RemoteDesktopSessionBroker(this.serviceProvider); IRemoteDesktopSession session = null; AssertRaisesEvent <SessionStartedEvent>( () => session = broker.Connect( locator, "localhost", (ushort)tunnel.LocalPort, settings)); Assert.IsNull(this.ExceptionShown); // Verify session is connected. Assert.IsTrue(broker.IsConnected(locator)); Assert.AreSame(session, broker.ActiveSession); Assert.IsTrue(broker.TryActivate(locator)); // Verify dummy session is not connected. Assert.IsFalse(broker.TryActivate(SampleLocator)); Assert.IsFalse(broker.IsConnected(SampleLocator)); AssertRaisesEvent <SessionEndedEvent>( () => session.Close()); } }
public void WhenNotConnected_ThenIsConnectedIsFalse() { var sampleLocator = new InstanceLocator("project", "zone", "instance"); var broker = new RemoteDesktopSessionBroker(this.serviceProvider); Assert.IsFalse(broker.IsConnected(sampleLocator)); }
public void WhenNotConnected_ThenActiveSessionIsNullAndTryActivateReturnsFails() { var broker = new RemoteDesktopSessionBroker(this.serviceProvider); Assert.IsFalse(broker.IsConnected(SampleLocator)); Assert.IsFalse(broker.TryActivate(SampleLocator)); }