summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/OpenId/Extensions
diff options
context:
space:
mode:
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.cs60
-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.cs7
6 files changed, 44 insertions, 89 deletions
diff --git a/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs b/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/AttributeExchangeRoundtripTests.cs
index ab0a10b..0d0d36c 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 this.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 this.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 this.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..fd53fd1 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/ExtensionTestUtilities.cs
@@ -8,6 +8,10 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using System;
using System.Collections.Generic;
using System.Linq;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.OpenId;
@@ -20,62 +24,6 @@ namespace DotNetOpenAuth.Test.OpenId.Extensions {
using Validation;
public static class ExtensionTestUtilities {
- /// <summary>
- /// Simulates an extension request and response.
- /// </summary>
- /// <param name="protocol">The protocol to use in the roundtripping.</param>
- /// <param name="requests">The extensions to add to the request message.</param>
- /// <param name="responses">The extensions to add to the response message.</param>
- /// <remarks>
- /// 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(
- Protocol protocol,
- IEnumerable<IOpenIdMessageExtension> requests,
- IEnumerable<IOpenIdMessageExtension> responses) {
- var securitySettings = new ProviderSecuritySettings();
- 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 => {
- 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);
- }
-
- rp.Channel.Respond(requestBase);
- var response = rp.Channel.ReadFromRequest<PositiveAssertionResponse>();
-
- var receivedResponses = response.Extensions.Cast<IOpenIdMessageExtension>();
- CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(responses.ToArray(), receivedResponses.ToArray());
- },
- op => {
- 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 response = new PositiveAssertionResponse(request);
- var receivedRequests = request.Extensions.Cast<IOpenIdMessageExtension>();
- CollectionAssert<IOpenIdMessageExtension>.AreEquivalentByEquality(requests.ToArray(), receivedRequests.ToArray());
-
- foreach (var extensionResponse in responses) {
- response.Extensions.Add(extensionResponse);
- }
-
- op.Channel.Respond(response);
- });
- coordinator.Run();
- }
-
internal static void RegisterExtension(Channel channel, StandardOpenIdExtensionFactory.CreateDelegate extensionFactory) {
Requires.NotNull(channel, "channel");
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..3cb3028 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 this.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 this.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..1aa6e33 100644
--- a/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/Extensions/SimpleRegistration/ClaimsResponseTests.cs
@@ -10,13 +10,14 @@ 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;
using NUnit.Framework;
[TestFixture]
- public class ClaimsResponseTests {
+ public class ClaimsResponseTests : OpenIdTestBase {
[Test]
public void EmptyMailAddress() {
ClaimsResponse response = new ClaimsResponse(Constants.TypeUris.Standard);
@@ -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 this.RoundtripAsync(Protocol.Default, new[] { request }, new[] { response });
}
private ClaimsResponse GetFilledData() {