diff options
6 files changed, 69 insertions, 31 deletions
diff --git a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj index 93d222f..3b074a6 100644 --- a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj +++ b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj @@ -222,6 +222,7 @@ <Compile Include="Mocks\TestChannel.cs" /> <Compile Include="Mocks\TestMessage.cs" /> <Compile Include="Mocks\TestMessageFactory.cs" /> + <Compile Include="OAuthWrap\MessageFactoryTests.cs" /> <Compile Include="OAuthWrap\OAuthWrapChannelTests.cs" /> <Compile Include="OAuthWrap\OAuthWrapTestBase.cs" /> <Compile Include="OAuth\ChannelElements\HmacSha1SigningBindingElementTests.cs" /> diff --git a/src/DotNetOpenAuth.Test/OAuthWrap/MessageFactoryTests.cs b/src/DotNetOpenAuth.Test/OAuthWrap/MessageFactoryTests.cs new file mode 100644 index 0000000..fa93a73 --- /dev/null +++ b/src/DotNetOpenAuth.Test/OAuthWrap/MessageFactoryTests.cs @@ -0,0 +1,63 @@ +//----------------------------------------------------------------------- +// <copyright file="MessageFactoryTests.cs" company="Andrew Arnott"> +// Copyright (c) Andrew Arnott. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.OAuthWrap { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OAuthWrap; + using DotNetOpenAuth.OAuthWrap.ChannelElements; + using DotNetOpenAuth.OAuthWrap.Messages; + using NUnit.Framework; + + public class MessageFactoryTests { + private OAuthWrapChannel channel; + private IMessageFactory messageFactory; + private MessageReceivingEndpoint recipient = new MessageReceivingEndpoint("http://who", HttpDeliveryMethods.PostRequest); + + public override void SetUp() { + base.SetUp(); + + this.channel = new OAuthWrapChannel(); + this.messageFactory = OAuthWrapChannel_Accessor.AttachShadow(this.channel).MessageFactory; + } + + /// <summary> + /// Verifies that the WRAP message types are initialized. + /// </summary> + [TestCase] + public void RefreshAccessTokenRequest() { + var fields = new Dictionary<string, string> { + { Protocol.wrap_refresh_token, "abc" }, + }; + IDirectedProtocolMessage request = this.messageFactory.GetNewRequestMessage(this.recipient, fields); + Assert.IsInstanceOf(typeof(RefreshAccessTokenRequest), request); + } + + [TestCase] + public void RefreshAccessTokenSuccessResponse() { + var fields = new Dictionary<string, string> { + { Protocol.wrap_access_token, "abc" }, + }; + var request = new RefreshAccessTokenRequest(this.recipient.Location, Protocol.Default.Version); + Assert.IsInstanceOf( + typeof(RefreshAccessTokenSuccessResponse), + this.messageFactory.GetNewResponseMessage(request, fields)); + } + + [TestCase] + public void RefreshAccessTokenFailedResponse() { + var fields = new Dictionary<string, string> { + }; + var request = new RefreshAccessTokenRequest(this.recipient.Location, Protocol.Default.Version); + Assert.IsInstanceOf( + typeof(RefreshAccessTokenFailedResponse), + this.messageFactory.GetNewResponseMessage(request, fields)); + } + } +} diff --git a/src/DotNetOpenAuth.Test/OAuthWrap/OAuthWrapChannelTests.cs b/src/DotNetOpenAuth.Test/OAuthWrap/OAuthWrapChannelTests.cs index 9172f2e..c7fe48f 100644 --- a/src/DotNetOpenAuth.Test/OAuthWrap/OAuthWrapChannelTests.cs +++ b/src/DotNetOpenAuth.Test/OAuthWrap/OAuthWrapChannelTests.cs @@ -17,34 +17,5 @@ namespace DotNetOpenAuth.Test.OAuthWrap { [TestFixture] public class OAuthWrapChannelTests : OAuthWrapTestBase { - private OAuthWrapChannel channel; - private IMessageFactory messageFactory; - private MessageReceivingEndpoint recipient = new MessageReceivingEndpoint("http://who", HttpDeliveryMethods.PostRequest); - - public override void SetUp() { - base.SetUp(); - - this.channel = new OAuthWrapChannel(); - this.messageFactory = OAuthWrapChannel_Accessor.AttachShadow(this.channel).MessageFactory; - } - - /// <summary> - /// Verifies that the WRAP message types are initialized. - /// </summary> - [TestCase] - public void MessageFactory() { - var fields = new Dictionary<string, string> { - { Protocol.wrap_refresh_token, "abc" }, - }; - IDirectedProtocolMessage request = messageFactory.GetNewRequestMessage(recipient, fields); - Assert.IsInstanceOf(typeof(RefreshAccessTokenRequest), request); - - fields.Clear(); - fields[Protocol.wrap_access_token] = "abc"; - Assert.IsInstanceOf(typeof(RefreshAccessTokenSuccessResponse), messageFactory.GetNewResponseMessage(request, fields)); - - fields.Clear(); - Assert.IsInstanceOf(typeof(RefreshAccessTokenFailedResponse), messageFactory.GetNewResponseMessage(request, fields)); - } } } diff --git a/src/DotNetOpenAuth/Messaging/StandardMessageFactory.cs b/src/DotNetOpenAuth/Messaging/StandardMessageFactory.cs index 68432e8..d8944e0 100644 --- a/src/DotNetOpenAuth/Messaging/StandardMessageFactory.cs +++ b/src/DotNetOpenAuth/Messaging/StandardMessageFactory.cs @@ -176,7 +176,7 @@ namespace DotNetOpenAuth.Messaging { var matches = this.responseMessageTypes.Keys .Where(message => message.CheckMessagePartsPassBasicValidation(fields)) - .Where(message => FindMatchingResponseConstructors(message, request.GetType()).Any()) + .Where(message => this.FindMatchingResponseConstructors(message, request.GetType()).Any()) .OrderByDescending(message => message.Mapping.Count) .CacheGeneratedResults(); var match = matches.FirstOrDefault(); diff --git a/src/DotNetOpenAuth/OAuthWrap/IClientTokenManager.cs b/src/DotNetOpenAuth/OAuthWrap/IClientTokenManager.cs index 1c25b21..8627c4d 100644 --- a/src/DotNetOpenAuth/OAuthWrap/IClientTokenManager.cs +++ b/src/DotNetOpenAuth/OAuthWrap/IClientTokenManager.cs @@ -22,6 +22,9 @@ namespace DotNetOpenAuth.OAuthWrap { IWrapAuthorization GetAuthorizationState(Uri callbackUrl, string clientState); } + /// <summary> + /// Contract class for the <see cref="IClientTokenManager"/> interface. + /// </summary> [ContractClassFor(typeof(IClientTokenManager))] internal abstract class IClientTokenManagerContract : IClientTokenManager { private IClientTokenManagerContract() { diff --git a/src/DotNetOpenAuth/OpenId/Messages/DirectErrorResponse.cs b/src/DotNetOpenAuth/OpenId/Messages/DirectErrorResponse.cs index ec2f7d5..607a139 100644 --- a/src/DotNetOpenAuth/OpenId/Messages/DirectErrorResponse.cs +++ b/src/DotNetOpenAuth/OpenId/Messages/DirectErrorResponse.cs @@ -43,7 +43,7 @@ namespace DotNetOpenAuth.OpenId.Messages { WebHeaderCollection IHttpDirectResponse.Headers { get { return new WebHeaderCollection(); } } - + #endregion /// <summary> |