Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #5
0
        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);
        }