public async Task Valid_protocol_response_should_be_handled_correctly() { var handler = new NetworkHandler(HttpStatusCode.OK, "ok"); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(false, response.IsError); Assert.AreEqual(ResponseErrorType.None, response.ErrorType); Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); }
public async Task Exception_should_be_handled_correctly() { var handler = new NetworkHandler(HttpStatusCode.InternalServerError, "exception"); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Http, response.ErrorType); Assert.IsNotNull(response.Error); Assert.AreEqual("exception", response.Error); }
public async Task Http_error_should_be_handled_correctly() { var handler = new NetworkHandler(HttpStatusCode.NotFound, "not found"); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Http, response.ErrorType); Assert.AreEqual(HttpStatusCode.NotFound, response.HttpStatusCode); Assert.AreEqual("not found", response.Error); }
public async Task Malformed_response_document_should_be_handled_correctly() { var document = "invalid"; var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new UserInfoClient( Endpoint, innerHttpMessageHandler: handler); var response = await client.GetAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Exception, response.ErrorType); Assert.AreEqual("invalid", response.Raw); Assert.IsNotNull(response.Exception); }
public async Task Valid_protocol_response_should_be_handled_correctly() { var document = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "documents", "success_userinfo_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new UserInfoClient( Endpoint, innerHttpMessageHandler: handler); var response = await client.GetAsync("token"); Assert.AreEqual(false, response.IsError); Assert.AreEqual(ResponseErrorType.None, response.ErrorType); Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); Assert.IsNotNull(response.Claims); }
public async Task Http_error_should_be_handled_correctly() { var handler = new NetworkHandler(HttpStatusCode.NotFound, "not found"); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Http, response.ErrorType); Assert.AreEqual(HttpStatusCode.NotFound, response.HttpStatusCode); Assert.AreEqual("not found", response.Error); }
public async Task Exception_should_be_handled_correctly() { var handler = new NetworkHandler(HttpStatusCode.InternalServerError, "exception"); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Http, response.ErrorType); Assert.AreEqual("exception", response.Error); Assert.IsNotNull(response.Error); }
public DiscoveryClientTests() { var discoFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Documents", "discovery.json");//Nimisha var document = File.ReadAllText(discoFileName); var jwksFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Documents", "discovery.json");//Nimisha var jwks = File.ReadAllText(jwksFileName); _successHandler = new NetworkHandler(request => { if (request.RequestUri.AbsoluteUri.EndsWith("jwks")) { return(jwks); } return(document); }, HttpStatusCode.OK); }
public async Task Malformed_response_document_should_be_handled_correctly() { var document = "invalid"; var handler = new NetworkHandler(document, HttpStatusCode.BadRequest); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Exception, response.ErrorType); Assert.AreEqual("invalid", response.Raw); Assert.IsNotNull(response.Exception); }
public async Task Valid_protocol_error_should_be_handled_correctly() { var document = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "Documents", "failure_token_revocation_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.BadRequest); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Protocol, response.ErrorType); Assert.AreEqual(HttpStatusCode.BadRequest, response.HttpStatusCode); Assert.AreEqual("error", response.Error); }
public async Task Valid_protocol_error_should_be_handled_correctly() { var document = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Documents", "failure_token_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.BadRequest); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Protocol, response.ErrorType); Assert.AreEqual(HttpStatusCode.BadRequest, response.HttpStatusCode); Assert.AreEqual("error", response.Error); Assert.AreEqual("error_description", response.ErrorDescription); }
public async Task Setting_basic_authentication_style_should_send_basic_authentication_header() { var document = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Documents", "success_token_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); var request = handler.Request; Assert.IsNotNull(request.Headers.Authorization); Assert.AreEqual("Basic", request.Headers.Authorization.Scheme.ToString()); Assert.AreEqual(Convert.ToBase64String(Encoding.UTF8.GetBytes("clientid:clientsecret")), request.Headers.Authorization.Parameter); }
public DiscoveryClientTests() { var binDir = AppDomain.CurrentDomain.BaseDirectory; FileInfo fileInfo = new FileInfo(binDir); DirectoryInfo dir = fileInfo.Directory.Parent.Parent; var document = File.ReadAllText(Path.Combine(dir.FullName, "Intuit.Ipp.OAuth2PlatformClient.Test\\Documents", "discovery.json")); var jwks = File.ReadAllText(Path.Combine(dir.FullName, "Intuit.Ipp.OAuth2PlatformClient.Test\\Documents", "discovery.json")); _successHandler = new NetworkHandler(request => { if (request.RequestUri.AbsoluteUri.EndsWith("jwks")) { return(jwks); } return(document); }, HttpStatusCode.OK); }
public async Task Malformed_response_document_should_be_handled_correctly() { var document = "invalid"; var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Exception, response.ErrorType); Assert.AreEqual("invalid", response.Raw); //Assert.AreEqual("error", response.Error); Assert.IsNotNull(response.Exception); }
public async Task Valid_protocol_response_should_be_handled_correctly() { var binDir = AppDomain.CurrentDomain.BaseDirectory; FileInfo fileInfo = new FileInfo(binDir); DirectoryInfo dir = fileInfo.Directory.Parent.Parent; var document = File.ReadAllText(Path.Combine(dir.FullName, "Intuit.Ipp.OAuth2PlatformClient.Test\\Documents", "success_userinfo_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new UserInfoClient( Endpoint, innerHttpMessageHandler: handler); var response = await client.GetAsync("token"); Assert.AreEqual(false, response.IsError); Assert.AreEqual(ResponseErrorType.None, response.ErrorType); Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); Assert.IsNotNull(response.Claims); }
public async Task Valid_protocol_response_should_be_handled_correctly() { var document = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Documents", "success_token_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.OK); var client = new TokenClient( Endpoint, "clientid", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RequestTokenFromCodeAsync("123", "https://server/callback"); Assert.AreEqual(false, response.IsError); Assert.AreEqual(ResponseErrorType.None, response.ErrorType); Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); Assert.AreEqual(3600, response.AccessTokenExpiresIn); Assert.AreEqual(15552000, response.RefreshTokenExpiresIn); Assert.AreEqual("access_token", response.AccessToken); Assert.AreEqual("refresh_token", response.RefreshToken); Assert.AreEqual("id_token", response.IdentityToken); }
public async Task Valid_protocol_error_should_be_handled_correctly() { var binDir = AppDomain.CurrentDomain.BaseDirectory; FileInfo fileInfo = new FileInfo(binDir); DirectoryInfo dir = fileInfo.Directory.Parent.Parent; var document = File.ReadAllText(Path.Combine(dir.FullName, "Intuit.Ipp.OAuth2PlatformClient.Test\\Documents", "failure_token_revocation_response.json")); var handler = new NetworkHandler(document, HttpStatusCode.BadRequest); var client = new TokenRevocationClient( Endpoint, "client", "clientsecret", innerHttpMessageHandler: handler); var response = await client.RevokeAccessTokenAsync("token"); Assert.AreEqual(true, response.IsError); Assert.AreEqual(ResponseErrorType.Protocol, response.ErrorType); Assert.AreEqual(HttpStatusCode.BadRequest, response.HttpStatusCode); Assert.AreEqual("error", response.Error); }