コード例 #1
0
            public async Task Returns200ResponseAndExecutesPage()
            {
                // Arrange
                var page = new Mock<IRazorPage>();
                var executor = new DefaultPageExecutor();
                IRazorRequest request = TestData.CreateRequest(path: "/Bar");

                page.Setup(p => p.Run(It.IsAny<IRazorRequest>(), It.IsAny<IRazorResponse>()))
                    .Returns((IRazorRequest req, IRazorResponse res) =>
                    {
                        res.StatusCode = 200;
                        res.ReasonPhrase = "All good bro";
                        return Task.FromResult(new object());
                    });

                // Act
                await executor.Execute(page.Object, request.Environment, NullTrace.Instance);

                var response = new RazorResponse(request.Environment);

                // Assert
                // page.Verify(p => p.Run(request, response));
                Assert.Equal(200, response.StatusCode);
                Assert.Equal("All good bro", response.ReasonPhrase);
            }
コード例 #2
0
            public async Task ReturnsResultOfCallingExecutorIfAllPhasesSucceed()
            {
                // Arrange
                TestableEdgeApplication app = CreateEdgeApp(null);

                IFileInfo testFile = app.TestFileSystem.AddTestFile("Bar.cshtml", "Flarg");

                Type compiled = typeof(RazorApplicationTests);
                var page = new Mock<IRazorPage>();
                var resp = new RazorResponse(TestData.CreateCallParams(path: "/Bar"))
                {
                    StatusCode = 418,
                    ReasonPhrase = "I'm a teapot"
                };

                app.MockCompilationManager
                    .Setup(c => c.Compile(testFile, It.IsAny<ITrace>()))
                    .Returns(Task.FromResult(CompilationResult.Successful(null, compiled, Enumerable.Empty<CompilationMessage>())));
                app.MockActivator
                    .Setup(a => a.ActivatePage(compiled, It.IsAny<ITrace>()))
                    .Returns(ActivationResult.Successful(page.Object));
                app.MockExecutor
                    .Setup(e => e.Execute(page.Object, It.IsAny<IDictionary<string, object>>(), It.IsAny<ITrace>()))
                    .Returns(Task.FromResult<object>(null));

                // Act
                await app.Invoke(TestData.CreateCallParams(path: "/Bar"));

                // Assert
                Assert.Equal(418, resp.StatusCode);
                Assert.Equal("I'm a teapot", resp.ReasonPhrase);
            }