diff options
Diffstat (limited to 'src/DotNetOpenAuth.Test/Mocks')
-rw-r--r-- | src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs | 9 | ||||
-rw-r--r-- | src/DotNetOpenAuth.Test/Mocks/CoordinatingUserAgentResponse.cs | 29 |
2 files changed, 35 insertions, 3 deletions
diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs index 2c10db9..6fe5248 100644 --- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs @@ -44,6 +44,11 @@ namespace DotNetOpenAuth.Test.Mocks { this.VerifyMessageAfterReceiving(CloneSerializedParts(message)); } + internal void PostMessage(IProtocolMessage message) { + this.incomingMessage = CloneSerializedParts(message); + this.incomingMessageSignal.Set(); + } + protected internal override HttpRequestInfo GetRequestFromContext() { return new HttpRequestInfo((IDirectedProtocolMessage)this.AwaitIncomingMessage()); } @@ -62,9 +67,7 @@ namespace DotNetOpenAuth.Test.Mocks { protected override UserAgentResponse SendDirectMessageResponse(IProtocolMessage response) { this.ProcessMessageFilter(response, true); - this.RemoteChannel.incomingMessage = CloneSerializedParts(response); - this.RemoteChannel.incomingMessageSignal.Set(); - return null; + return new CoordinatingUserAgentResponse(CloneSerializedParts(response), this.RemoteChannel); } protected override UserAgentResponse SendIndirectMessage(IDirectedProtocolMessage message) { diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingUserAgentResponse.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingUserAgentResponse.cs new file mode 100644 index 0000000..4897e98 --- /dev/null +++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingUserAgentResponse.cs @@ -0,0 +1,29 @@ +//----------------------------------------------------------------------- +// <copyright file="CoordinatingUserAgentResponse.cs" company="Andrew Arnott"> +// Copyright (c) Andrew Arnott. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Test.Mocks { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using DotNetOpenAuth.Messaging; + + internal class CoordinatingUserAgentResponse : UserAgentResponse { + private CoordinatingChannel receivingChannel; + + internal CoordinatingUserAgentResponse(IProtocolMessage message, CoordinatingChannel receivingChannel) { + ErrorUtilities.VerifyArgumentNotNull(message, "message"); + ErrorUtilities.VerifyArgumentNotNull(receivingChannel, "receivingChannel"); + + this.receivingChannel = receivingChannel; + this.OriginalMessage = message; + } + + public override void Send() { + this.receivingChannel.PostMessage(this.OriginalMessage); + } + } +} |