Beispiel #1
0
        public void TestDiagnosticsController()
        {
            var client     = Startup.Client;
            var acceptText = "application/text,text/plain";

            //Heartbeat
            DiagnosticsController.Reset();
            var serverStatus = client.ExecuteGetString(acceptText, "api/diagnostics/heartbeat");

            Assert.AreEqual("StatusOK", serverStatus, "Expected StatusOK in heartbeat");
            // throw error
            DiagnosticsController.Reset();
            var exc = TestUtil.ExpectFailWith <Exception>(() => client.ExecuteGetString(acceptText, "api/diagnostics/throwerror"));

            Assert.IsTrue(exc.Message.Contains("TestException"), "Expected TestException thrown");
            //get/set time offset
            // current should be zero
            var currOffset = client.ExecuteGetString(acceptText, "api/diagnostics/timeoffset");

            Assert.IsTrue(currOffset.StartsWith("Current offset: 0 minutes"), "Expected no offset");
            // set 60 minutes forward
            currOffset = client.ExecuteGetString(acceptText, "api/diagnostics/timeoffset/60");
            Assert.IsTrue(currOffset.StartsWith("Current offset: 60 minutes"), "Expected 60 minutes offset");
            // set back to 0
            currOffset = client.ExecuteGetString(acceptText, "api/diagnostics/timeoffset/0");
            Assert.IsTrue(currOffset.StartsWith("Current offset: 0 minutes"), "Expected no offset");

            //test that heartbeat call is not logged in web log - controller method sets log level to None
            var serverSession = Startup.BooksApp.OpenSession();
            var hbeatEntry    = serverSession.EntitySet <IWebCallLog>().Where(wl => wl.Url.Contains("heartbeat")).FirstOrDefault();

            Assert.IsNull(hbeatEntry, "Expected no heartbeat entry in web log.");
        }
        public void Get_FromDate_Test()
        {
            //Arrange
            var diagnosticsServiceMock = new Mock <IDiagnosticsService>();
            var cookieParserMock       = new Mock <ICookieParser>();
            var diagnostics            = new List <Diagnostics>
            {
                new Diagnostics
                {
                    DiagnosticsId = 1
                }
            };

            diagnosticsServiceMock.Setup(t => t.FetchDiagnosticsFromDate(new DateTime(1, 1, 1)))
            .Returns(diagnostics);

            var diagnosticsMapperStub = new Mock <IDiagnosticsMapper>();

            var diagnosticsController =
                new DiagnosticsController(diagnosticsServiceMock.Object,
                                          diagnosticsMapperStub.Object,
                                          cookieParserMock.Object);

            //Act
            IList <TransferDiagnostics> actualTransferDiagnostics = diagnosticsController.Get(new DateTime(1, 1, 1));

            //Assert
            Assert.That(actualTransferDiagnostics, Is.Not.Null);
            Assert.That(actualTransferDiagnostics.Count, Is.EqualTo(1));
            diagnosticsServiceMock.Verify(t => t.FetchDiagnosticsFromDate(new DateTime(1, 1, 1)), Times.Once());
        }
        public async Task IndexShouldReturnNotFound()
        {
            var controller = new DiagnosticsController();

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = _remoteContext
            };
            var notFoundResult = await controller.Index();

            notFoundResult.As <NotFoundResult>().Should().NotBeNull();
        }
        public async Task IndexShouldReturnDiganosticsViewModel()
        {
            var controller = new DiagnosticsController();
            var authProp   = new AuthenticationProperties(
                new Dictionary <string, string> {
                { "client_list", Base64Url.Encode(Encoding.UTF8.GetBytes("[\"client1\"]")) }
            }
                );

            var authServiceMock = new Mock <IAuthenticationService>();

            authServiceMock.Setup(a => a.AuthenticateAsync(
                                      It.IsAny <HttpContext>(), It.IsAny <string>())
                                  )
            .ReturnsAsync(AuthenticateResult.Success(
                              new AuthenticationTicket(
                                  new System.Security.Claims.ClaimsPrincipal(),
                                  authProp,
                                  "test"
                                  )
                              ));

            var serviceProvider = new Mock <IServiceProvider>();

            serviceProvider.Setup(s => s.GetService(typeof(IAuthenticationService)))
            .Returns(authServiceMock.Object);
            serviceProvider.Setup(s => s.GetService(typeof(ITempDataDictionaryFactory)))
            .Returns(new Mock <ITempDataDictionaryFactory>().Object);
            _localContext.RequestServices = serviceProvider.Object;

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = _localContext
            };

            var viewModel = await controller.Index();

            var diagVM = viewModel.As <ViewResult>().ViewData.Model.As <DiagnosticsViewModel>();

            diagVM.Should().NotBeNull();
            diagVM.AuthenticateResult.Should().NotBeNull();
            diagVM.Clients.Should().Contain("client1");
        }