diff options
Diffstat (limited to 'src/DotNetOpenAuth.Test/OAuth2')
3 files changed, 29 insertions, 8 deletions
diff --git a/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs b/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs index cefab0f..ee35b24 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/OAuth2TestBase.cs @@ -19,7 +19,9 @@ namespace DotNetOpenAuth.Test.OAuth2 { protected internal const string ClientSecret = "TestClientSecret"; - protected const string Username = "TestUser"; + protected const string ResourceOwnerUsername = "TestUser"; + + protected const string ResourceOwnerPassword = "TestUserPassword"; protected static readonly Uri ClientCallback = new Uri("http://client/callback"); @@ -40,7 +42,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { var cryptoStore = new MemoryCryptoKeyStore(); authHostMock.Setup(m => m.GetClient(ClientId)).Returns(ClientDescription); authHostMock.SetupGet(m => m.CryptoKeyStore).Returns(cryptoStore); - authHostMock.Setup(m => m.IsAuthorizationValid(It.Is<IAuthorizationDescription>(d => d.ClientIdentifier == ClientId && d.User == Username))).Returns(true); + authHostMock.Setup(m => m.IsAuthorizationValid(It.Is<IAuthorizationDescription>(d => d.ClientIdentifier == ClientId && d.User == ResourceOwnerUsername))).Returns(true); return authHostMock; } } diff --git a/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs index c91049f..3a8944f 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/UserAgentClientAuthorizeTests.cs @@ -20,7 +20,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { [TestFixture] public class UserAgentClientAuthorizeTests : OAuth2TestBase { [TestCase] - public void AuthorizationCodeGrantAuthorization() { + public void AuthorizationCodeGrant() { var coordinator = new OAuth2Coordinator<UserAgentClient>( AuthorizationServerDescription, AuthorizationServerMock, @@ -39,7 +39,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { }, server => { var request = server.ReadAuthorizationRequest(); - server.ApproveAuthorizationRequest(request, Username); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); var tokenRequest = server.ReadAccessTokenRequest(); IAccessTokenRequest accessTokenRequest = tokenRequest; Assert.IsTrue(accessTokenRequest.ClientAuthenticated); @@ -50,7 +50,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { } [TestCase] - public void ImplicitGrantAuthorization() { + public void ImplicitGrant() { var coordinatorClient = new UserAgentClient(AuthorizationServerDescription); var coordinator = new OAuth2Coordinator<UserAgentClient>( AuthorizationServerDescription, @@ -72,7 +72,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { var request = server.ReadAuthorizationRequest(); IAccessTokenRequest accessTokenRequest = (EndUserAuthorizationImplicitRequest)request; Assert.IsFalse(accessTokenRequest.ClientAuthenticated); - server.ApproveAuthorizationRequest(request, Username); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); }); coordinatorClient.ClientSecret = null; // implicit grant clients don't need a secret. diff --git a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs index 02fc25b..faf50bd 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { [TestFixture] public class WebServerClientAuthorizeTests : OAuth2TestBase { [TestCase] - public void AuthorizationCodeGrantAuthorization() { + public void AuthorizationCodeGrant() { var coordinator = new OAuth2Coordinator<WebServerClient>( AuthorizationServerDescription, AuthorizationServerMock, @@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.OAuth2 { }, server => { var request = server.ReadAuthorizationRequest(); - server.ApproveAuthorizationRequest(request, Username); + server.ApproveAuthorizationRequest(request, ResourceOwnerUsername); var tokenRequest = server.ReadAccessTokenRequest(); IAccessTokenRequest accessTokenRequest = tokenRequest; Assert.IsTrue(accessTokenRequest.ClientAuthenticated); @@ -41,5 +41,24 @@ namespace DotNetOpenAuth.Test.OAuth2 { }); coordinator.Run(); } + + [TestCase, Ignore("Not yet passing")] + public void ResourceOwnerPasswordCredentialGrant() { + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + AuthorizationServerMock, + new WebServerClient(AuthorizationServerDescription), + client => { + var authState = client.ExchangeUserCredentialForToken(ResourceOwnerUsername, ResourceOwnerPassword); + Assert.IsNotNullOrEmpty(authState.AccessToken); + Assert.IsNotNullOrEmpty(authState.RefreshToken); + }, + server => { + var request = server.ReadAccessTokenRequest(); + var response = server.PrepareAccessTokenResponse(request); + server.Channel.Respond(response); + }); + coordinator.Run(); + } } } |