public void BuildAuthnRequest_test_nameid_fortmat_no_match_from_many_entries_supported() { //ARRANGE var requestUri = new Uri("http://localhost:59611/"); var federationPartyContextBuilder = new FederationPartyContextBuilderMock(); var federationContex = federationPartyContextBuilder.BuildContext("local", NameIdentifierFormats.Windows); var supportedNameIdentifierFormats = new List <Uri> { new Uri(NameIdentifierFormats.Transient), new Uri(NameIdentifierFormats.Persistent) }; var authnRequestContext = new AuthnRequestContext(requestUri, federationContex, supportedNameIdentifierFormats); var requestConfiguration = federationContex.GetRequestConfigurationFromContext(); AuthnRequestHelper.GetBuilders = AuthnRequestBuildersFactoryMock.GetBuildersFactory(); //ACT var authnRequest = AuthnRequestHelper.BuildAuthnRequest(authnRequestContext); var audience = ((AudienceRestriction)authnRequest.Conditions.Items.Single()) .Audience .Single(); //ASSERT Assert.NotNull(authnRequest); Assert.AreEqual(requestConfiguration.IsPassive, authnRequest.IsPassive); Assert.AreEqual(requestConfiguration.ForceAuthn, authnRequest.ForceAuthn); Assert.AreEqual("2.0", authnRequest.Version); //issuer Assert.AreEqual(requestConfiguration.EntityId, authnRequest.Issuer.Value); Assert.AreEqual(NameIdentifierFormats.Entity, authnRequest.Issuer.Format); //audience Assert.AreEqual(requestConfiguration.AudienceRestriction.Count, authnRequest.Conditions.Items.Count); Assert.AreEqual(requestConfiguration.AudienceRestriction.Single(), audience); //nameIdPolicy Assert.IsFalse(authnRequest.NameIdPolicy.AllowCreate); Assert.AreEqual(authnRequest.NameIdPolicy.Format, NameIdentifierFormats.Unspecified); }
public void BuildAuthnRequest_test_scoping_default_overwritten() { //ARRANGE var requestUri = new Uri("http://localhost:59611/"); var federationPartyContextBuilder = new FederationPartyContextBuilderMock(); var federationContex = federationPartyContextBuilder.BuildContext("local", NameIdentifierFormats.Transient); federationContex.ScopingConfiguration = new Kernel.Federation.FederationPartner.ScopingConfiguration("http://localhost:59611/") { PoxyCount = 10 }; var supportedNameIdentifierFormats = new List <Uri> { new Uri(NameIdentifierFormats.Transient) }; var authnRequestContext = new AuthnRequestContext(requestUri, federationContex, supportedNameIdentifierFormats); var requestConfiguration = federationContex.GetRequestConfigurationFromContext(); AuthnRequestHelper.GetBuilders = AuthnRequestBuildersFactoryMock.GetBuildersFactory(); //ACT var authnRequest = AuthnRequestHelper.BuildAuthnRequest(authnRequestContext); //ASSERT Assert.NotNull(authnRequest); Assert.IsNotNull(authnRequest.Scoping); Assert.AreEqual("10", authnRequest.Scoping.ProxyCount); Assert.AreEqual(1, authnRequest.Scoping.RequesterId.Length); Assert.AreEqual("http://localhost:59611/", authnRequest.Scoping.RequesterId[0]); }
public async Task AuthnRequestSerialiser_test() { //ARRANGE var requestUri = new Uri("http://localhost:59611/"); var federationPartyContextBuilder = new FederationPartyContextBuilderMock(); var federationContex = federationPartyContextBuilder.BuildContext("local"); var supportedNameIdentifierFormats = new List <Uri> { new Uri(NameIdentifierFormats.Transient) }; var authnRequestContext = new AuthnRequestContext(requestUri, federationContex, supportedNameIdentifierFormats); var xmlSerialiser = new XMLSerialiser(); var compressor = new DeflateCompressor(); var encoder = new MessageEncoding(compressor); var logger = new LogProviderMock(); var serialiser = new AuthnRequestSerialiser(xmlSerialiser, encoder, logger); AuthnRequestHelper.GetBuilders = AuthnRequestBuildersFactoryMock.GetBuildersFactory(); var authnRequest = AuthnRequestHelper.BuildAuthnRequest(authnRequestContext); //ACT var request = await serialiser.Serialize(authnRequest); //ASSERT Assert.NotNull(request); }