summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/Messaging
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-11-20 06:54:14 -0800
committerAndrew <andrewarnott@gmail.com>2008-11-20 06:54:14 -0800
commit1a882368e2e99e9360cfd1f4f23f5acb70306436 (patch)
treeab0d370a8b8b9d5b638524f189a39991970834bb /src/DotNetOpenAuth.Test/Messaging
parentd51be63270463542a308a9a2cef992b7d55baaa6 (diff)
downloadDotNetOpenAuth-1a882368e2e99e9360cfd1f4f23f5acb70306436.zip
DotNetOpenAuth-1a882368e2e99e9360cfd1f4f23f5acb70306436.tar.gz
DotNetOpenAuth-1a882368e2e99e9360cfd1f4f23f5acb70306436.tar.bz2
Reworked the way messages are instantiated and deserialized.
This was a whole lot of work to just get multi-version capability added to message types so that OpenID could handle its few versions.
Diffstat (limited to 'src/DotNetOpenAuth.Test/Messaging')
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs14
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs6
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs2
-rw-r--r--src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs2
5 files changed, 19 insertions, 15 deletions
diff --git a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
index 4127b5a..0176164 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ChannelTests.cs
@@ -41,7 +41,7 @@ namespace DotNetOpenAuth.Test.Messaging {
[TestMethod, ExpectedException(typeof(ArgumentException))]
public void SendIndirectedUndirectedMessage() {
- IProtocolMessage message = new TestMessage(MessageTransport.Indirect);
+ IProtocolMessage message = new TestDirectedMessage(MessageTransport.Indirect);
this.Channel.Send(message);
}
@@ -150,7 +150,7 @@ namespace DotNetOpenAuth.Test.Messaging {
/// </remarks>
[TestMethod, ExpectedException(typeof(NotImplementedException), "SendDirectMessageResponse")]
public void SendDirectMessageResponse() {
- IProtocolMessage message = new TestMessage {
+ IProtocolMessage message = new TestDirectedMessage {
Age = 15,
Name = "Andrew",
Location = new Uri("http://host/path"),
@@ -232,14 +232,14 @@ namespace DotNetOpenAuth.Test.Messaging {
[TestMethod, ExpectedException(typeof(ProtocolException))]
public void MessageExpirationWithoutTamperResistance() {
new TestChannel(
- new TestMessageTypeProvider(),
+ new TestMessageFactory(),
new StandardExpirationBindingElement());
}
[TestMethod, ExpectedException(typeof(ProtocolException))]
public void TooManyBindingElementsProvidingSameProtection() {
new TestChannel(
- new TestMessageTypeProvider(),
+ new TestMessageFactory(),
new MockSigningBindingElement(),
new MockSigningBindingElement());
}
@@ -253,7 +253,7 @@ namespace DotNetOpenAuth.Test.Messaging {
IChannelBindingElement expire = new StandardExpirationBindingElement();
Channel channel = new TestChannel(
- new TestMessageTypeProvider(),
+ new TestMessageFactory(),
sign,
replay,
expire,
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
index 62b6393..3bcca10 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessageSerializerTests.cs
@@ -65,7 +65,8 @@ namespace DotNetOpenAuth.Test.Messaging {
fields["Name"] = "Andrew";
fields["age"] = "15";
fields["Timestamp"] = "1990-01-01T00:00:00";
- var actual = (Mocks.TestMessage)serializer.Deserialize(fields, null);
+ var actual = new Mocks.TestDirectedMessage();
+ serializer.Deserialize(fields, actual);
Assert.AreEqual(15, actual.Age);
Assert.AreEqual("Andrew", actual.Name);
Assert.AreEqual(DateTime.Parse("1/1/1990"), actual.Timestamp);
@@ -94,7 +95,8 @@ namespace DotNetOpenAuth.Test.Messaging {
fields["SecondDerivedElement"] = "second";
fields["explicit"] = "explicitValue";
fields["private"] = "privateValue";
- var actual = (Mocks.TestDerivedMessage)serializer.Deserialize(fields, null);
+ var actual = new Mocks.TestDerivedMessage();
+ serializer.Deserialize(fields, actual);
Assert.AreEqual(15, actual.Age);
Assert.AreEqual("Andrew", actual.Name);
Assert.AreEqual("first", actual.TheFirstDerivedElement);
@@ -113,7 +115,8 @@ namespace DotNetOpenAuth.Test.Messaging {
// Add some field that is not recognized by the class. This simulates a querystring with
// more parameters than are actually interesting to the protocol message.
fields["someExtraField"] = "asdf";
- var actual = (Mocks.TestMessage)serializer.Deserialize(fields, null);
+ var actual = new Mocks.TestDirectedMessage();
+ serializer.Deserialize(fields, actual);
Assert.AreEqual(15, actual.Age);
Assert.AreEqual("Andrew", actual.Name);
Assert.IsNull(actual.EmptyMember);
@@ -121,10 +124,11 @@ namespace DotNetOpenAuth.Test.Messaging {
[TestMethod, ExpectedException(typeof(ProtocolException))]
public void DeserializeInvalidMessage() {
- var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage));
+ IProtocolMessage message = new Mocks.TestDirectedMessage();
+ var serializer = MessageSerializer.Get(message.GetType());
var fields = GetStandardTestFields(FieldFill.AllRequired);
fields["age"] = "-1"; // Set an disallowed value.
- serializer.Deserialize(fields, null);
+ serializer.Deserialize(fields, message);
}
}
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
index acaf4a0..0a11a75 100644
--- a/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/MessagingTestBase.cs
@@ -26,7 +26,7 @@ namespace DotNetOpenAuth.Test {
None,
/// <summary>
- /// Only enough fields for the <see cref="TestMessageTypeProvider"/>
+ /// Only enough fields for the <see cref="TestMessageFactory"/>
/// to identify the message are included.
/// </summary>
IdentifiableButNotAllRequired,
@@ -105,7 +105,7 @@ namespace DotNetOpenAuth.Test {
replay = true;
}
- var typeProvider = new TestMessageTypeProvider(signing, expiration, replay);
+ var typeProvider = new TestMessageFactory(signing, expiration, replay);
return new TestChannel(typeProvider, bindingElements.ToArray());
}
@@ -128,7 +128,7 @@ namespace DotNetOpenAuth.Test {
}
internal static TestMessage GetStandardTestMessage(FieldFill fill) {
- TestMessage message = new TestMessage();
+ TestMessage message = new TestDirectedMessage();
GetStandardTestMessage(fill, message);
return message;
}
diff --git a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
index a2e3eaa..02aea64 100644
--- a/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/ProtocolExceptionTests.cs
@@ -32,7 +32,7 @@ namespace DotNetOpenAuth.Test.Messaging {
[TestMethod]
public void CtorWithProtocolMessage() {
- IProtocolMessage request = new Mocks.TestMessage();
+ IProtocolMessage request = new Mocks.TestDirectedMessage();
Uri receiver = new Uri("http://receiver");
ProtocolException ex = new ProtocolException("some error occurred", request, receiver);
IDirectedProtocolMessage msg = (IDirectedProtocolMessage)ex;
diff --git a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
index 039743e..0175173 100644
--- a/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
+++ b/src/DotNetOpenAuth.Test/Messaging/Reflection/MessageDictionaryTests.cs
@@ -22,7 +22,7 @@ namespace DotNetOpenAuth.Test.Messaging.Reflection {
public override void SetUp() {
base.SetUp();
- this.message = new Mocks.TestMessage();
+ this.message = new Mocks.TestDirectedMessage();
}
[TestMethod, ExpectedException(typeof(ArgumentNullException))]