public void InvalidPostServerURL() { var mockRepo = new Mock <IServerManager>(); var serverController = new ServersController(mockRepo.Object); Assert.Null(serverController.Post(GetServerTest("12345", null))); }
public void InvalidPostServerId() { var mockRepo = new Mock <IServerManager>(); var serverController = new ServersController(mockRepo.Object); Assert.Null(serverController.Post(GetServerTest(null, "http://localhost:58493"))); }
public void TestPostServer() { Server serv1 = new Server { ServerId = "sapir22", ServerUrl = "www.test1.com" }; List <Server> servers = new List <Server>(); servers.Add(serv1); IMemoryCache cache = CreateCache(); ServersController controller = new ServersController(cache); string serJson = "{\"ServerId\":\"sapir22\",\"ServerURL\":\"www.test1.com\"}"; JsonDocument doc = JsonDocument.Parse(serJson); JsonElement root = doc.RootElement; controller.Post(root); var responseList = (List <Server>)controller.GetAllServers(); Assert.AreEqual(responseList[0].ServerId, servers[0].ServerId); Assert.AreEqual(responseList[0].ServerUrl, servers[0].ServerUrl); }
public void InvalidPostTest() { //Arange var httpContextAccessor = new Mock <IHttpContextAccessor>(); httpContextAccessor.Setup(repo => repo.HttpContext.Request.Host) .Returns(new HostString("localhost:44351")); var stub = new Mock <IScheduledCache>(); var serverManager = new ServerManager(stub.Object); var server = new Server() { ServerId = null, ServerUrl = "https://localhost:44353" }; var serverController = new ServersController(serverManager, httpContextAccessor.Object); //act var result = serverController.Post(server); //assert var action = Assert.IsType <BadRequestObjectResult>(result); var message = Assert.IsAssignableFrom <string>(action.Value); Assert.Equal("Invalid server", message); }
public void TestDelete() { List <Server> serverList = new List <Server>() { new Server { ServerId = "sapir22", ServerUrl = "www.test1.com" } }; IMemoryCache cache = CreateCache(); List <string> serversIds = new List <string>(); serversIds.Add(serverList[0].ServerId); ServersController controller = new ServersController(cache); string serJson = "{\"ServerId\":\"sapir22\",\"ServerURL\":\"www.test1.com\"}"; JsonDocument doc = JsonDocument.Parse(serJson); JsonElement root = doc.RootElement; controller.Post(root); controller.Delete(serverList[0].ServerId); serverList.Remove(serverList[0]); var responseList = (List <Server>)controller.GetAllServers(); Assert.AreEqual(responseList.Count, 0); }
public void ShouldAddServer() { // Arrange Server server = new Server { ServerID = "test", ServerURL = "test" }; var x = new Mock <IServerManager>(); x.Setup(x => x.AddServer(server)).Returns(server); var httpContext = new DefaultHttpContext(); var controllerContext = new ControllerContext() { HttpContext = httpContext, }; //assign context to controller ServersController controller = new ServersController(x.Object) { ControllerContext = controllerContext, }; //Act var actionResult = controller.Post(server).Result; Microsoft.AspNetCore.Mvc.OkObjectResult okObjectResult = (Microsoft.AspNetCore.Mvc.OkObjectResult)actionResult; var temp = okObjectResult.Value; Server actual = (Server)temp; var excpected = server; // Assert Assert.True(actual != null); Assert.Equal(excpected.ServerID, actual.ServerID); Assert.Equal(excpected.ServerURL, actual.ServerURL); }
public void CheckFlights() { // Create new cache memory and it's keys. var cache = new Microsoft.Extensions.Caching.Memory. MemoryCache(new MemoryCacheOptions()); List <Server> serversList = new List <Server>(); List <string> keysList = new List <string>(); Dictionary <string, string> serverOf = new Dictionary <string, string>(); cache.Set("servers", serversList); cache.Set("keys", keysList); cache.Set("serverOfIds", serverOf); // Check Post method of flight plans. FlightPlanController fpController = new FlightPlanController(cache) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() } }; FlightPlan fp = new FlightPlan(); // Fill flightPlan fields for posting it. fp.Passengers = 200; fp.CompanyName = "SwissAir"; fp.InitialLocation = new Location(); fp.InitialLocation.Longitude = 35; fp.InitialLocation.Latitude = 32; fp.InitialLocation.DateTime = DateTime.UtcNow; fp.Segments = new List <Segment>(); Segment seg = new Segment(); seg.Longitude = 36; seg.Latitude = 33; seg.TimespanSeconds = 650; fp.Segments.Add(seg); // Post the preapared flightPlan. ActionResult resp = fpController.Post(fp); ObjectResult res = resp as ObjectResult; // Check the status code of the response and check it equals // to the flight plan which was sent. Assert.AreEqual(res.StatusCode, 201); Assert.AreEqual(res.Value, fp); var iter = fpController.HttpContext.Response.Headers.Values.GetEnumerator(); iter.MoveNext(); // Get the interal flight id. string internalFlightId = iter.Current.ToArray()[0]; // Check Post method of servers. ServersController serverController = new ServersController(cache); Server testServer = new Server(); testServer.Id = "test"; testServer.Url = "http://www.testServer.com/"; // Post the prepared server. resp = serverController.Post(testServer); res = resp as ObjectResult; // Check the status code of the response and check it equals // to the server which was sent. Assert.AreEqual(res.StatusCode, 201); Assert.AreEqual(res.Value, testServer); // Inject fake MessegeHandler to HttpClient. // Create new HttpClient and override it's response method with a stub one. HttpClient client = new HttpClient(new HttpMessageHandlerStub()); // Check get method of flights. FlightsController flightController = new FlightsController(cache, client) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() } }; // Add sync_all to query. flightController.HttpContext.Request.QueryString = new QueryString("?sync_all"); Task <ActionResult <List <Flight> > > respFlights = flightController.Get(DateTime.UtcNow); res = respFlights.Result.Result as ObjectResult; Assert.AreEqual(res.StatusCode, 200); // Check that we get two flights- // the first one is the one was sent earlier in this test. // the second one is a fake external flight which was generated by the stub. Assert.AreEqual(((List <Flight>)res.Value).Count, 2); Flight internalFlight = ((List <Flight>)res.Value)[0]; Flight externalFlight = ((List <Flight>)res.Value)[1]; Assert.AreEqual(internalFlight.FlightId, internalFlightId); Assert.AreEqual(internalFlight.IsExternal, false); Assert.AreEqual(externalFlight.FlightId, "FP00000000"); Assert.AreEqual(externalFlight.IsExternal, true); }