diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2012-07-20 08:39:39 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2012-07-20 08:39:39 -0700 |
commit | 4e2fc05605966377f30e9a59f80330e1a9c3f06c (patch) | |
tree | 6668201a57560c94b29eb6464fefa2220c417058 /src/DotNetOpenAuth.Test/OAuth2 | |
parent | 2d24056882a645bc1ae519f0322d533d9bf86b96 (diff) | |
download | DotNetOpenAuth-4e2fc05605966377f30e9a59f80330e1a9c3f06c.zip DotNetOpenAuth-4e2fc05605966377f30e9a59f80330e1a9c3f06c.tar.gz DotNetOpenAuth-4e2fc05605966377f30e9a59f80330e1a9c3f06c.tar.bz2 |
Adds AuthorizationServer.DecodeRefreshToken
And a unit test.
Fixes #182
Diffstat (limited to 'src/DotNetOpenAuth.Test/OAuth2')
-rw-r--r-- | src/DotNetOpenAuth.Test/OAuth2/AuthorizationServerTests.cs | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth.Test/OAuth2/AuthorizationServerTests.cs b/src/DotNetOpenAuth.Test/OAuth2/AuthorizationServerTests.cs index 3791e28..251cd67 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/AuthorizationServerTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/AuthorizationServerTests.cs @@ -9,6 +9,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { using System.Collections.Generic; using System.Linq; using System.Text; + using System.Threading.Tasks; using DotNetOpenAuth.OAuth2; using DotNetOpenAuth.OAuth2.Messages; using NUnit.Framework; @@ -28,8 +29,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { AuthorizationServerMock, new UserAgentClient(AuthorizationServerDescription), client => { - var request = new AccessTokenAuthorizationCodeRequestC(AuthorizationServerDescription) - { ClientIdentifier = ClientId, ClientSecret = ClientSecret, AuthorizationCode = "foo" }; + var request = new AccessTokenAuthorizationCodeRequestC(AuthorizationServerDescription) { ClientIdentifier = ClientId, ClientSecret = ClientSecret, AuthorizationCode = "foo" }; var response = client.Channel.Request<AccessTokenFailedResponse>(request); Assert.That(response.Error, Is.Not.Null.And.Not.Empty); @@ -40,5 +40,38 @@ namespace DotNetOpenAuth.Test.OAuth2 { }); coordinator.Run(); } + + [Test] + public void DecodeRefreshToken() { + var refreshTokenSource = new TaskCompletionSource<string>(); + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + new WebServerClient(AuthorizationServerDescription), + client => { + try { + var authState = new AuthorizationState(TestScopes) { + Callback = ClientCallback, + }; + client.PrepareRequestUserAuthorization(authState).Respond(); + var result = client.ProcessUserAuthorization(); + Assert.That(result.AccessToken, Is.Not.Null.And.Not.Empty); + Assert.That(result.RefreshToken, Is.Not.Null.And.Not.Empty); + refreshTokenSource.SetResult(result.RefreshToken); + } catch { + refreshTokenSource.TrySetCanceled(); + } + }, + server => { + var request = server.ReadAuthorizationRequest(); + Assert.That(request, Is.Not.Null); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); + server.HandleTokenRequest().Respond(); + var authorization = server.DecodeRefreshToken(refreshTokenSource.Task.Result); + Assert.That(authorization, Is.Not.Null); + Assert.That(authorization.User, Is.EqualTo(ResourceOwnerUsername)); + }); + coordinator.Run(); + } } } |