public void Complete_SavesTheChangesToTheLoginTable_LoginFoundInDatabase()
        {
            var login = new Login() {Username = "******", Password = "******", Store = new Store() {StoreName = "Test"} };
            _unitOfWork.Logins.Add(login);
            _unitOfWork.Complete();

            Assert.That(_unitOfWork.Logins.CheckUsername("Test"), Is.EqualTo(login));
        }
        public void CheckUsernameAndPassword_UsernameAndPasswdBothMatch_Return1()
        {
            Store store = new Store();
            var login = new Login() { Username = "******", Password = "******", Store = new Store() { StoreName = "TestStore" } };
            _context.Logins.Add(login);
            _context.SaveChanges();
            var pass = new SecureString();
            pass.AppendChar('p');
            pass.AppendChar('a');
            pass.AppendChar('s');
            pass.AppendChar('s');
            pass.AppendChar('w');
            pass.AppendChar('d');

            Assert.That(_login.CheckUsernameAndPassword("TestUser", pass, ref store), Is.EqualTo(1));
        }
        public void CheckUsernameAndPassword_CheckIfItRefStoreIsEqualToReqeustedStoreIfPasswordIsCorrect_RefStoreSameAsRequested()
        {
            Store storeGotten = _store;
            string username = "******";
            Login login = new Login();
            login.Id = 1;
            login.Password = "******";
            login.Store = _store;
            login.Username = username;

            SecureString secureString = new SecureString();
            secureString.AppendChar('1');
            secureString.AppendChar('2');
            secureString.AppendChar('3');
            _unitOfWork.Logins.CheckUsername(username).Returns(login);
            _unitOfWork.Logins.CheckLogin(secureString, login).Returns(_store);
            _uut.CheckUsernameAndPassword(username, secureString, ref storeGotten);
            Assert.That(storeGotten, Is.EqualTo(_store));
        }
        public void SetUp()
        {
            _context = new DataContext();
            _store = new Store() {StoreName = "TestStore"};
            _loginRepository = new LoginRepository(_context);
            _context.Database.Connection.ConnectionString = "Server=.\\SQLEXPRESS;Database=Pristjek220Data.DataContext; Trusted_Connection=True;";
            _context.Database.ExecuteSqlCommand("dbo.TestCleanTable");
            _context.Stores.Add(_store);
            _login = new Login() { Username = "******", Password = "******", Store = _store };
            _context.Logins.Add(_login);
            _context.SaveChanges();

            _passwd = new SecureString();
            _passwd.AppendChar('p');
            _passwd.AppendChar('a');
            _passwd.AppendChar('s');
            _passwd.AppendChar('s');
            _passwd.AppendChar('w');
            _passwd.AppendChar('d');
        }
 public void CheckLogin_WrongUsernameAndPasswordEntered_TestStoreIsReturned()
 {
     var wrongLogin = new Login();
     Assert.That(_loginRepository.CheckLogin(_passwd, wrongLogin), Is.EqualTo(null));
 }
 public void CheckLogin_NoPasswdEntered_NullIsReturned()
 {
     var wrongLogin = new Login();
     SecureString emptyPasswd = null;
     Assert.That(_loginRepository.CheckLogin(emptyPasswd, wrongLogin), Is.EqualTo(null));
 }
Exemple #7
0
        /// <summary>
        ///     Takes a Username, password and storename, if the store does not exist and the password is not empty the Store will
        ///     be created in the database with the password
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="storeName"></param>
        /// <returns>-1 if store is not found, retruns -2 if password is empty and returns 1 if the login has been created</returns>
        public int CreateLogin(string userName, SecureString password, string storeName)
        {
            if (_unitOfWork.Stores.FindStore(storeName) != null)
            {
                return -1;
            }

            var code = ConvertToUnsecureString(password);

            if (code == "")
                return -2;

            using (var hash = SHA256.Create())
            {
                var enc = Encoding.UTF8;

                var input = code;
                var result = hash.ComputeHash(enc.GetBytes(input));

                var sb = new StringBuilder();
                foreach (var b in result)
                    sb.Append(b.ToString("x2"));
                code = sb.ToString();
            }

            var store = new Store {StoreName = storeName};
            AddStore(store);
            userName = char.ToUpper(userName[0]) + userName.Substring(1).ToLower();
            var login = new Login {Username = userName, Password = code, Store = store};
            _unitOfWork.Logins.Add(login);
            return _unitOfWork.Complete();
        }