public void GetAllFlightsVacancy_Test()
        {
            AnonymousUserFacade anonymous = new AnonymousUserFacade();
            var list = anonymous.GetAllFlightsVacancy();

            Assert.IsTrue(list.Count > 0);
        }
示例#2
0
        // 4. Read Random Company From API Web.
        public void ReadCompaniesFromAPI(int times)
        {
            int             success   = 0;
            IList <Country> countries = new AnonymousUserFacade().GetAllCountries();

            MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger.Add("Start Create Companies..."))));
            for (int i = 0; i < times; i++)
            {
                HttpResponseMessage response = client.GetAsync("").Result;
                if (response.IsSuccessStatusCode)
                {
                    APIUser        companyAPI = response.Content.ReadAsAsync <APIUser>().Result;
                    AirlineCompany airline    = new AirlineCompany(companyAPI.results[0].name.first, companyAPI.results[0].login.username, companyAPI.results[0].login.password,
                                                                   (int)countries[r.Next(countries.Count)].Id);
                    airline.Id = adminFacade.CreateNewAirline(adminToken, airline);
                    userNamesOfCompanies.Add(airline.User_Name);
                    MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger[ViewModel.Logger.Count - 1] = $"- {i + 1}/{times} Companies Was Generated.")));
                    success++;
                }
                ViewModel.HowMuchCreated++;
            }
            if (times > 0)
            {
                log.Info($"\n{success} Companies Were Created And {times - success} Failed.\n");
                MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger.Add($"- Companies Generator Is Over. ({success} Were Created And {times - success} Failed)."))));
            }
            else
            {
                MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger[ViewModel.Logger.Count - 1] = $"- No Creation Request For Companies.")));
            }
        }
        public void GetAllAirlineCompanies_Test()
        {
            AnonymousUserFacade anonymous = new AnonymousUserFacade();
            var list = anonymous.GetAllAirlineCompanies();

            Assert.IsTrue(list.Count > 0);
        }
示例#4
0
        public void GetAllFlightsVacancy()
        {
            tc.PrepareDBForTests();
            Flight f1 = new Flight
            {
                AirlineCompany_Id        = tc.airlineToken.User.Id,
                Departure_Time           = DateTime.Now,
                Landing_Time             = DateTime.Now + TimeSpan.FromHours(1),
                Origin_Country_Code      = tc.adminFacade.GetCountryByName("Israel").Id,
                Destination_Country_Code = tc.adminFacade.GetCountryByName("Israel").Id,
                Remaining_Tickets        = 10
            };
            Flight f2 = new Flight
            {
                AirlineCompany_Id        = tc.airlineToken.User.Id,
                Departure_Time           = DateTime.Now,
                Landing_Time             = DateTime.Now + TimeSpan.FromHours(1),
                Origin_Country_Code      = tc.adminFacade.GetCountryByName("Israel").Id,
                Destination_Country_Code = tc.adminFacade.GetCountryByName("Israel").Id,
                Remaining_Tickets        = 0
            };

            f1.Id = tc.airlineFacade.CreateFlight(tc.airlineToken, f1);
            f2.Id = tc.airlineFacade.CreateFlight(tc.airlineToken, f2);
            Dictionary <Flight, int> TicketsByFlight = new AnonymousUserFacade().GetAllFlightsVacancy();

            Assert.AreEqual(TicketsByFlight.Count, 1);
        }
        public void AnonymouseFacade_GetFlightsByDepatrureDate_FlightsFound()
        {
            AnonymousUserFacade facade = FlyingCenterSystem.GetInstance().GetAnonymousFacade();

            IList <Flight> flights = facade.GetFlightsByDepatrureDate(TestResource.DEPARTURE_TIME);

            Assert.AreNotEqual(null, flights);

            for (int i = 0; i < flights.Count; i++)
            {
                Assert.AreEqual(TestResource.FlightsId[i], flights[i].Id);

                Assert.AreEqual(TestResource.DepartureTimes[i], flights[i].DepartureTime);

                Assert.AreEqual(TestResource.LandingTimes[i], flights[i].LandingTime);

                Assert.AreEqual(TestResource.AirlineCompaniesId[i], flights[i].AirlineCompanyId);

                Assert.AreEqual(TestResource.OriginCountryCodes[i], flights[i].OriginCountryCode);

                Assert.AreEqual(TestResource.DestinationCountryCodes[i], flights[i].DestinationCountryCode);

                Assert.AreEqual(TestResource.Vacancies[i], flights[i].RemainingTickets);
            }
        }
示例#6
0
        public void AnonymouseFacade_GetAllFlights_FlightsReceived()
        {
            Flight newFlight = null;

            InitDBUnitTest.InitDB();
            Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1();
            AnonymousUserFacade anonymousFacade = GetAnonymousFacade();
            IList <Flight>      flights1        = anonymousFacade.GetAllFlights();

            newFlight    = CreateNewFlight1();
            newFlight.ID = flight.ID;
            newFlight.AIRLINECOMPANY_ID        = flight.AIRLINECOMPANY_ID;
            newFlight.ORIGIN_COUNTRY_CODE      = flight.ORIGIN_COUNTRY_CODE;
            newFlight.DESTINATION_COUNTRY_CODE = flight.DESTINATION_COUNTRY_CODE;
            IList <Flight> flights2 = new List <Flight>();

            flights2.Add(newFlight);
            List <Flight> f1 = (List <Flight>)flights1;
            List <Flight> f2 = (List <Flight>)flights2;

            CollectionAssert.AreEqual(f1, f2);
            Assert.AreEqual(flights1[0].ID, flights2[0].ID);
            Assert.AreEqual(flights1[0].AIRLINECOMPANY_ID, flights2[0].AIRLINECOMPANY_ID);
            Assert.AreEqual(flights1[0].ORIGIN_COUNTRY_CODE, flights2[0].ORIGIN_COUNTRY_CODE);
            Assert.AreEqual(flights1[0].DESTINATION_COUNTRY_CODE, flights2[0].DESTINATION_COUNTRY_CODE);
            Assert.AreEqual(flights1[0].DEPARTURE_TIME, flights2[0].DEPARTURE_TIME);
            Assert.AreEqual(flights1[0].LANDING_TIME, flights2[0].LANDING_TIME);
            Assert.AreEqual(flights1[0].REMANING_TICKETS, flights2[0].REMANING_TICKETS);
            Assert.AreEqual(flights1[0].TOTAL_TICKETS, flights2[0].TOTAL_TICKETS);
        }
示例#7
0
        public void AnonymouseFacade_GetAllAirlineCompanies_AirlineCompaniesReceived()
        {
            InitDBUnitTest.InitDB();
            AirlineCompany         airlineCompany1   = AdministratorFacade_CreateNewAirline1();
            AirlineCompany         airlineCompany2   = AdministratorFacade_CreateNewAirline2();
            AnonymousUserFacade    anonymousFacade   = GetAnonymousFacade();
            IList <AirlineCompany> airlineCompanies1 = anonymousFacade.GetAllAirlineCompanies();
            IList <AirlineCompany> airlineCompanies2 = new List <AirlineCompany>();

            airlineCompanies2.Add(airlineCompany1);
            airlineCompanies2.Add(airlineCompany2);
            List <AirlineCompany> a1 = (List <AirlineCompany>)airlineCompanies1;
            List <AirlineCompany> a2 = (List <AirlineCompany>)airlineCompanies2;

            CollectionAssert.AreEqual(a1, a2);
            Assert.AreEqual(airlineCompanies1[0].ID, airlineCompanies2[0].ID);
            Assert.AreEqual(airlineCompanies1[0].AIRLINE_NAME, airlineCompanies2[0].AIRLINE_NAME);
            Assert.AreEqual(airlineCompanies1[0].USER_NAME, airlineCompanies2[0].USER_NAME);
            Assert.AreEqual(airlineCompanies1[0].PASSWORD, airlineCompanies2[0].PASSWORD);
            Assert.AreEqual(airlineCompanies1[0].COUNTRY_CODE, airlineCompanies2[0].COUNTRY_CODE);
            Assert.AreEqual(airlineCompanies1[1].ID, airlineCompanies2[1].ID);
            Assert.AreEqual(airlineCompanies1[1].AIRLINE_NAME, airlineCompanies2[1].AIRLINE_NAME);
            Assert.AreEqual(airlineCompanies1[1].USER_NAME, airlineCompanies2[1].USER_NAME);
            Assert.AreEqual(airlineCompanies1[1].PASSWORD, airlineCompanies2[1].PASSWORD);
            Assert.AreEqual(airlineCompanies1[1].COUNTRY_CODE, airlineCompanies2[1].COUNTRY_CODE);
        }
示例#8
0
        public void AnonymousFacade_GetFlightById_FlightFound()
        {
            Flight newFlight = null;
            Flight f         = null;

            InitDBUnitTest.InitDB();
            Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1();
            AnonymousUserFacade anonymousFacade = GetAnonymousFacade();

            newFlight    = CreateNewFlight1();
            newFlight.ID = flight.ID;
            newFlight.AIRLINECOMPANY_ID        = flight.AIRLINECOMPANY_ID;
            newFlight.ORIGIN_COUNTRY_CODE      = flight.ORIGIN_COUNTRY_CODE;
            newFlight.DESTINATION_COUNTRY_CODE = flight.DESTINATION_COUNTRY_CODE;
            f = anonymousFacade.GetFlightById(newFlight.ID);
            Assert.AreNotEqual(f, null);
            Assert.AreEqual(f.ID, newFlight.ID);
            Assert.AreEqual(f.AIRLINECOMPANY_ID, newFlight.AIRLINECOMPANY_ID);
            Assert.AreEqual(f.ORIGIN_COUNTRY_CODE, newFlight.ORIGIN_COUNTRY_CODE);
            Assert.AreEqual(f.DESTINATION_COUNTRY_CODE, newFlight.DESTINATION_COUNTRY_CODE);
            Assert.AreEqual(f.DEPARTURE_TIME, newFlight.DEPARTURE_TIME);
            Assert.AreEqual(f.LANDING_TIME, newFlight.LANDING_TIME);
            Assert.AreEqual(f.REMANING_TICKETS, newFlight.REMANING_TICKETS);
            Assert.AreEqual(f.TOTAL_TICKETS, newFlight.TOTAL_TICKETS);
        }
示例#9
0
        public AnonymousUserFacade GetAnonymousFacade()
        {
            FlyingCenterSystem  FCS             = FlyingCenterSystem.GetFlyingCenterSystemInstance();
            AnonymousUserFacade anonymousFacade = FCS.GetFacade(null) as AnonymousUserFacade;

            return(anonymousFacade);
        }
        public bool TryLogin(string userName, string password, out ILoginToken token, out FacadeBase facade)
        {
            _logger.Info($"{userName} trying to login");

            if (userName == "admin" && password == "9999")
            {
                token  = new LoginToken <Administrator>(new Administrator("Admin", "Admin", AdminLevel.Main_Admin, new User(userName, password, "*****@*****.**", UserRoles.Administrator)));
                facade = new LoggedInAdministratorFacade();
                _logger.Info($"{userName} succeeded to login as main administrator");
                return(true);
            }

            try
            {
                User user = _userDAO.GetUserByUserNameAndPassword(userName, password);

                if (user == null)
                {
                    throw new WrongCredentialsException();
                }

                switch (user.UserRole)
                {
                case UserRoles.Administrator:
                    Administrator administrator = _adminDAO.GetAdministratorByUserId(user.Id);
                    token  = new LoginToken <Administrator>(administrator);
                    facade = new LoggedInAdministratorFacade();
                    break;

                case UserRoles.Airline_Company:
                    AirlineCompany airlineCompany = _airlineDAO.GetAirlineCompanyByUserId(user.Id);
                    token  = new LoginToken <AirlineCompany>(airlineCompany);
                    facade = new LoggedInAirlineFacade();
                    break;

                case UserRoles.Customer:
                    Customer customer = _customerDAO.GetCustomerByUserId(user.Id);
                    token  = new LoginToken <Customer>(customer);
                    facade = new LoggedInCustomerFacade();
                    break;

                default:    //Will not happen
                    token  = null;
                    facade = new AnonymousUserFacade();
                    break;
                }

                _logger.Info($"{userName} succeeded to login as {user.UserRole}");

                return(true);
            }
            catch (WrongCredentialsException)
            {
                token  = null;
                facade = new AnonymousUserFacade();
                _logger.Info($"{userName} failed to login");
                return(false);
            }
        }
        public void GetFacade_UserIsAnonymous_FacadeExists()
        {
            FlyingCenterSystem flyingCenterSystem = FlyingCenterSystem.GetInstance();

            AnonymousUserFacade anonymousUser = (AnonymousUserFacade)FlyingCenterSystem.FacadeList[0];

            Assert.IsInstanceOfType(anonymousUser, typeof(AnonymousUserFacade));
        }
示例#12
0
        public void GetAllArlineCompanies()
        {
            tc.PrepareDBForTests();
            AirlineCompany airline = tc.CreateRandomCompany();

            airline.Id = tc.adminFacade.CreateNewAirline(tc.adminToken, airline);
            IList <AirlineCompany> AirlineCompanies = new AnonymousUserFacade().GetAllAirlineCompanies();

            Assert.AreEqual(AirlineCompanies.Count, 2);
        }