public async Task UnifyExtensionsAsSregWithBothSregAndAX()
        {
            var sregInjected = new ClaimsRequest(DotNetOpenAuth.OpenId.Extensions.SimpleRegistration.Constants.TypeUris.Standard)
            {
                Nickname = DemandLevel.Request,
            };

            this.extensions.Add(sregInjected);
            var axInjected = new FetchRequest();

            axInjected.Attributes.AddOptional(WellKnownAttributes.Contact.Email);
            this.extensions.Add(axInjected);
            var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.request);

            Assert.AreSame(sregInjected, sreg);
            Assert.AreEqual(DemandLevel.Request, sreg.Nickname);
            Assert.AreEqual(DemandLevel.NoRequest, sreg.Email);

            var sregResponseInjected = sreg.CreateResponse();

            sregResponseInjected.Nickname = "andy";
            this.request.AddResponseExtension(sregResponseInjected);
            var axResponseInjected = new FetchResponse();

            axResponseInjected.Attributes.Add(WellKnownAttributes.Contact.Email, "*****@*****.**");
            this.request.AddResponseExtension(axResponseInjected);
            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("*****@*****.**", axResponse.GetAttributeValue(WellKnownAttributes.Contact.Email));
        }
Example #2
0
        private void ParameterizedAXTest(AXAttributeFormats format)
        {
            var axInjected = new FetchRequest();

            axInjected.Attributes.AddOptional(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, format));
            axInjected.Attributes.AddRequired(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.FullName, format));
            this.extensions.Add(axInjected);
            var sreg = ExtensionsInteropHelper.UnifyExtensionsAsSreg(this.request);

            Assert.AreSame(sreg, this.request.GetExtension <ClaimsRequest>());
            Assert.AreEqual(DemandLevel.Request, sreg.Nickname);
            Assert.AreEqual(DemandLevel.Require, sreg.FullName);
            Assert.AreEqual(DemandLevel.NoRequest, sreg.Language);

            var sregResponse = sreg.CreateResponse();

            sregResponse.Nickname = "andy";
            this.request.AddResponseExtension(sregResponse);
            ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
            var extensions = this.GetResponseExtensions();
            var axResponse = extensions.OfType <FetchResponse>().Single();

            Assert.AreEqual("andy", axResponse.GetAttributeValue(ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, format)));
        }
Example #3
0
 public void NegativeResponse()
 {
     this.request.IsAuthenticated = false;
     ExtensionsInteropHelper.ConvertSregToMatchRequest(this.request);
 }
Example #4
0
 public void SpreadSregToAXNoExtensions()
 {
     ExtensionsInteropHelper.SpreadSregToAX(this.authReq, AXAttributeFormats.AXSchemaOrg);
     Assert.AreEqual(0, this.authReq.AppliedExtensions.Count());
 }
 public async Task NegativeResponse()
 {
     this.request.IsAuthenticated = false;
     await ExtensionsInteropHelper.ConvertSregToMatchRequestAsync(this.request, CancellationToken.None);
 }
 public void TransformAXFormatTest()
 {
     Assert.AreEqual(WellKnownAttributes.Name.Alias, ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.AXSchemaOrg));
     Assert.AreEqual("http://schema.openid.net/namePerson/friendly", ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.SchemaOpenIdNet));
     Assert.AreEqual("http://openid.net/schema/namePerson/friendly", ExtensionsInteropHelper.TransformAXFormatTestHook(WellKnownAttributes.Name.Alias, AXAttributeFormats.OpenIdNetSchema));
 }