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"); }