summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/Mocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Test/Mocks')
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs15
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs8
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthChannel.cs7
-rw-r--r--src/DotNetOpenAuth.Test/Mocks/TestChannel.cs6
4 files changed, 24 insertions, 12 deletions
diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
index 80351d4..b5fc321 100644
--- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingChannel.cs
@@ -127,7 +127,7 @@ namespace DotNetOpenAuth.Test.Mocks {
/// <param name="message">The message that this channel should receive. This message will be cloned.</param>
internal void PostMessage(IProtocolMessage message) {
ErrorUtilities.VerifyInternal(this.incomingMessage == null, "Oops, a message is already waiting for the remote party!");
- this.incomingMessage = new Dictionary<string, string>(new MessageDictionary(message));
+ this.incomingMessage = this.MessageDescriptions.GetAccessor(message).Serialize();
var directedMessage = message as IDirectedProtocolMessage;
this.incomingMessageRecipient = directedMessage != null ? new MessageReceivingEndpoint(directedMessage.Recipient, directedMessage.HttpMethods) : null;
this.incomingMessageSignal.Set();
@@ -137,7 +137,7 @@ namespace DotNetOpenAuth.Test.Mocks {
MessageReceivingEndpoint recipient;
var messageData = this.AwaitIncomingMessage(out recipient);
if (messageData != null) {
- return new CoordinatingHttpRequestInfo(this.MessageFactory, messageData, recipient);
+ return new CoordinatingHttpRequestInfo(this, this.MessageFactory, messageData, recipient);
} else {
return new CoordinatingHttpRequestInfo(recipient);
}
@@ -160,8 +160,8 @@ namespace DotNetOpenAuth.Test.Mocks {
return null;
}
- var responseSerializer = MessageSerializer.Get(responseMessage.GetType());
- responseSerializer.Deserialize(responseData, responseMessage);
+ var responseAccessor = this.MessageDescriptions.GetAccessor(responseMessage);
+ responseAccessor.Deserialize(responseData);
this.ProcessMessageFilter(responseMessage, false);
return responseMessage;
@@ -211,8 +211,8 @@ namespace DotNetOpenAuth.Test.Mocks {
ErrorUtilities.VerifyArgumentNotNull(message, "message");
IProtocolMessage clonedMessage;
- MessageSerializer serializer = MessageSerializer.Get(message.GetType());
- var fields = serializer.Serialize(message);
+ var messageAccessor = this.MessageDescriptions.GetAccessor(message);
+ var fields = messageAccessor.Serialize();
MessageReceivingEndpoint recipient = null;
var directedMessage = message as IDirectedProtocolMessage;
@@ -232,7 +232,8 @@ namespace DotNetOpenAuth.Test.Mocks {
ErrorUtilities.VerifyInternal(clonedMessage != null, "Message factory did not generate a message instance for " + message.GetType().Name);
// Fill the cloned message with data.
- serializer.Deserialize(fields, clonedMessage);
+ var clonedMessageAccessor = this.MessageDescriptions.GetAccessor(clonedMessage);
+ clonedMessageAccessor.Deserialize(fields);
return (T)clonedMessage;
}
diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs
index 5467045..f611552 100644
--- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingHttpRequestInfo.cs
@@ -13,18 +13,22 @@ namespace DotNetOpenAuth.Test.Mocks {
private IDictionary<string, string> messageData;
private IMessageFactory messageFactory;
private MessageReceivingEndpoint recipient;
+ private Channel channel;
/// <summary>
/// Initializes a new instance of the <see cref="CoordinatingHttpRequestInfo"/> class
/// that will generate a message when the <see cref="Message"/> property getter is called.
/// </summary>
+ /// <param name="channel">The channel.</param>
/// <param name="messageFactory">The message factory.</param>
/// <param name="messageData">The message data.</param>
/// <param name="recipient">The recipient.</param>
- internal CoordinatingHttpRequestInfo(IMessageFactory messageFactory, IDictionary<string, string> messageData, MessageReceivingEndpoint recipient)
+ internal CoordinatingHttpRequestInfo(Channel channel, IMessageFactory messageFactory, IDictionary<string, string> messageData, MessageReceivingEndpoint recipient)
: this(recipient) {
+ Contract.Requires(channel != null);
Contract.Requires(messageFactory != null);
Contract.Requires(messageData != null);
+ this.channel = channel;
this.messageFactory = messageFactory;
this.messageData = messageData;
}
@@ -49,7 +53,7 @@ namespace DotNetOpenAuth.Test.Mocks {
if (base.Message == null && this.messageData != null) {
IDirectedProtocolMessage message = this.messageFactory.GetNewRequestMessage(this.recipient, this.messageData);
if (message != null) {
- MessageSerializer.Get(message.GetType()).Deserialize(this.messageData, message);
+ this.channel.MessageDescriptions.GetAccessor(message).Deserialize(this.messageData);
}
base.Message = message;
}
diff --git a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthChannel.cs b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthChannel.cs
index 4911a9c..a533815 100644
--- a/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthChannel.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/CoordinatingOAuthChannel.cs
@@ -125,8 +125,8 @@ namespace DotNetOpenAuth.Test.Mocks {
ErrorUtilities.VerifyArgumentNotNull(message, "message");
IProtocolMessage clonedMessage;
- MessageSerializer serializer = MessageSerializer.Get(message.GetType());
- var fields = serializer.Serialize(message);
+ var messageAccessor = this.MessageDescriptions.GetAccessor(message);
+ var fields = messageAccessor.Serialize();
MessageReceivingEndpoint recipient = null;
var directedMessage = message as IDirectedProtocolMessage;
@@ -144,7 +144,8 @@ namespace DotNetOpenAuth.Test.Mocks {
}
// Fill the cloned message with data.
- serializer.Deserialize(fields, clonedMessage);
+ var clonedMessageAccessor = this.MessageDescriptions.GetAccessor(clonedMessage);
+ clonedMessageAccessor.Deserialize(fields);
return (T)clonedMessage;
}
diff --git a/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs b/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs
index a65b39c..a72ab63 100644
--- a/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs
+++ b/src/DotNetOpenAuth.Test/Mocks/TestChannel.cs
@@ -9,12 +9,18 @@ namespace DotNetOpenAuth.Test.Mocks {
using System.Collections.Generic;
using System.Net;
using DotNetOpenAuth.Messaging;
+ using DotNetOpenAuth.Messaging.Reflection;
internal class TestChannel : Channel {
internal TestChannel()
: this(new TestMessageFactory()) {
}
+ internal TestChannel(MessageDescriptionCollection messageDescriptions)
+ : this() {
+ this.MessageDescriptions = messageDescriptions;
+ }
+
internal TestChannel(IMessageFactory messageTypeProvider, params IChannelBindingElement[] bindingElements)
: base(messageTypeProvider, bindingElements) {
}