summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/OpenId/Extensions
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-03-17 18:12:40 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2013-03-17 18:12:40 -0700
commit2d2ef93da49ae2f9963e83b67b845fc41824f229 (patch)
tree60079f2f501159f5a504aebe5c2fa7072f124cce /src/DotNetOpenAuth.Test/OpenId/Extensions
parent6726f043f82d490d89c8403085b1d3d43a88d6c8 (diff)
downloadDotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.zip
DotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.tar.gz
DotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.tar.bz2
Lots more test build break fixes.
Diffstat (limited to 'src/DotNetOpenAuth.Test/OpenId/Extensions')
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs12
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs31
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs42
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs2
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs10
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs5
6 files changed, 59 insertions, 43 deletions
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
index ab0a10b..6f46daa 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
@@ -5,6 +5,8 @@
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.Test.OpenId.Extensions {
+ using System.Threading.Tasks;
+
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using NUnit.Framework;
@@ -17,7 +19,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
private int incrementingAttributeValue = 1;
[Test]
- public void Fetch() {
+ public async Task Fetch() {
var request = new FetchRequest();
request.Attributes.Add(new AttributeRequest(NicknameTypeUri));
request.Attributes.Add(new AttributeRequest(EmailTypeUri, false, int.MaxValue));
@@ -26,11 +28,11 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
response.Attributes.Add(new AttributeValues(NicknameTypeUri, "Andrew"));
response.Attributes.Add(new AttributeValues(EmailTypeUri, "a@a.com", "b@b.com"));
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { response });
}
[Test]
- public void Store() {
+ public async Task Store() {
var request = new StoreRequest();
var newAttribute = new AttributeValues(
IncrementingAttribute,
@@ -41,13 +43,13 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var successResponse = new StoreResponse();
successResponse.Succeeded = true;
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { successResponse });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { successResponse });
var failureResponse = new StoreResponse();
failureResponse.Succeeded = false;
failureResponse.FailureReason = "Some error";
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { failureResponse });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { failureResponse });
}
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs
index 8d0e6ff..f2928f3 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs
@@ -8,6 +8,9 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System;
using System.Collections.Generic;
using System.Linq;
+ using System.Net.Http;
+ using System.Threading.Tasks;
+
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.OpenId;
@@ -30,7 +33,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// This method relies on the extension objects' Equals methods to verify
/// accurate transport. The Equals methods should be verified by separate tests.
/// </remarks>
- internal static void Roundtrip(
+ internal static async Task RoundtripAsync(
Protocol protocol,
IEnumerable<IOpenIdMessageExtension> requests,
IEnumerable<IOpenIdMessageExtension> responses) {
@@ -38,8 +41,8 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var cryptoKeyStore = new MemoryCryptoKeyStore();
var associationStore = new ProviderAssociationHandleEncoder(cryptoKeyStore);
Association association = HmacShaAssociationProvider.Create(protocol, protocol.Args.SignatureAlgorithm.Best, AssociationRelyingPartyType.Smart, associationStore, securitySettings);
- var coordinator = new OpenIdCoordinator(
- rp => {
+ await CoordinatorBase.RunAsync(
+ CoordinatorBase.RelyingPartyDriver(async (rp, ct) => {
RegisterExtension(rp.Channel, Mocks.MockOpenIdExtension.Factory);
var requestBase = new CheckIdRequest(protocol.Version, OpenIdTestBase.OPUri, AuthenticationRequestMode.Immediate);
OpenIdTestBase.StoreAssociation(rp, OpenIdTestBase.OPUri, association);
@@ -52,17 +55,24 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
requestBase.Extensions.Add(extension);
}
- rp.Channel.Respond(requestBase);
- var response = rp.Channel.ReadFromRequest<PositiveAssertionResponse>();
+ var redirectingRequest = await rp.Channel.PrepareResponseAsync(requestBase);
+ Uri redirectingResponseUri;
+ using (var httpClient = rp.Channel.HostFactories.CreateHttpClient()) {
+ using (var redirectingResponse = await httpClient.GetAsync(redirectingRequest.Headers.Location, ct)) {
+ redirectingResponse.EnsureSuccessStatusCode();
+ redirectingResponseUri = redirectingResponse.Headers.Location;
+ }
+ }
+ var response = await rp.Channel.ReadFromRequestAsync<PositiveAssertionResponse>(new HttpRequestMessage(HttpMethod.Get, redirectingResponseUri), ct);
var receivedResponses = response.Extensions.Cast<IOpenIdMessageExtension>();
CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(responses.ToArray(), receivedResponses.ToArray());
- },
- op => {
+ }),
+ CoordinatorBase.HandleProvider(async (op, req, ct) => {
RegisterExtension(op.Channel, Mocks.MockOpenIdExtension.Factory);
var key = cryptoKeyStore.GetCurrentKey(ProviderAssociationHandleEncoder.AssociationHandleEncodingSecretBucket, TimeSpan.FromSeconds(1));
op.CryptoKeyStore.StoreKey(ProviderAssociationHandleEncoder.AssociationHandleEncodingSecretBucket, key.Key, key.Value);
- var request = op.Channel.ReadFromRequest<CheckIdRequest>();
+ var request = await op.Channel.ReadFromRequestAsync<CheckIdRequest>(req, ct);
var response = new PositiveAssertionResponse(request);
var receivedRequests = request.Extensions.Cast<IOpenIdMessageExtension>();
CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(requests.ToArray(), receivedRequests.ToArray());
@@ -71,9 +81,8 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
response.Extensions.Add(extensionResponse);
}
- op.Channel.Respond(response);
- });
- coordinator.Run();
+ return await op.Channel.PrepareResponseAsync(response, ct);
+ }));
}
internal static void RegisterExtension(Channel channel, StandardOpenIdExtensionFactory.CreateDelegate extensionFactory) {
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
index e9ff7a4..60075f3 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperOPTests.cs
@@ -7,6 +7,8 @@
namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.Collections.Generic;
using System.Linq;
+ using System.Threading;
+ using System.Threading.Tasks;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions;
@@ -38,7 +40,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// Verifies no extensions appear as no extensions
/// </summary>
[Test]
- public void NoRequestedExtensions() {
+ public async Task NoRequestedExtensions() {
var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.request);
Assert.IsNull(sreg);
@@ -47,22 +49,22 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
// to directly create a response without a request.
var sregResponse = new ClaimsResponse();
this.request.AddResponseExtension(sregResponse);
- ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
- var extensions = this.GetResponseExtensions();
+ await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
+ var extensions = await this.GetResponseExtensionsAsync();
Assert.AreSame(sregResponse, extensions.Single());
}
[Test]
- public void NegativeResponse() {
+ public async Task NegativeResponse() {
this.request.IsAuthenticated = false;
- ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
+ await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
}
/// <summary>
/// Verifies sreg coming in is seen as sreg.
/// </summary>
[Test]
- public void UnifyExtensionsAsSregWithSreg() {
+ public async Task UnifyExtensionsAsSregWithSreg() {
var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard) {
Nickname = DemandLevel.Request,
};
@@ -74,8 +76,8 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var sregResponse = sreg.CreateResponse();
this.request.AddResponseExtension(sregResponse);
- ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
- var extensions = this.GetResponseExtensions();
+ await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
+ var extensions = await this.GetResponseExtensionsAsync();
Assert.AreSame(sregResponse, extensions.Single());
}
@@ -83,23 +85,23 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
/// Verifies AX coming in looks like sreg.
/// </summary>
[Test]
- public void UnifyExtensionsAsSregWithAX() {
- this.ParameterizedAXTest(AXAttributeFormats.AXSchemaOrg);
+ public async Task UnifyExtensionsAsSregWithAX() {
+ await this.ParameterizedAXTestAsync(AXAttributeFormats.AXSchemaOrg);
}
/// <summary>
/// Verifies AX coming in looks like sreg.
/// </summary>
[Test]
- public void UnifyExtensionsAsSregWithAXSchemaOpenIdNet() {
- this.ParameterizedAXTest(AXAttributeFormats.SchemaOpenIdNet);
+ public async Task UnifyExtensionsAsSregWithAXSchemaOpenIdNet() {
+ await this.ParameterizedAXTestAsync(AXAttributeFormats.SchemaOpenIdNet);
}
/// <summary>
/// Verifies sreg and AX in one request has a preserved sreg request.
/// </summary>
[Test]
- public void UnifyExtensionsAsSregWithBothSregAndAX() {
+ public async Task UnifyExtensionsAsSregWithBothSregAndAX() {
var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard) {
Nickname = DemandLevel.Request,
};
@@ -118,20 +120,20 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var axResponseInjected = new FetchResponse();
axResponseInjected.Attributes.Add(WellKnownAttributes.Contact.Email, "a@b.com");
this.request.AddResponseExtension(axResponseInjected);
- ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
- var extensions = this.GetResponseExtensions();
+ await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
+ var extensions = await this.GetResponseExtensionsAsync();
var sregResponse = extensions.OfType<ClaimsResponse>().Single();
Assert.AreEqual("andy", sregResponse.Nickname);
var axResponse = extensions.OfType<FetchResponse>().Single();
Assert.AreEqual("a@b.com", axResponse.GetAttributeValue(WellKnownAttributes.Contact.Email));
}
- private IList<IExtensionMessage> GetResponseExtensions() {
- IProtocolMessageWithExtensions response = (IProtocolMessageWithExtensions)this.request.Response;
+ private async Task<IList<IExtensionMessage>> GetResponseExtensionsAsync() {
+ var response = (IProtocolMessageWithExtensions)await this.request.GetResponseAsync(CancellationToken.None);
return response.Extensions;
}
- private void ParameterizedAXTest(AXAttributeFormats format) {
+ private async Task ParameterizedAXTestAsync(AXAttributeFormats format) {
var axInjected = new FetchRequest();
axInjected.Attributes.AddOptional(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, format));
axInjected.Attributes.AddRequired(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.FullName, format));
@@ -145,8 +147,8 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var sregResponse = sreg.CreateResponse();
sregResponse.Nickname = "andy";
this.request.AddResponseExtension(sregResponse);
- ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
- var extensions = this.GetResponseExtensions();
+ await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
+ var extensions = await this.GetResponseExtensionsAsync();
var axResponse = extensions.OfType<FetchResponse>().Single();
Assert.AreEqual("andy", axResponse.GetAttributeValue(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, format)));
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
index 05ba3ad..055cf8c 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionsInteropHelperRPRequestTests.cs
@@ -27,7 +27,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
var rp = CreateRelyingParty(true);
Identifier identifier = this.GetMockIdentifier(ProtocolVersion.V20);
- this.authReq = (AuthenticationRequest)rp.CreateRequest(identifier, RPRealmUri, RPUri);
+ this.authReq = (AuthenticationRequest)rp.CreateRequestAsync(identifier, RPRealmUri, RPUri).Result;
this.sreg = new ClaimsRequest {
Nickname = DemandLevel.Request,
FullName = DemandLevel.Request,
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
index cba54bf..2969511 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ProviderAuthenticationPolicy/PapeRoundTripTests.cs
@@ -6,6 +6,8 @@
namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
using System;
+ using System.Threading.Tasks;
+
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy;
using DotNetOpenAuth.Test.OpenId.Extensions;
@@ -14,14 +16,14 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
[TestFixture]
public class PapeRoundTripTests : OpenIdTestBase {
[Test]
- public void Trivial() {
+ public async Task Trivial() {
var request = new PolicyRequest();
var response = new PolicyResponse();
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { response });
}
[Test]
- public void Full() {
+ public async Task Full() {
var request = new PolicyRequest();
request.MaximumAuthenticationAge = TimeSpan.FromMinutes(10);
request.PreferredAuthLevelTypes.Add(Constants.AssuranceLevels.NistTypeUri);
@@ -37,7 +39,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions.ProviderAuthenticationPolicy {
response.AssuranceLevels["customlevel"] = "ABC";
response.NistAssuranceLevel = NistAssuranceLevel.Level2;
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { response });
}
}
}
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
index f898511..40f9d76 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
@@ -10,6 +10,7 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
+ using System.Threading.Tasks;
using System.Xml.Serialization;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
@@ -132,14 +133,14 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
}
[Test]
- public void ResponseAlternateTypeUriTests() {
+ public async Task ResponseAlternateTypeUriTests() {
var request = new ClaimsRequest(Constants.TypeUris.Variant10);
request.Email = DemandLevel.Require;
var response = new ClaimsResponse(Constants.TypeUris.Variant10);
response.Email = "a@b.com";
- ExtensionTestUtilities.Roundtrip(Protocol.Default, new[] { request }, new[] { response });
+ await ExtensionTestUtilities.RoundtripAsync(Protocol.Default, new[] { request }, new[] { response });
}
private ClaimsResponse GetFilledData() {