diff options
Diffstat (limited to 'src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs')
-rw-r--r-- | src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs index 1615f97..a284840 100644 --- a/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs +++ b/src/DotNetOpenAuth.Test/OAuth2/WebServerClientAuthorizeTests.cs @@ -10,7 +10,9 @@ namespace DotNetOpenAuth.Test.OAuth2 { using System.Linq; using System.Text; using DotNetOpenAuth.OAuth2; + using DotNetOpenAuth.OAuth2.ChannelElements; using DotNetOpenAuth.OAuth2.Messages; + using Moq; using NUnit.Framework; [TestFixture] @@ -60,5 +62,28 @@ namespace DotNetOpenAuth.Test.OAuth2 { }); coordinator.Run(); } + + [TestCase] + public void ClientCredentialGrant() { + var authServer = CreateAuthorizationServerMock(); + authServer.Setup( + a => a.IsAuthorizationValid(It.Is<IAuthorizationDescription>(d => d.User == null && d.ClientIdentifier == ClientId))) + .Returns(true); + var coordinator = new OAuth2Coordinator<WebServerClient>( + AuthorizationServerDescription, + authServer.Object, + new WebServerClient(AuthorizationServerDescription), + client => { + var authState = client.ObtainClientAccessToken(); + Assert.IsNotNullOrEmpty(authState.AccessToken); + Assert.IsNull(authState.RefreshToken); + }, + server => { + var request = server.ReadAccessTokenRequest(); + var response = server.PrepareAccessTokenResponse(request); + server.Channel.Respond(response); + }); + coordinator.Run(); + } } } |