summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-08-18 22:15:43 -0600
committerAndrew Arnott <andrewarnott@gmail.com>2008-08-18 22:15:43 -0600
commit097276044aff2c9474b2aea7e602a5d4aec423bb (patch)
treebff359e1e3441192ce3f7f37b1a65ca6977244a1 /src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs
parente22b1b3ae37dd6ef2cdd3196c9e6fb3f9bb0bebc (diff)
downloadDotNetOpenAuth-097276044aff2c9474b2aea7e602a5d4aec423bb.zip
DotNetOpenAuth-097276044aff2c9474b2aea7e602a5d4aec423bb.tar.gz
DotNetOpenAuth-097276044aff2c9474b2aea7e602a5d4aec423bb.tar.bz2
Added ability for RP and OP to filter based on OpenID version of the remote party.
Fixes Google Code Issue 127.
Diffstat (limited to 'src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs')
-rw-r--r--src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs b/src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs
index 2ba3e8c..ff075c3 100644
--- a/src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs
+++ b/src/DotNetOpenId.Test/Provider/OpenIdProviderTest.cs
@@ -33,31 +33,31 @@ namespace DotNetOpenId.Test.Provider {
[Test]
public void CtorNonDefault() {
- OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
+ OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
providerEndpoint, emptyRequestUrl, new NameValueCollection());
}
[Test, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullStore() {
- OpenIdProvider op = new OpenIdProvider(null, providerEndpoint,
+ OpenIdProvider op = new OpenIdProvider(null, providerEndpoint,
emptyRequestUrl, new NameValueCollection());
}
[Test, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullEndpoint() {
- OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
+ OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
null, emptyRequestUrl, new NameValueCollection());
}
[Test, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullRequestUrl() {
- OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
+ OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
providerEndpoint, null, new NameValueCollection());
}
[Test, ExpectedException(typeof(ArgumentNullException))]
public void CtorNullQuery() {
- OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
+ OpenIdProvider op = new OpenIdProvider(new ProviderMemoryStore(),
providerEndpoint, emptyRequestUrl, null);
}
@@ -95,5 +95,31 @@ namespace DotNetOpenId.Test.Provider {
var rpResponse = TestSupport.CreateRelyingPartyResponse(TestSupport.RelyingPartyStore, assertion);
Assert.AreEqual(AuthenticationStatus.Failed, rpResponse.Status);
}
+
+ /// <summary>
+ /// Verifies that OP will properly report RP versions in requests.
+ /// </summary>
+ [Test]
+ public void RelyingPartyVersion() {
+ Protocol simulatedVersion = Protocol.v11;
+ UriIdentifier id = TestSupport.GetIdentityUrl(TestSupport.Scenarios.AutoApproval, simulatedVersion.ProtocolVersion);
+
+ // make up some OpenID 1.x looking message...
+ NameValueCollection rp10Request = new NameValueCollection();
+ rp10Request[simulatedVersion.openid.mode] = simulatedVersion.Args.Mode.checkid_immediate;
+ rp10Request[simulatedVersion.openid.identity] = id;
+ rp10Request[simulatedVersion.openid.return_to] = TestSupport.ReturnTo.AbsoluteUri;
+ rp10Request[simulatedVersion.openid.Realm] = TestSupport.Realm;
+
+ OpenIdProvider op = TestSupport.CreateProvider(rp10Request);
+ Assert.AreEqual(simulatedVersion.ProtocolVersion, op.Request.RelyingPartyVersion);
+
+ // Verify V2.0 reporting.
+ var rp20Request = TestSupport.CreateRelyingPartyRequest(true, TestSupport.Scenarios.AutoApproval, ProtocolVersion.V20);
+ TestSupport.CreateRelyingPartyResponseThroughProvider(rp20Request, opReq => {
+ Assert.AreEqual(ProtocolVersion.V20, opReq.RelyingPartyVersion);
+ opReq.IsAuthenticated = true;
+ });
+ }
}
}