public void ReturnsProperAuthorizeUrl(string baseAddress, string expectedUrl) { var connection = Substitute.For <IConnection>(); connection.BaseAddress.Returns(new Uri(baseAddress)); var client = new OauthClient(connection); var result = client.GetGitHubLoginUrl(new OauthLoginRequest("secret")); Assert.Equal(new Uri(expectedUrl), result); }
public void ReturnsUrlWithAllParameters() { var request = new OauthLoginRequest("secret") { RedirectUri = new Uri("https://example.com/foo?foo=bar"), Scopes = { "foo", "bar" }, State = "canARY" }; var connection = Substitute.For <IConnection>(); connection.BaseAddress.Returns(new Uri("https://api.github.com")); var client = new OauthClient(connection); var result = client.GetGitHubLoginUrl(request); Assert.Equal("/login/oauth/authorize", result.AbsolutePath); Assert.Equal("?client_id=secret&redirect_uri=https%3A%2F%2Fexample.com%2Ffoo%3Ffoo%3Dbar&scope=foo%2Cbar&state=canARY", result.Query); }