def test_loading_of_users(empty_session): users = list() users.append(("Andrew", "1234")) users.append(("Cindy", "1111")) insert_users(empty_session, users) expected = [User("Andrew", "1234"), User("Cindy", "999")] assert empty_session.query(User).all() == expected
def test_repository_can_add_a_user(session_factory): print(session_factory, '-------') repo = SqlAlchemyRepository(session_factory) user = User('Dave', '123456789') repo.add_user(user) repo.add_user(User('Martin', '123456789')) user2 = repo.get_user('Dave') assert user2 == user and user2 is user
def test_saving_of_users_with_common_username(empty_session): insert_user(empty_session, ("Andrew", "1234")) empty_session.commit() with pytest.raises(IntegrityError): user = User("Andrew", "111") empty_session.add(user) empty_session.commit()
def load_users(data_path: str, repo: MemoryRepository): users = dict() for data_row in read_csv_file(os.path.join(data_path, 'users.csv')): user = User( username=data_row[1], password=generate_password_hash(data_row[2]) ) repo.add_user(user) users[data_row[0]] = user return users
def add_user(username: str, password: str, repo: AbstractRepository): # Check that the given username is available. user = repo.get_user(username) if user is not None: raise NameNotUniqueException # Encrypt password so that the database doesn't store passwords 'in the clear'. password_hash = generate_password_hash(password) # Create and store the new User, with password encrypted. user = User(username, password_hash) repo.add_user(user)
def test_repository_can_add_a_user(in_memory_repo): user = User('Dave', '123456789') in_memory_repo.add_user(user) assert in_memory_repo.get_user('Dave') is user
def test_repository_can_retrieve_a_user(in_memory_repo): user = in_memory_repo.get_user('fmercury') assert user == User('fmercury', '8734gfe2058v')
def test_repository_can_retrieve_a_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('fmercury') assert user == User('fmercury', '8734gfe2058v')
def user(): return User('dbowie', '1234567890')
def make_user(): user = User("Andrew", "111") return user