summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-12-22 17:59:19 -0800
committerAndrew <andrewarnott@gmail.com>2008-12-22 17:59:19 -0800
commit3ee3885ca827f8af889bd4908a32d034a383e5c0 (patch)
tree72e3597053a75f70152c9afd05185d6b8d31775a
parent44d476e0ed1278ead44d89ef74e631cecee186b9 (diff)
downloadDotNetOpenAuth-3ee3885ca827f8af889bd4908a32d034a383e5c0.zip
DotNetOpenAuth-3ee3885ca827f8af889bd4908a32d034a383e5c0.tar.gz
DotNetOpenAuth-3ee3885ca827f8af889bd4908a32d034a383e5c0.tar.bz2
Wrapped up the sreg tests for now.
-rw-r--r--src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj4
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs68
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs (renamed from src/DotNetOpenAuth.Test/OpenId/Extensions/ClaimsResponseTests.cs)60
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistrationTests.cs90
-rw-r--r--src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs3
-rw-r--r--src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs4
6 files changed, 110 insertions, 119 deletions
diff --git a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
index 997f7ef..3e96069 100644
--- a/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
+++ b/src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj
@@ -108,9 +108,9 @@
<Compile Include="OpenId\ChannelElements\ExtensionsBindingElementTests.cs" />
<Compile Include="OpenId\ChannelElements\KeyValueFormEncodingTests.cs" />
<Compile Include="Messaging\Bindings\StandardReplayProtectionBindingElementTests.cs" />
- <None Include="OpenId\Extensions\ClaimsResponseTests.cs" />
+ <Compile Include="OpenId\Extensions\SimpleRegistration\ClaimsResponseTests.cs" />
<Compile Include="OpenId\Extensions\ExtensionTestBase.cs" />
- <Compile Include="OpenId\Extensions\SimpleRegistrationTests.cs" />
+ <Compile Include="OpenId\Extensions\SimpleRegistration\ClaimsRequestTests.cs" />
<Compile Include="OpenId\IdentifierTests.cs" />
<Compile Include="OpenId\Messages\AssociateDiffieHellmanRequestTests.cs" />
<Compile Include="OpenId\Messages\AssociateRequestTests.cs" />
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs
new file mode 100644
index 0000000..673d11e
--- /dev/null
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsRequestTests.cs
@@ -0,0 +1,68 @@
+//-----------------------------------------------------------------------
+// <copyright file="ClaimsRequestTests.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.Test.OpenId.Extensions {
+ using System;
+ using System.Collections.Generic;
+ using System.Globalization;
+ using System.Linq;
+ using System.Text;
+ using DotNetOpenAuth.OpenId;
+ using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
+ using Microsoft.VisualStudio.TestTools.UnitTesting;
+ using DotNetOpenAuth.OpenId.Messages;
+ using DotNetOpenAuth.Messaging.Reflection;
+
+ [TestClass]
+ public class ClaimsRequestTests : OpenIdTestBase {
+ [TestMethod]
+ public void CreateResponse() {
+ // some unofficial type URIs...
+ ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.0");
+ ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.1");
+ // and the official one.
+ ParameterizedTypeUriPreservedTest("http://openid.net/extensions/sreg/1.1");
+ }
+
+ [TestMethod]
+ public void RequiredOptionalLists() {
+ ClaimsRequest req = new ClaimsRequest();
+ MessageDictionary dictionary = new MessageDictionary(req);
+ Assert.AreEqual(string.Empty, dictionary["required"]);
+ Assert.AreEqual(string.Empty, dictionary["optional"]);
+
+ req.BirthDate = DemandLevel.Request;
+ req.Nickname = DemandLevel.Require;
+ Assert.AreEqual("dob", dictionary["optional"]);
+ Assert.AreEqual("nickname", dictionary["required"]);
+
+ req.PostalCode = DemandLevel.Require;
+ req.Gender = DemandLevel.Request;
+ Assert.AreEqual("dob,gender", dictionary["optional"]);
+ Assert.AreEqual("nickname,postcode", dictionary["required"]);
+ }
+
+ [TestMethod]
+ public void EqualityTests() {
+ ClaimsRequest req1 = new ClaimsRequest();
+ ClaimsRequest req2 = new ClaimsRequest();
+ Assert.AreEqual(req1, req2);
+
+ req1.BirthDate = DemandLevel.Request;
+ Assert.AreNotEqual(req1, req2);
+
+ req2.BirthDate = DemandLevel.Request;
+ req1.Country = DemandLevel.Request;
+ Assert.AreNotEqual(req1, req2);
+ }
+
+ private void ParameterizedTypeUriPreservedTest(string typeUri) {
+ ClaimsRequest request = new ClaimsRequest(typeUri);
+ ClaimsResponse response = request.CreateResponse();
+ Assert.AreEqual(typeUri, ((IOpenIdMessageExtension)response).TypeUri);
+ }
+ }
+}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ClaimsResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
index 2e18b58..26dd4c8 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ClaimsResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
@@ -14,6 +14,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
+ using System.Globalization;
[TestClass]
public class ClaimsResponseTests {
@@ -37,7 +38,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.IsNull(response.MailAddress);
}
- [TestMethod]
+ [TestMethod, Ignore] // serialization no longer supported
public void BinarySerialization() {
ClaimsResponse fields = getFilledData();
MemoryStream ms = new MemoryStream();
@@ -49,7 +50,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreEqual(fields, fields2);
}
- [TestMethod]
+ [TestMethod, Ignore] // serialization no longer supported
public void XmlSerialization() {
ClaimsResponse fields = getFilledData();
MemoryStream ms = new MemoryStream();
@@ -109,26 +110,6 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
Assert.AreNotEqual(fields1, fields2);
}
- void parameterizedPreserveVersionFromRequest(string versionTypeUri) {
- Dictionary<string, string> fields = new Dictionary<string, string>{
- {"optional", "nickname"},
- };
- var req = new ClaimsRequest();
- Assert.IsTrue(((IExtensionRequest)req).Deserialize(fields, null, versionTypeUri));
- Assert.AreEqual(DemandLevel.Request, req.Nickname);
- ClaimsResponse resp = req.CreateResponse();
- Assert.AreEqual(versionTypeUri, ((IExtensionResponse)resp).TypeUri);
- }
-
- [TestMethod]
- public void PreserveVersionFromRequest() {
- // some unofficial type URIs...
- parameterizedPreserveVersionFromRequest("http://openid.net/sreg/1.0");
- parameterizedPreserveVersionFromRequest("http://openid.net/sreg/1.1");
- // and the official one.
- parameterizedPreserveVersionFromRequest("http://openid.net/extensions/sreg/1.1");
- }
-
//[TestMethod]
public void AddToResponse() {
// TODO
@@ -138,5 +119,40 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
public void ReadFromResponse() {
// TODO
}
+
+ [TestMethod]
+ public void Birthdates() {
+ var response = new ClaimsResponse();
+ // Verify that they both start out as null
+ Assert.IsNull(response.BirthDateRaw);
+ Assert.IsFalse(response.BirthDate.HasValue);
+
+ // Verify that null can be set.
+ response.BirthDate = null;
+ response.BirthDateRaw = null;
+ Assert.IsNull(response.BirthDateRaw);
+ Assert.IsFalse(response.BirthDate.HasValue);
+
+ // Verify that the strong-typed BirthDate property can be set and that it affects the raw property.
+ response.BirthDate = DateTime.Parse("April 4, 1984");
+ Assert.AreEqual(4, response.BirthDate.Value.Month);
+ Assert.AreEqual("1984-04-04", response.BirthDateRaw);
+
+ // Verify that the raw property can be set with a complete birthdate and that it affects the strong-typed property.
+ response.BirthDateRaw = "1998-05-08";
+ Assert.AreEqual("1998-05-08", response.BirthDateRaw);
+ Assert.AreEqual(DateTime.Parse("May 8, 1998", CultureInfo.InvariantCulture), response.BirthDate);
+
+ // Verify that an partial raw birthdate works, and sets the strong-typed property to null since it cannot be represented.
+ response.BirthDateRaw = "2000-00-00";
+ Assert.AreEqual("2000-00-00", response.BirthDateRaw);
+ Assert.IsFalse(response.BirthDate.HasValue);
+ }
+
+ [TestMethod, ExpectedException(typeof(ArgumentException))]
+ public void InvalidRawBirthdate() {
+ var response = new ClaimsResponse();
+ response.BirthDateRaw = "2008";
+ }
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistrationTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistrationTests.cs
deleted file mode 100644
index 055bb80..0000000
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistrationTests.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-//-----------------------------------------------------------------------
-// <copyright file="SimpleRegistrationTests.cs" company="Andrew Arnott">
-// Copyright (c) Andrew Arnott. All rights reserved.
-// </copyright>
-//-----------------------------------------------------------------------
-
-namespace DotNetOpenAuth.Test.OpenId.Extensions {
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using System.Linq;
- using System.Text;
- using DotNetOpenAuth.OpenId;
- using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
-
- [TestClass]
- public class SimpleRegistrationTests : OpenIdTestBase {
- [TestMethod]
- public void Simple() {
- ClaimsRequest request = new ClaimsRequest() { Nickname = DemandLevel.Request };
- ClaimsResponse response = new ClaimsResponse(Constants.sreg_ns);
- response.Nickname = "Andrew";
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
- }
-
- ////[TestMethod]
- ////public void None() {
- //// var response = ParameterizedTest<ClaimsResponse>(
- //// TestSupport.Scenarios.ExtensionFullCooperation, Version, null);
- //// Assert.IsNull(response);
- ////}
-
- ////[TestMethod]
- ////public void Full() {
- //// var request = new ClaimsRequest();
- //// request.FullName = DemandLevel.Request;
- //// request.Email = DemandLevel.Require;
- //// var response = ParameterizedTest<ClaimsResponse>(
- //// TestSupport.Scenarios.ExtensionFullCooperation, Version, request);
- //// Assert.AreEqual("Andrew Arnott", response.FullName);
- //// Assert.AreEqual("andrewarnott@gmail.com", response.Email);
- ////}
- ////[TestMethod]
- ////public void Partial() {
- //// var request = new ClaimsRequest();
- //// request.FullName = DemandLevel.Request;
- //// request.Email = DemandLevel.Require;
- //// var response = ParameterizedTest<ClaimsResponse>(
- //// TestSupport.Scenarios.ExtensionPartialCooperation, Version, request);
- //// Assert.IsNull(response.FullName);
- //// Assert.AreEqual("andrewarnott@gmail.com", response.Email);
- ////}
-
- ////[TestMethod]
- ////public void Birthdates() {
- //// var response = new ClaimsResponse();
- //// // Verify that they both start out as null
- //// Assert.IsNull(response.BirthDateRaw);
- //// Assert.IsFalse(response.BirthDate.HasValue);
-
- //// // Verify that null can be set.
- //// response.BirthDate = null;
- //// response.BirthDateRaw = null;
- //// Assert.IsNull(response.BirthDateRaw);
- //// Assert.IsFalse(response.BirthDate.HasValue);
-
- //// // Verify that the strong-typed BirthDate property can be set and that it affects the raw property.
- //// response.BirthDate = DateTime.Parse("April 4, 1984");
- //// Assert.AreEqual(4, response.BirthDate.Value.Month);
- //// Assert.AreEqual("1984-04-04", response.BirthDateRaw);
-
- //// // Verify that the raw property can be set with a complete birthdate and that it affects the strong-typed property.
- //// response.BirthDateRaw = "1998-05-08";
- //// Assert.AreEqual("1998-05-08", response.BirthDateRaw);
- //// Assert.AreEqual(DateTime.Parse("May 8, 1998", CultureInfo.InvariantCulture), response.BirthDate);
-
- //// // Verify that an partial raw birthdate works, and sets the strong-typed property to null since it cannot be represented.
- //// response.BirthDateRaw = "2000-00-00";
- //// Assert.AreEqual("2000-00-00", response.BirthDateRaw);
- //// Assert.IsFalse(response.BirthDate.HasValue);
- ////}
-
- ////[TestMethod, ExpectedException(typeof(ArgumentException))]
- ////public void InvalidRawBirthdate() {
- //// var response = new ClaimsResponse();
- //// response.BirthDateRaw = "2008";
- ////}
- }
-}
diff --git a/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs b/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
index 0dabde8..34b5658 100644
--- a/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
+++ b/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsRequest.cs
@@ -17,7 +17,6 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// <summary>
/// Carries the request/require/none demand state of the simple registration fields.
/// </summary>
-#pragma warning disable 0659, 0661
public sealed class ClaimsRequest : ExtensionBase {
/// <summary>
/// The factory method that may be used in deserialization of this message.
@@ -242,7 +241,7 @@ TimeZone = '{8}'";
/// the OpenId specification for field names, omitting the 'openid.sreg' prefix.
/// </param>
/// <param name="requestLevel">The none/request/require state of the listed fields.</param>
- internal void SetProfileRequestFromList(ICollection<string> fieldNames, DemandLevel requestLevel) {
+ private void SetProfileRequestFromList(ICollection<string> fieldNames, DemandLevel requestLevel) {
foreach (string field in fieldNames) {
switch (field) {
case Constants.nickname:
diff --git a/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs b/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
index 2111848..033b531 100644
--- a/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
+++ b/src/DotNetOpenAuth/OpenId/Extensions/SimpleRegistration/ClaimsResponse.cs
@@ -16,7 +16,6 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId.Messages;
-#pragma warning disable 0659, 0661
/// <summary>
/// A struct storing Simple Registration field values describing an
/// authenticating user.
@@ -61,8 +60,7 @@ namespace DotNetOpenAuth.OpenId.Extensions.SimpleRegistration {
/// <summary>
/// Initializes a new instance of the <see cref="ClaimsResponse"/> class.
/// </summary>
- [Obsolete("Use ClaimsRequest.CreateResponse() instead.")]
- public ClaimsResponse()
+ internal ClaimsResponse()
: this(Constants.sreg_ns) {
}