public async Task PostSession_SessionNotFound_Success() { // Arrange _authenticationRepositoryMock.Setup(m => m.AuthenticateUserAsync(Login, Password, false)).ReturnsAsync(_loginUser); var token = Guid.NewGuid().ToString(); var httpClientProvider = new TestHttpClientProvider(request => { if (request.Method == HttpMethod.Get) { return(new HttpResponseMessage(HttpStatusCode.NotFound)); } var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); httpResponseMessage.Headers.Add("Session-Token", token); return(httpResponseMessage); }); var controller = new SessionsController(_authenticationRepositoryMock.Object, httpClientProvider, _logMock.Object); // Act var result = (ResponseMessageResult)await controller.PostSession(SystemEncryptions.EncodeTo64UTF8(Login), SystemEncryptions.EncodeTo64UTF8(Password)); // Assert Assert.AreEqual(HttpStatusCode.OK, result.Response.StatusCode); Assert.AreEqual(token, result.Response.Headers.GetValues("Session-Token").FirstOrDefault()); var expectedToken = await result.Response.Content.ReadAsStringAsync(); Assert.AreEqual(expectedToken, token); }
private static ConfigController CreateController(Dictionary <string, Dictionary <string, string> > globalSettings = null, Dictionary <string, string> appSettings = null, Dictionary <string, bool> features = null) { var appSettingsRepo = new Mock <IApplicationSettingsRepository>(); var featuresService = new Mock <IFeaturesService>(); IHttpClientProvider httpClientProvider; if (globalSettings == null) { httpClientProvider = new TestHttpClientProvider(request => { throw new Exception(); }); } else { var content = new ObjectContent(globalSettings.GetType(), globalSettings, new JsonMediaTypeFormatter()); httpClientProvider = new TestHttpClientProvider(request => request.RequestUri.AbsolutePath.EndsWithOrdinal("settings/false") ? new HttpResponseMessage(HttpStatusCode.OK) { Content = content } : null); } if (appSettings == null) { appSettingsRepo .Setup(it => it.GetSettingsAsync(true)) .Throws(new ApplicationException()); } else { appSettingsRepo .Setup(it => it.GetSettingsAsync(true)) .ReturnsAsync(appSettings.Select(i => new ApplicationSetting { Key = i.Key, Value = i.Value, Restricted = true })); } featuresService .Setup(fs => fs.GetFeaturesAsync()) .ReturnsAsync(features == null ? new Dictionary <string, bool> { { "Workflow", true } } : features); var logMock = new Mock <IServiceLogRepository>(); var controller = new ConfigController(appSettingsRepo.Object, null, null, featuresService.Object, httpClientProvider, logMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Headers.Add("Session-Token", ""); controller.Request.SetConfiguration(new HttpConfiguration()); return(controller); }
public static PVOutputClient GetMockClient(out MockHttpMessageHandler mockHandler) { var provider = new TestHttpClientProvider(); mockHandler = provider.MockHttpMessageHandler; mockHandler.Fallback.RespondPlainText(""); var client = new PVOutputClient(TestConstants.PVOUTPUT_API_KEY, TestConstants.PVOUTPUT_SYSTEM_ID, new TestOutputLogger()); client.HttpClientProvider = provider; return(client); }
public async Task LogError_Success() { // Arrange var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK)); var localLog = new Mock <ILocalLog>().Object; var servicelog = new ServiceLogRepository(httpClientProvider, localLog); // Act await servicelog.LogError("ServiceLogRepositoryTests", "Hello World"); // Assert // Doesn't return anything }
private static TestHttpClientProvider CreateTestHttpClientProvider(LicenseTransaction[] transactions) { var content = new ObjectContent <IEnumerable <LicenseTransaction> >(transactions, new JsonMediaTypeFormatter()); var httpClientProvider = new TestHttpClientProvider(request => request.RequestUri.PathAndQuery.EqualsOrdinalIgnoreCase("/svc/accesscontrol/licenses/transactions?days=1&consumerType=1") ? new HttpResponseMessage(HttpStatusCode.OK) { Content = content } : null); return(httpClientProvider); }
public async Task PostSessionSingleSignOn_ServerError_InternalServerErrorResult() { // Arrange _authenticationRepositoryMock.Setup(m => m.AuthenticateSamlUserAsync(SamlResponse)).ReturnsAsync(_loginUser); var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.NotFound)); var controller = new SessionsController(_authenticationRepositoryMock.Object, httpClientProvider, _logMock.Object); // Act IHttpActionResult result = await controller.PostSessionSingleSignOn(SamlResponse); // Assert Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); }
public async Task PostSession_ServerError_InternalServerErrorResult() { // Arrange _authenticationRepositoryMock.Setup(m => m.AuthenticateUserAsync(Login, Password, false)).ReturnsAsync(_loginUser); var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.NotFound)); var controller = new SessionsController(_authenticationRepositoryMock.Object, httpClientProvider, _logMock.Object); // Act IHttpActionResult result = await controller.PostSession(SystemEncryptions.EncodeTo64UTF8(Login), SystemEncryptions.EncodeTo64UTF8(Password), true); // Assert Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); }
public async Task LogErrorWithException_Success() { // Arrange var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK)); var localLog = new Mock <ILocalLog>().Object; var servicelog = new ServiceLogRepository(httpClientProvider, localLog); var innerEx = new ApplicationException("Inner application exception"); var ex = new Exception("Some bad thing", innerEx); // Act await servicelog.LogError("ServiceLogRepositoryTests", ex); // Assert // Doesn't return anything }
public async Task DeleteSession_SessionTokenIsNull_BadRequest() { // Arrange var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK)); var controller = new SessionsController(new AuthenticationRepository(), httpClientProvider, _logMock.Object) { Request = new HttpRequestMessage() }; // Act IHttpActionResult result = await controller.DeleteSession(); // Assert Assert.IsInstanceOfType(result, typeof(BadRequestResult)); }
public async Task DeleteSession_Exception_InternalServerErrorResult() { // Arrange var httpRequestMessage = new HttpRequestMessage(); httpRequestMessage.Headers.Add("Session-Token", Guid.NewGuid().ToString()); var httpClientProvider = new TestHttpClientProvider(request => { throw new Exception(); }); var controller = new SessionsController(new AuthenticationRepository(), httpClientProvider, _logMock.Object) { Request = httpRequestMessage }; // Act IHttpActionResult result = await controller.DeleteSession(); // Assert Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); }
public async Task DeleteSession_SessionNotFound_ResponseMessageResult() { // Arrange var httpRequestMessage = new HttpRequestMessage(); httpRequestMessage.Headers.Add("Session-Token", Guid.NewGuid().ToString()); var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.NotFound)); var controller = new SessionsController(new AuthenticationRepository(), httpClientProvider, _logMock.Object) { Request = httpRequestMessage }; // Act IHttpActionResult result = await controller.DeleteSession(); // Assert Assert.IsInstanceOfType(result, typeof(ResponseMessageResult)); }
public async Task LogCLog_Success() { // Arrange var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK)); var localLog = new Mock <ILocalLog>().Object; var servicelog = new ServiceLogRepository(httpClientProvider, localLog); var logEntry = new CLogModel() { Source = "ServiceLogRepositoryTests", LogLevel = LogLevelEnum.Informational, Message = "Hello World", UserName = "******" }; // Act await servicelog.LogCLog(logEntry); // Assert // Doesn't return anything }
public async Task LogClientMessage_Success() { // Arrange var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK)); var localLog = new Mock <ILocalLog>().Object; var servicelog = new ServiceLogRepository(httpClientProvider, localLog); ClientLogModel logModel = new ClientLogModel { LogLevel = 2, Message = "test", Source = "testClass", StackTrace = "" }; // Act var result = await servicelog.LogClientMessage(logModel, "admin", "1dfg342d"); // Assert Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public async Task PostSessionSingleSignOn_SessionFound_ConflictResult() { // Arrange _authenticationRepositoryMock.Setup(m => m.AuthenticateSamlUserAsync(SamlResponse)).ReturnsAsync(_loginUser); var token = Guid.NewGuid().ToString(); var httpClientProvider = new TestHttpClientProvider(request => { var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); httpResponseMessage.Headers.Add("Session-Token", token); return(httpResponseMessage); }); var controller = new SessionsController(_authenticationRepositoryMock.Object, httpClientProvider, _logMock.Object); // Act IHttpActionResult result = await controller.PostSessionSingleSignOn(SamlResponse); // Assert Assert.IsInstanceOfType(result, typeof(ConflictResult)); }