using System; using System.Collections.Generic; using System.Text; using NUnit.Framework; using System.IO; using System.Diagnostics; using DotNetOpenId.Test.Hosting; using System.Text.RegularExpressions; using System.Net; using System.Globalization; namespace DotNetOpenId.Test.UI { [TestFixture] public class IdentityEndpointTest { void parameterizedIdentityEndpointPage(ProtocolVersion version) { Protocol protocol = Protocol.Lookup(version); TestSupport.Scenarios scenario = TestSupport.Scenarios.AutoApproval; Identifier identityUrl = TestSupport.GetIdentityUrl(scenario, version); string html = UITestSupport.Host.ProcessRequest(identityUrl); TestSupport.Logger.InfoFormat("{0} response:{1}{2}", identityUrl, Environment.NewLine, html); Assert.IsTrue(Regex.IsMatch(html, string.Format(CultureInfo.InvariantCulture, @"\\", Regex.Escape(TestSupport.ProviderPage), Regex.Escape(protocol.HtmlDiscoveryProviderKey)))); Assert.IsTrue(Regex.IsMatch(html, string.Format(CultureInfo.InvariantCulture, @"\\", Regex.Escape(new Uri(TestSupport.GetDelegateUrl(scenario).ToString()).AbsolutePath), Regex.Escape(protocol.HtmlDiscoveryLocalIdKey)))); } [Test] public void IdentityEndpoint20Page() { parameterizedIdentityEndpointPage(ProtocolVersion.V20); } [Test] public void IdentityEndpoint11Page() { parameterizedIdentityEndpointPage(ProtocolVersion.V11); } } }