public TestCenter()
        {
            adminFacade = new LoggedInAdministratorFacade();
            adminToken  = new LoginToken <Administrator> {
                User = new Administrator(FlyingCenterConfig.ADMIN_NAME, FlyingCenterConfig.ADMIN_PASSWORD)
            };

            adminFacade.CreateNewCountry(adminToken, new Country()
            {
                Country_Name = "Israel",
            });


            airlineFacade = new LoggedInAirlineFacade();
            airlineToken  = new LoginToken <AirlineCompany> {
                User = new AirlineCompany("TestAirline", "Airline " + UserTest(), "123", (int)adminFacade.GetCountryByName("Israel").Id)
            };
            adminFacade.CreateNewAirline(adminToken, airlineToken.User);
            airlineToken.User = adminFacade.GetAirlineByUserName(airlineToken.User.User_Name);

            customerFacade = new LoggedInCustomerFacade();
            customerToken  = new LoginToken <Customer> {
                User = new Customer("TestCustomer", "Ben Sadon", UserTest(), "123", "Neria 28", "050", "3317")
            };
            adminFacade.CreateNewCustomer(adminToken, customerToken.User);
            customerToken.User = adminFacade.GetCustomerByUserName(adminToken, customerToken.User.User_Name);
        }
        public LoggedInCustomerFacade GetCustomerFacade(string username, string password)
        {
            int facadeIndex = flyingCenterSystem.UserLogin(username, password);
            LoggedInCustomerFacade customerFacade = (LoggedInCustomerFacade)FlyingCenterSystem.FacadeList[facadeIndex];

            return(customerFacade);
        }
Exemplo n.º 3
0
        public void CustomerFacadeTest()
        {
            FlightCenterConfig.DeleteDataBase();
            long            countryId2 = 0;
            AirLineDAOMSSQL adao       = new AirLineDAOMSSQL();
            CountryDAOMSSQL cydao      = new CountryDAOMSSQL();

            cydao.Add(new Country {
                COUNTRY_NAME = "Israel"
            });
            long countryId1 = cydao.GetCountryId("Israel");

            cydao.Add(new Country {
                COUNTRY_NAME = "Germany"
            });
            countryId2 = cydao.GetCountryId("Germany");
            long airlineCompanyId1 = adao.GetAirlineCompanyId("ISR91");

            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "British Airlines", USER_NAME = "British555", PASSWORD = "******", COUNTRY_CODE = countryId2
            });
            long airlineCompanyId2 = adao.GetAirlineCompanyId("British555");


            Flight flight = new Flight(airlineCompanyId1, airlineCompanyId2, countryId1, new DateTime(2019, 05, 10, 10, 30, 00), new DateTime(2019, 05, 10, 15, 05, 00), 15, "HajajaOnile", "555");
            LoginToken <Customer> customerLogin = new LoginToken <Customer>();

            customerLogin.User           = new Customer();
            customerLogin.User.USER_NAME = "talGever";
            customerLogin.User.PASSWORD  = "******";
            LoggedInCustomerFacade customerFacade = new LoggedInCustomerFacade();

            customerFacade.PurchaseTicket(customerLogin, flight);
        }
Exemplo n.º 4
0
        public void F_CustomerLoginTest()
        {
            new TestFacade().DeleteAllTables();

            LoginToken <Administrator> token = new LoginToken <Administrator>()
            {
                User = new Administrator()
            };

            new LoggedInAdministratorFacade().CreateNewCustomer(token, new Customer("Joe", "Fin", "jf", "*****@*****.**", "111", "China", "100", "4580"));

            // Login

            ILoginService         loginService = new LoginService();
            LoginToken <Customer> loginToken   = new LoginToken <Customer>();

            // Inserting wrong credntials should return a null token
            loginService.TryCustomerLogin("WrongUserName", "WrongPassword", out loginToken);

            Assert.AreEqual(loginToken, null);

            // Valid login, should return an airline token
            loginService.TryCustomerLogin("jf", "111", out loginToken);

            Assert.AreEqual(loginToken.User.GetType(), new Customer().GetType());

            FlightCenterSystem fcs = FlightCenterSystem.GetInstance();

            // Getting the facade
            LoggedInCustomerFacade facade = fcs.GetFacade <Customer>(loginToken) as LoggedInCustomerFacade;

            Assert.AreNotEqual(facade.GetType(), null);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Constractor Of Test Center To Create Facade And Token For Basic Users.
        /// </summary>
        public TestCenter()
        {
            adminFacade = new LoggedInAdministratorFacade();
            adminToken  = FlyingCenterConfig.basicToken;

            adminFacade.CreateNewCountry(adminToken, new Country()
            {
                Country_Name = "Israel",
            });


            airlineFacade = new LoggedInAirlineFacade();
            airlineToken  = new LoginToken <AirlineCompany> {
                User = new AirlineCompany(GetRandomNameForTestUsers(), "Airline " + GetRandomNameForTestUsers(), "123", (int)adminFacade.GetCountryByName("Israel").Id)
            };
            adminFacade.CreateNewAirline(adminToken, airlineToken.User);
            airlineToken.User = adminFacade.GetAirlineByUserName(adminToken, airlineToken.User.User_Name);

            customerFacade = new LoggedInCustomerFacade();
            customerToken  = new LoginToken <Customer> {
                User = new Customer("TestCustomer", "Ben Sadon", "Customer" + "Customer" + GetRandomNameForTestUsers(), "123", "Neria 28", "050", "3317")
            };
            adminFacade.CreateNewCustomer(adminToken, customerToken.User);
            customerToken.User = adminFacade.GetCustomerByUserName(adminToken, customerToken.User.User_Name);
        }
 public void TestForWrongPasswordExceptionCustomer()
 {
     Customer               customer       = new Customer("Noam", "Mori", "noammori", "noam25", "yehud", "05465", "12345");
     FlyingCenterSystem     FlyingCenter   = FlyingCenterSystem.GetInstance();
     LoginToken <Customer>  CustomerToken  = (LoginToken <Customer>)FlyingCenter.Login(customer.UserName, customer.Password);
     LoggedInCustomerFacade CustomerFacade = (LoggedInCustomerFacade)FlyingCenter.GetFacade(CustomerToken);
 }
Exemplo n.º 7
0
        public void CancelTicket_UserTriesToCancelNonExistantTicket_ThrowsException()
        {
            LoggedInCustomerFacade customerFacade = GetCustomerFacade("coo", "6542");
            Ticket ticket = new Ticket(4, customerFacade.LoginToken.User.Id);

            Assert.ThrowsException <NullReferenceException>(new Action(() => { customerFacade.CancelTicket(customerFacade.LoginToken, ticket); }));
        }
Exemplo n.º 8
0
        public void CancelTicket_UserCancelsExistingTicket()
        {
            LoggedInCustomerFacade customerFacade = GetCustomerFacade("doo", "68421");
            Ticket ticket = new Ticket(2, customerFacade.LoginToken.User.Id);

            customerFacade.CancelTicket(customerFacade.LoginToken, ticket);
        }
Exemplo n.º 9
0
 private void GetLoginData(out LoggedInCustomerFacade facade, out LoginToken <Customer> token)
 {
     Request.Properties.TryGetValue("customerLoginToken", out object customerLoginToken);
     token = customerLoginToken as LoginToken <Customer>;
     Request.Properties.TryGetValue("CustomerFacade", out object CustomerFacade);
     facade = CustomerFacade as LoggedInCustomerFacade;
 }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 11
0
        internal static int GetFacade(LoginToken <Customer> loginToken)
        {
            LoggedInCustomerFacade loggedInCustomerFacade = new LoggedInCustomerFacade(loginToken);

            FacadeList.Add(loggedInCustomerFacade);
            FacadeListIndex++;
            return(FacadeListIndex);
        }
Exemplo n.º 12
0
        public void OldPasswordDoesntMatchToTheSystem()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "ddvrew1");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.ChangeMyPassword(loginToken, "vzd474", "12234");
        }
Exemplo n.º 13
0
        public void GetAllMyFlights_UserHasNoFlights_ReturnsNullList()
        {
            LoggedInCustomerFacade customerFacade = GetCustomerFacade("coo", "6542");

            List <Flight> flights = (List <Flight>)customerFacade.GetAllMyFlights(customerFacade.LoginToken);

            Assert.AreEqual(0, flights.Count);
        }
Exemplo n.º 14
0
        public void CustomerFacade_CancelTicket()
        {
            LoggedInCustomerFacade facade = FlyingCenterSystem.GetInstance().Login(TestResource.CUSTOMER_USERNAME, TestResource.CUSTOMER_PASSWORD, out LoginTokenBase login) as LoggedInCustomerFacade;

            Ticket ticket = facade.GetTicketById(19);

            facade.CancelTicket(login as LoginToken <Customer>, ticket);
        }
Exemplo n.º 15
0
        public void NullTriesToChangePasswordException()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "ddvrew1");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.ChangeMyPassword(null, "ddvrew1", "111");
        }
Exemplo n.º 16
0
        public void NullUserTriesToUpdateDetailsException()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "shany203", "dsaasa");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.UpdateUserDetails(null, new Customer());
        }
Exemplo n.º 17
0
        public void NewPasswordEqualsToTheOldOneException()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "ddvrew1");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.ChangeMyPassword(loginToken, "ddvrew1", "ddvrew1");
        }
Exemplo n.º 18
0
        public void PurchaseTicket_ThereAreTicketsAvailable_ReturnsticketInfo()
        {
            LoggedInCustomerFacade customerFacade = GetCustomerFacade("doo", "68421");

            Ticket ticket = customerFacade.PurchaseTicket(customerFacade.LoginToken, 3);

            Assert.IsNotNull(ticket);
        }
        private void TicketDBCreator()
        {
            while (true)
            {
                if (TicketsPerCustomerDataSet.runThread)
                {
                    List <Ticket> tickets = new List <Ticket>();

                    int listBoxIndex   = GetListBoxIndex($"Creating Ticket List. (0/{TicketsPerCustomerDataSet.listSize})");
                    int completedItems = 0;
                    for (int keyIndex = 0; keyIndex < CustomerDataSet.listSize; keyIndex++)
                    {
                        DictionaryOfTicketListSizeByCustomer.TryGetValue(keyIndex, out int currentTicketListSize);
                        for (int index = 1; index <= currentTicketListSize; index++)
                        {
                            Ticket ticket = new Ticket(Random.Next(1, FlightsPerCompanyDataSet.listSize + 1), keyIndex + 1);
                            if (tickets.Count != 0)
                            {
                                foreach (Ticket item in tickets)
                                {
                                    if (item.Equals(ticket))
                                    {
                                        index--;
                                        continue;
                                    }
                                }
                            }
                            tickets.Add(ticket);
                            completedItems++;
                            Dispatcher.Invoke(() => LogList[listBoxIndex] = $"Creating Ticket List. ({completedItems}/{TicketsPerCustomerDataSet.listSize})");
                            UpdateProgress();
                        }
                    }
                    FlightsPerCompanyDataSet.DBCreated.WaitOne();
                    CustomerDataSet.DBCreated.WaitOne();

                    int totalIndex = 0;
                    for (int keyIndex = 0; keyIndex < CustomerDataSet.listSize; keyIndex++)
                    {
                        int facadeIndex = UserLogin(customers[keyIndex].UserName, customers[keyIndex].Password);
                        LoggedInCustomerFacade customerFacade = (LoggedInCustomerFacade)FlyingCenterSystem.FacadeList[facadeIndex];
                        DictionaryOfTicketListSizeByCustomer.TryGetValue(keyIndex, out int currentListSize);
                        for (int index = 0; index < currentListSize; index++, totalIndex++)
                        {
                            customerFacade.PurchaseTicket(customerFacade.LoginToken, tickets[totalIndex].FlightId);
                        }
                    }

                    TicketsPerCustomerDataSet.DBCreated.Set();
                    TicketsPerCustomerDataSet.runThread = false;
                }
                else
                {
                    Thread.Sleep(500);
                }
            }
        }
Exemplo n.º 20
0
 public Authentications()
 {
     AdminToken     = new LoginToken <Administrator>();
     AdminFacade    = new LoggedInAdministratorFacade();
     AirlineToken   = new LoginToken <AirlineCompany>();
     AirlineFacade  = new LoggedInAirlineFacade();
     CustomerToken  = new LoginToken <Customer>();
     CustomerFacade = new LoggedInCustomerFacade();
 }
Exemplo n.º 21
0
        public void ChangeMyPassword_Test()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "12234");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.ChangeMyPassword(loginToken, "12234", "ddvrew1");
            Assert.AreEqual(loginToken.User.User.Password, "ddvrew1");
        }
Exemplo n.º 22
0
 public AuthenticationDetails()
 {
     admin          = new LoginToken <Administrator>();
     adminFacade    = new LoggedInAdministratorFacade();
     airline        = new LoginToken <AirlineCompany>();
     airlineFacade  = new LoggedInAirlineFacade();
     customer       = new LoginToken <Customer>();
     customerFacade = new LoggedInCustomerFacade();
 }
        public async Task <ActionResult <List <Flight> > > GetFlightsByLandingDate([FromBody] DateTime date)
        {
            FlightsCenterSystem.GetInstance().login(GetLoginToken().Name, GetLoginToken().Password,
                                                    out LoginToken <Object> l, out FacadeBase f);
            facade = f as LoggedInCustomerFacade;
            var result = await Task.Run(() => facade.GetFlightsByLandingDate(date));

            return(StatusCode(200, result));
        }
        public async Task <ActionResult <List <Flight> > > GetFlightsByOriginCountry(int country_id)
        {
            FlightsCenterSystem.GetInstance().login(GetLoginToken().Name, GetLoginToken().Password,
                                                    out LoginToken <Object> l, out FacadeBase f);
            facade = f as LoggedInCustomerFacade;
            var result = await Task.Run(() => facade.GetFlightsByOriginCountry(country_id));

            return(StatusCode(200, result));
        }
        public async Task <ActionResult <List <Flight> > > GetAllAirlineCompanies()
        {
            FlightsCenterSystem.GetInstance().login(GetLoginToken().Name, GetLoginToken().Password,
                                                    out LoginToken <Object> l, out FacadeBase f);
            facade = f as LoggedInCustomerFacade;
            var result = await Task.Run(() => facade.GetAllAirlineCompanies());

            return(StatusCode(200, result));
        }
Exemplo n.º 26
0
        public void CustomerBoughtTicketToTheSameFlightTwiceException()
        {
            Flight flight = _flightDAO.Get(1);

            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "vzd474");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.PurchaseTicket(loginToken, flight);
        }
Exemplo n.º 27
0
        public void GetAllMyFlightsSendNullGetException()
        {
            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "vzd474");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            IList <Flight> list = facade.GetAllMyFlights(null);

            Assert.AreEqual(list.Count, 2);
        }
        public void TryLogin()
        {
            GlobalConfig.GetConfiguration(true);
            //login to users
            ILoginToken loginToken;

            new LoginService().TryLogin("customer_username", "customer_password", out loginToken);
            customer_token = (LoginToken <Customer>)loginToken;
            customerFacade = FlightsCenterSystem.Instance.GetFacade(loginToken as LoginToken <Customer>) as LoggedInCustomerFacade;
        }
Exemplo n.º 29
0
        public void NullObjectTryToBuyTicket()
        {
            Flight flight = _flightDAO.Get(9);

            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "vzd474");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.PurchaseTicket(null, flight);
        }
Exemplo n.º 30
0
        public void OutOfTicketsException_Test()
        {
            Flight flight = _flightDAO.Get(7);

            FlightCenterSystem.Instance.Login(out FacadeBase facadeBase, out ILoginToken token, "uri321", "vzd474");
            LoginToken <Customer>  loginToken = (LoginToken <Customer>)token;
            LoggedInCustomerFacade facade     = (LoggedInCustomerFacade)facadeBase;

            facade.PurchaseTicket(loginToken, flight);
        }