diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2013-03-17 18:12:40 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2013-03-17 18:12:40 -0700 |
commit | 2d2ef93da49ae2f9963e83b67b845fc41824f229 (patch) | |
tree | 60079f2f501159f5a504aebe5c2fa7072f124cce /src/DotNetOpenAuth.Test/OpenId/Extensions | |
parent | 6726f043f82d490d89c8403085b1d3d43a88d6c8 (diff) | |
download | DotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.zip DotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.tar.gz DotNetOpenAuth-2d2ef93da49ae2f9963e83b67b845fc41824f229.tar.bz2 |
Lots more test build break fixes.
Diffstat (limited to 'src/DotNetOpenAuth.Test/OpenId/Extensions')
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() { |