1
//-----------------------------------------------------------------------
2 // <copyright file="ClaimsRequestTests.cs" company="Andrew Arnott">
3 // Copyright (c) Andrew Arnott. All rights reserved.
5 //-----------------------------------------------------------------------
7 namespace DotNetOpenAuth
.Test
.OpenId
.Extensions
{
9 using System
.Collections
.Generic
;
10 using System
.Globalization
;
13 using DotNetOpenAuth
.OpenId
;
14 using DotNetOpenAuth
.OpenId
.Extensions
.SimpleRegistration
;
15 using Microsoft
.VisualStudio
.TestTools
.UnitTesting
;
16 using DotNetOpenAuth
.OpenId
.Messages
;
17 using DotNetOpenAuth
.Messaging
.Reflection
;
20 public class ClaimsRequestTests
: OpenIdTestBase
{
22 public void CreateResponse() {
23 // some unofficial type URIs...
24 ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.0");
25 ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.1");
26 // and the official one.
27 ParameterizedTypeUriPreservedTest("http://openid.net/extensions/sreg/1.1");
31 public void RequiredOptionalLists() {
32 ClaimsRequest req
= new ClaimsRequest();
33 MessageDictionary dictionary
= new MessageDictionary(req
);
34 Assert
.AreEqual(string.Empty
, dictionary
["required"]);
35 Assert
.AreEqual(string.Empty
, dictionary
["optional"]);
37 req
.BirthDate
= DemandLevel
.Request
;
38 req
.Nickname
= DemandLevel
.Require
;
39 Assert
.AreEqual("dob", dictionary
["optional"]);
40 Assert
.AreEqual("nickname", dictionary
["required"]);
42 req
.PostalCode
= DemandLevel
.Require
;
43 req
.Gender
= DemandLevel
.Request
;
44 Assert
.AreEqual("dob,gender", dictionary
["optional"]);
45 Assert
.AreEqual("nickname,postcode", dictionary
["required"]);
49 public void EqualityTests() {
50 ClaimsRequest req1
= new ClaimsRequest();
51 ClaimsRequest req2
= new ClaimsRequest();
52 Assert
.AreEqual(req1
, req2
);
54 req1
.BirthDate
= DemandLevel
.Request
;
55 Assert
.AreNotEqual(req1
, req2
);
57 req2
.BirthDate
= DemandLevel
.Request
;
58 req1
.Country
= DemandLevel
.Request
;
59 Assert
.AreNotEqual(req1
, req2
);
62 private void ParameterizedTypeUriPreservedTest(string typeUri
) {
63 ClaimsRequest request
= new ClaimsRequest(typeUri
);
64 ClaimsResponse response
= request
.CreateResponse();
65 Assert
.AreEqual(typeUri
, ((IOpenIdMessageExtension
)response
).TypeUri
);