summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-03-24 20:00:42 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2013-03-24 20:00:42 -0700
commit9dbf195277d3cc31375eadbb429a5a0b077bc791 (patch)
tree4576bfd53fb4a09fb764b6732cf0b89ec4ef84d2 /src/DotNetOpenAuth.Test
parent982dc39402cdce39be4e1d3bb9e8c3ccf92348ed (diff)
downloadDotNetOpenAuth-9dbf195277d3cc31375eadbb429a5a0b077bc791.zip
DotNetOpenAuth-9dbf195277d3cc31375eadbb429a5a0b077bc791.tar.gz
DotNetOpenAuth-9dbf195277d3cc31375eadbb429a5a0b077bc791.tar.bz2
Fixes RequireSsl in OpenID identifier discovery.
Makes UntrustedWebRequestHandler a DelegatingHandler. Now 21 failures.
Diffstat (limited to 'src/DotNetOpenAuth.Test')
-rw-r--r--src/DotNetOpenAuth.Test/MockingHostFactories.cs11
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs57
2 files changed, 39 insertions, 29 deletions
diff --git a/src/DotNetOpenAuth.Test/MockingHostFactories.cs b/src/DotNetOpenAuth.Test/MockingHostFactories.cs
index d9f6b02..ae10435 100644
--- a/src/DotNetOpenAuth.Test/MockingHostFactories.cs
+++ b/src/DotNetOpenAuth.Test/MockingHostFactories.cs
@@ -11,6 +11,9 @@ namespace DotNetOpenAuth.Test {
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
+
+ using DotNetOpenAuth.OpenId;
+
using Validation;
internal class MockingHostFactories : IHostFactories {
@@ -30,10 +33,16 @@ namespace DotNetOpenAuth.Test {
public bool AllowAutoRedirects { get; set; }
+ public bool InstallUntrustedWebReqestHandler { get; set; }
+
public HttpMessageHandler CreateHttpMessageHandler() {
var forwardingMessageHandler = new ForwardingMessageHandler(this.handlers, this);
var cookieDelegatingHandler = new CookieDelegatingHandler(forwardingMessageHandler, this.CookieContainer);
- if (this.AllowAutoRedirects) {
+ if (this.InstallUntrustedWebReqestHandler) {
+ var untrustedHandler = new UntrustedWebRequestHandler(cookieDelegatingHandler);
+ untrustedHandler.AllowAutoRedirect = this.AllowAutoRedirects;
+ return untrustedHandler;
+ } else if (this.AllowAutoRedirects) {
return new AutoRedirectHandler(cookieDelegatingHandler);
} else {
return cookieDelegatingHandler;
diff --git a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
index fed2402..e6b878a 100644
--- a/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/OpenIdTestBase.cs
@@ -79,6 +79,7 @@ namespace DotNetOpenAuth.Test.OpenId {
this.AutoProviderScenario = Scenarios.AutoApproval;
Identifier.EqualityOnStrings = true;
+ this.HostFactories.InstallUntrustedWebReqestHandler = true;
}
[TearDown]
@@ -302,37 +303,37 @@ namespace DotNetOpenAuth.Test.OpenId {
return await op.Channel.PrepareResponseAsync(response);
});
- {
- var rp = this.CreateRelyingParty();
- ExtensionTestUtilities.RegisterExtension(rp.Channel, Mocks.MockOpenIdExtension.Factory);
- var requestBase = new CheckIdRequest(protocol.Version, OpenIdTestBase.OPUri, AuthenticationRequestMode.Immediate);
- OpenIdTestBase.StoreAssociation(rp, OpenIdTestBase.OPUri, association);
- requestBase.AssociationHandle = association.Handle;
- requestBase.ClaimedIdentifier = "http://claimedid";
- requestBase.LocalIdentifier = "http://localid";
- requestBase.ReturnTo = OpenIdTestBase.RPUri;
-
- foreach (IOpenIdMessageExtension extension in requests) {
- requestBase.Extensions.Add(extension);
- }
+ {
+ var rp = this.CreateRelyingParty();
+ ExtensionTestUtilities.RegisterExtension(rp.Channel, Mocks.MockOpenIdExtension.Factory);
+ var requestBase = new CheckIdRequest(protocol.Version, OpenIdTestBase.OPUri, AuthenticationRequestMode.Immediate);
+ OpenIdTestBase.StoreAssociation(rp, OpenIdTestBase.OPUri, association);
+ requestBase.AssociationHandle = association.Handle;
+ requestBase.ClaimedIdentifier = "http://claimedid";
+ requestBase.LocalIdentifier = "http://localid";
+ requestBase.ReturnTo = OpenIdTestBase.RPUri;
+
+ foreach (IOpenIdMessageExtension extension in requests) {
+ requestBase.Extensions.Add(extension);
+ }
- var redirectingRequest = await rp.Channel.PrepareResponseAsync(requestBase);
- Uri redirectingResponseUri;
- this.HostFactories.AllowAutoRedirects = false;
- using (var httpClient = rp.Channel.HostFactories.CreateHttpClient()) {
- using (var redirectingResponse = await httpClient.GetAsync(redirectingRequest.Headers.Location)) {
- Assert.AreEqual(HttpStatusCode.Found, redirectingResponse.StatusCode);
- redirectingResponseUri = redirectingResponse.Headers.Location;
- }
+ var redirectingRequest = await rp.Channel.PrepareResponseAsync(requestBase);
+ Uri redirectingResponseUri;
+ this.HostFactories.AllowAutoRedirects = false;
+ using (var httpClient = rp.Channel.HostFactories.CreateHttpClient()) {
+ using (var redirectingResponse = await httpClient.GetAsync(redirectingRequest.Headers.Location)) {
+ Assert.AreEqual(HttpStatusCode.Found, redirectingResponse.StatusCode);
+ redirectingResponseUri = redirectingResponse.Headers.Location;
}
-
- var response =
- await
- rp.Channel.ReadFromRequestAsync<PositiveAssertionResponse>(
- new HttpRequestMessage(HttpMethod.Get, redirectingResponseUri), CancellationToken.None);
- var receivedResponses = response.Extensions.Cast<IOpenIdMessageExtension>();
- CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(responses.ToArray(), receivedResponses.ToArray());
}
+
+ var response =
+ await
+ rp.Channel.ReadFromRequestAsync<PositiveAssertionResponse>(
+ new HttpRequestMessage(HttpMethod.Get, redirectingResponseUri), CancellationToken.None);
+ var receivedResponses = response.Extensions.Cast<IOpenIdMessageExtension>();
+ CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(responses.ToArray(), receivedResponses.ToArray());
+ }
}
}
}