summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs')
-rw-r--r--src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs b/src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs
index c216fd1..ab28784 100644
--- a/src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs
+++ b/src/DotNetOpenId.Test/Extensions/AttributeExchangeTests.cs
@@ -9,6 +9,9 @@ using DotNetOpenId.Extensions;
namespace DotNetOpenId.Test.Extensions {
[TestFixture]
public class AttributeExchangeTests : ExtensionTestBase {
+ const string nicknameTypeUri = "http://axschema.org/namePerson/friendly";
+ const string emailTypeUri = "http://axschema.org/contact/email";
+
[Test]
public void None() {
var fetchResponse = ParameterizedTest<AttributeExchangeFetchResponse>(
@@ -22,9 +25,36 @@ namespace DotNetOpenId.Test.Extensions {
[Test]
public void Fetch() {
var request = new AttributeExchangeFetchRequest();
+ request.AddAttribute(new AttributeRequest { TypeUri = nicknameTypeUri });
+ request.AddAttribute(new AttributeRequest { TypeUri = emailTypeUri, Count = int.MaxValue });
+ var response = ParameterizedTest<AttributeExchangeFetchResponse>(
+ TestSupport.GetIdentityUrl(TestSupport.Scenarios.ExtensionFullCooperation, Version), request);
+ Assert.IsNotNull(response);
+ var att = response.GetAttribute(nicknameTypeUri);
+ Assert.IsNotNull(att);
+ Assert.AreEqual(nicknameTypeUri, att.TypeUri);
+ Assert.AreEqual(1, att.Values.Length);
+ Assert.AreEqual("Andrew", att.Values[0]);
+ att = response.GetAttribute(emailTypeUri);
+ Assert.IsNotNull(att);
+ Assert.AreEqual(emailTypeUri, att.TypeUri);
+ Assert.AreEqual(2, att.Values.Length);
+ Assert.AreEqual("a@a.com", att.Values[0]);
+ Assert.AreEqual("b@b.com", att.Values[1]);
+ }
+
+ [Test]
+ public void FetchLimitEmails() {
+ var request = new AttributeExchangeFetchRequest();
+ request.AddAttribute(new AttributeRequest { TypeUri = emailTypeUri, Count = 1 });
var response = ParameterizedTest<AttributeExchangeFetchResponse>(
TestSupport.GetIdentityUrl(TestSupport.Scenarios.ExtensionFullCooperation, Version), request);
Assert.IsNotNull(response);
+ var att = response.GetAttribute(emailTypeUri);
+ Assert.IsNotNull(att);
+ Assert.AreEqual(emailTypeUri, att.TypeUri);
+ Assert.AreEqual(1, att.Values.Length);
+ Assert.AreEqual("a@a.com", att.Values[0]);
}
[Test]