public void WhenParseStringCreatedByToString_ResultIsSame() { var settings = VmInstanceConnectionSettings.CreateNew("project-1", "instance-1"); settings.Username.Value = "user"; settings.Domain.Value = "domain"; settings.ConnectionBar.Value = RdpConnectionBarState.Off; settings.DesktopSize.Value = RdpDesktopSize.ScreenSize; settings.AuthenticationLevel.Value = RdpAuthenticationLevel.RequireServerAuthentication; settings.ColorDepth.Value = RdpColorDepth.TrueColor; settings.AudioMode.Value = RdpAudioMode.PlayOnServer; settings.RedirectClipboard.Value = RdpRedirectClipboard.Disabled; settings.CredentialGenerationBehavior.Value = RdpCredentialGenerationBehavior.Disallow; var url = new IapRdpUrl( new InstanceLocator("project-1", "us-central1-a", "instance-1"), settings.ToUrlQuery()); var copy = VmInstanceConnectionSettings.FromUrl(url); Assert.AreEqual("user", copy.Username.Value); Assert.AreEqual("domain", copy.Domain.Value); Assert.AreEqual(RdpConnectionBarState.Off, copy.ConnectionBar.Value); Assert.AreEqual(RdpDesktopSize.ScreenSize, copy.DesktopSize.Value); Assert.AreEqual(RdpAuthenticationLevel.RequireServerAuthentication, copy.AuthenticationLevel.Value); Assert.AreEqual(RdpColorDepth.TrueColor, copy.ColorDepth.Value); Assert.AreEqual(RdpAudioMode.PlayOnServer, copy.AudioMode.Value); Assert.AreEqual(RdpRedirectClipboard.Disabled, copy.RedirectClipboard.Value); Assert.AreEqual(RdpCredentialGenerationBehavior.Disallow, copy.CredentialGenerationBehavior.Value); }
public void WhenQueryStringContainsValidUserOrDomain_ThenSettingsUseDecodedValues() { var url = IapRdpUrl.FromString("iap-rdp:///my-project/us-central1-a/my-instance?" + "userNAME=John%20Doe&PassworD=ignore&Domain=%20%20mydomain&"); var settings = VmInstanceConnectionSettings.FromUrl(url); Assert.AreEqual("John Doe", settings.Username.Value); Assert.IsNull(settings.Password.Value); Assert.AreEqual(" mydomain", settings.Domain.Value); }
public void WhenQueryStringContainsValidSettings_ThenSettingsUseDecodedValues() { var url = IapRdpUrl.FromString("iap-rdp:///my-project/us-central1-a/my-instance?" + "ConnectionBar=1&DesktopSize=1&AuthenticationLevel=0&ColorDepth=2&" + "AudioMode=2&RedirectClipboard=0&CredentialGenerationBehavior=0&Rdpport=13389"); var settings = VmInstanceConnectionSettings.FromUrl(url); Assert.AreEqual(RdpConnectionBarState.Pinned, settings.ConnectionBar.Value); Assert.AreEqual(RdpDesktopSize.ScreenSize, settings.DesktopSize.Value); Assert.AreEqual(RdpAuthenticationLevel.AttemptServerAuthentication, settings.AuthenticationLevel.Value); Assert.AreEqual(RdpColorDepth.DeepColor, settings.ColorDepth.Value); Assert.AreEqual(RdpAudioMode.DoNotPlay, settings.AudioMode.Value); Assert.AreEqual(RdpRedirectClipboard.Disabled, settings.RedirectClipboard.Value); Assert.AreEqual(RdpCredentialGenerationBehavior.Allow, settings.CredentialGenerationBehavior.Value); Assert.AreEqual(13389, settings.RdpPort.Value); }
public void WhenQueryStringContainsNonsense_ThenSettingsUsesDefaults() { var url = IapRdpUrl.FromString("iap-rdp:///my-project/us-central1-a/my-instance?a=b&user=wrongcase&_"); var settings = VmInstanceConnectionSettings.FromUrl(url); Assert.IsNull(settings.Username.Value); Assert.IsNull(settings.Password.Value); Assert.IsNull(settings.Domain.Value); Assert.AreEqual(RdpConnectionBarState._Default, settings.ConnectionBar.Value); Assert.AreEqual(RdpDesktopSize._Default, settings.DesktopSize.Value); Assert.AreEqual(RdpAuthenticationLevel._Default, settings.AuthenticationLevel.Value); Assert.AreEqual(RdpColorDepth._Default, settings.ColorDepth.Value); Assert.AreEqual(RdpAudioMode._Default, settings.AudioMode.Value); Assert.AreEqual(RdpRedirectClipboard._Default, settings.RedirectClipboard.Value); Assert.AreEqual(RdpCredentialGenerationBehavior._Default, settings.CredentialGenerationBehavior.Value); }
public void WhenQueryStringContainsOutOfRangeValues_ThenSettingsUsesDefaults() { var url = IapRdpUrl.FromString("iap-rdp:///my-project/us-central1-a/my-instance?" + "ConnectionBar=-1&DesktopSize=a&AuthenticationLevel=null&ColorDepth=&" + "AudioMode=9999&RedirectClipboard=b&RedirectClipboard=c&" + "CredentialGenerationBehavior=-11"); var settings = VmInstanceConnectionSettings.FromUrl(url); Assert.IsNull(settings.Username.Value); Assert.IsNull(settings.Password.Value); Assert.IsNull(settings.Domain.Value); Assert.AreEqual(RdpConnectionBarState._Default, settings.ConnectionBar.Value); Assert.AreEqual(RdpDesktopSize._Default, settings.DesktopSize.Value); Assert.AreEqual(RdpAuthenticationLevel._Default, settings.AuthenticationLevel.Value); Assert.AreEqual(RdpColorDepth._Default, settings.ColorDepth.Value); Assert.AreEqual(RdpAudioMode._Default, settings.AudioMode.Value); Assert.AreEqual(RdpRedirectClipboard._Default, settings.RedirectClipboard.Value); Assert.AreEqual(RdpCredentialGenerationBehavior._Default, settings.CredentialGenerationBehavior.Value); }