public void Test_DeleteFlight() { // Setup Location location = new Location(38.112375, 23.879437, DateTime.UtcNow); List <Segment> segments = new List <Segment>(); segments.Add(new Segment(31.922629, 31.522594, 50)); // Egypt segments.Add(new Segment(32.426506, 34.743033, 50)); // Cyprus segments.Add(new Segment(26.209199, 35.055211, 50)); // Greece FlightPlan flightPlan = new FlightPlan(8, "Company", location, segments); var stubRemoteServersConnector = new RemoteServersConnector(); var mockFlightsManager = new FlightsManager(stubRemoteServersConnector); mockFlightsManager.AddFlightPlan(flightPlan); List <Flight> flights = mockFlightsManager.GetRelativeFlights(DateTime.UtcNow, false); string flightId = flights.ToArray()[0].Flight_Id; var flightsController = new FlightsController(mockFlightsManager); // Act IActionResult delAction = flightsController.DeleteFlight(flightId); // Assert Assert.IsType <OkResult>(delAction); Assert.Empty(mockFlightsManager.GetRelativeFlights(DateTime.UtcNow, false)); }
public void Test_GetFlight() { // Setup Location location = new Location(38.112375, 23.879437, DateTime.UtcNow); List <Segment> segments = new List <Segment>(); segments.Add(new Segment(31.922629, 31.522594, 50)); // Egypt segments.Add(new Segment(32.426506, 34.743033, 50)); // Cyprus segments.Add(new Segment(26.209199, 35.055211, 50)); // Greece FlightPlan flightPlan = new FlightPlan(8, "Company", location, segments); var stubRemoteServersConnector = new RemoteServersConnector(); var stubFlightsManager = new FlightsManager(stubRemoteServersConnector); stubFlightsManager.AddFlightPlan(flightPlan); var flightsController = new FlightsController(stubFlightsManager); Thread.Sleep(1000); // Act IActionResult getAction = flightsController.GetFlights(DateTime.UtcNow.ToString()); // Assert OkObjectResult okAction = Assert.IsType <OkObjectResult>(getAction); string flightsStr = Assert.IsType <string>(okAction.Value); var flights = JsonConvert.DeserializeObject(flightsStr); Assert.Single((System.Collections.IEnumerable)flights); }
public void Initialize() { flightsTimeManagerMock = new Mock <IFlightsTimeManager>(); flightsRepositoryMock = new Mock <IFlightsRepository>(); stationsManagerMock = new Mock <IStationsManager>(); waitingStationsManagerMock = new Mock <IWaitingStationsManager>(); stationsRepositoryMock = new Mock <IStationsRepository>(); flightsManager = new FlightsManager(flightsTimeManagerMock.Object, flightsRepositoryMock.Object, stationsManagerMock.Object, stationsRepositoryMock.Object); }
GetFlights([FromQuery(Name = "relative_to")] DateTime relativeTo) { // convert the given current time to UTC DateTime time = TimeZoneInfo.ConvertTimeToUtc(relativeTo); FlightsDbContext.externalServersFlights.Clear(); context.SaveChanges(); List <Flight> externalFlights = new List <Flight>(); List <FlightPlan> flightPlans = await context.FlightPlans.Include(x => x.Segments) .Include(x => x.InitialLocation).ToListAsync(); // new list for all the present flights List <Flight> presentFlights = FlightsManager.GetPresentFlights(flightPlans, time); // if only internal flights are happening now if (!Request.QueryString.Value.Contains("sync_all")) { if (!presentFlights.Any()) { // if the list is empty return(NotFound()); } return(presentFlights); } // otherwise, get the external flights List <string> paths = context.Servers.Select(x => x.ServerURL).ToList(); List <Flight> tmpFlights = new List <Flight>(); foreach (string path in paths) { tmpFlights.AddRange(FlightsManager.GetExternalFlights(time, path)); Server server = await context.Servers.Where (x => String.Equals(path, x.ServerURL)).FirstOrDefaultAsync(); externalFlights.AddRange(FlightsManager.SetFlightPlans(tmpFlights, server)); // clear the tmp list of specific server tmpFlights.Clear(); } presentFlights.AddRange(externalFlights); // return a list of all the relevant flights according to the relative time return(presentFlights); }
public async Task GetAllFlightsWithUnformattedDate_ShouldRaiseFormatException() { FlightsManager manager = new FlightsManager(flightPlanDictStub.Object, serversDictStub.Object, idFromServersDictStub.Object); bool exceptionThrown = false; // Act try { IEnumerable <Flight> response = await manager.GetAllFlights("2020-11aef-27T01:56:22Z", false); } catch (FormatException) { exceptionThrown = true; } // Check if Format Exception has been thrown Assert.True(exceptionThrown); }