public void TestProcessorWillNotModifyRequestThatAreNotForHeadless() { var uri = new Uri("https://www.xfinity.com/buy/home/page1/en.json"); var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(r => r.Url).Returns(uri); var contextMock = new Mock <HttpContextBase>(); var items = new Dictionary <string, object>(); contextMock.SetupGet(c => c.Items).Returns(items); contextMock.Setup(c => c.Request).Returns(requestMock.Object); contextMock.Setup(c => c.RewritePath(It.IsAny <string>())) .Throws(new AssertFailedException("RewritePath was called unexpectedly")); var context = contextMock.Object; var processor = new HeadlessRequestUrlRewriteProcessor(); processor.ExecuteRewrite(context, ModuleInfo.RoutePrefix.TrimEnd('/')); Assert.IsFalse(context.IsHeadless()); }
public void TestCanWriteValidRequest() { var uri = new Uri($"https://www.xfinity.com{ ModuleInfo.RoutePrefix }buy/home/page1/en.json"); var requestMock = new Mock <HttpRequestBase>(); requestMock.Setup(r => r.Url).Returns(uri); var contextMock = new Mock <HttpContextBase>(); var items = new Dictionary <string, object>(); contextMock.SetupGet(c => c.Items).Returns(items); contextMock.Setup(c => c.Request).Returns(requestMock.Object); contextMock.Setup(c => c.RewritePath(It.Is <string>(s => MatchesExpected(s, ModuleInfo.RoutePrefix.TrimEnd('/'), "buy", "/home/page1", "en") ))).Verifiable("The RewritePath method was never called with the expected URL."); var context = contextMock.Object; var processor = new HeadlessRequestUrlRewriteProcessor(); processor.ExecuteRewrite(context, ModuleInfo.RoutePrefix.TrimEnd('/')); contextMock.Verify(); Assert.IsTrue(context.IsHeadless()); }