def test_loading_of_users(empty_session): users = list() users.append(("bob", "Thisisbob1")) users.append(("not bob", "1234")) insert_users(empty_session, users) expected = [User("bob", "Thisisbob1"), User("not bob", "123456789")] assert empty_session.query(User).all() == expected
def test_username(): user1 = User('Martin', 'pw12345') user2 = User('IAN', 'pw67890') user3 = User('daniel', 'pw87465') user4 = User('', '') assert (repr(user1) == "<User martin>") assert (repr(user2) == "<User ian>") assert (repr(user3) == "<User daniel>") assert (repr(user4) == "<User None>")
def test_watch_movie(): user1 = User('Martin', 'pw12345') m1 = Movie("a", 2000) m2 = Movie("b", 2000) m1.runtime_minutes = 10 m2.runtime_minutes = 20 user1.watch_movie(m1) user1.watch_movie(m2) assert (user1.time_spent_watching_movies_minutes == 30) assert (user1.watched_movies == [m1, m2])
def load_review_and_user(repo: MemoryRepository): # load default review for default user into repository, then load default user into repository. review = Review(movie=repo.get_movie(1), txt='GOTG is my new favourite movie of all time!', rating=10) user = User(username='******', password=generate_password_hash('nton939Password')) user.add_review(review) repo.add_review(review) repo.add_user(user)
def test_repo_can_add_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = User('Artemis', '123456789') repo.add_user(user) repo.add_user(User('Jaeyun', '123456789')) user2 = repo.get_user('artemis') assert user2 == user and user2 is user
def test_update_user_information(simulation): u1 = User('X', '123456') u2 = User('Y', '00000') simulation.add_user(u1) simulation.add_user(u2) m1 = Movie("NEW", 2021) m1.runtime_minutes = 100 simulation.change_movie(m1) simulation.update_user_information() assert len(simulation.administrator.watched_movies) == 1 assert u1.watched_movies[0] == m1 assert u2.time_spent_watching_movies_minutes == 100
def test_write_review_for_everyone(simulation): u1 = User('X', '123456') simulation.add_user(u1) r1 = Review(Movie('WOW', 2020), "A very good movie", 10) simulation.write_review_for_everyone(r1) assert len(simulation.administrator.reviews) == 1 assert u1.reviews[0].movie == Movie('WOW', 2020)
def test_saving_of_users_with_common_username(empty_session): insert_user(empty_session, ("bob", "1234")) empty_session.commit() with pytest.raises(IntegrityError): user = User("bob", "Thisisbob1") empty_session.add(user) empty_session.commit()
def test_share_watchlist(w): w.add_movie(Movie("Moana", 2016)) w.add_movie(Movie("Ice Age", 2002)) w.add_movie(Movie("Guardians of the Galaxy", 2012)) user1 = User("DEF", "wow") w1 = w.share_watchlist(user1) assert w1.watchlist_owner == user1 assert w1.watchlist == w.watchlist
def test_remove_user(simulation): simulation.add_user(User('X', '123456')) simulation.add_user(User('Y', '00000')) simulation.add_user(User('Z', 'abcd')) simulation.remove_user(User('X', '123456')) simulation.remove_user(User('Y', '00000')) simulation.remove_user(User('Z', 'abcd')) simulation.remove_user(User('ABC', '123')) assert simulation.watch_group == [simulation.administrator]
def test_add_user(simulation): simulation.add_user(User('X', '123456')) simulation.add_user(User('Y', '00000')) simulation.add_user(User('Z', 'abcd')) assert simulation.watch_group == [ User('ABC', '123'), User('X', '123456'), User('Y', '00000'), User('Z', 'abcd') ]
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_user_lt(): user1 = User('a', 'pw12345') user2 = User('b', 'pw67890') assert (user2 > user1)
def simulation(): return MovieWatchingSimulation(User('ABC', '123'), Movie("WOW", 2020))
def w(): return WatchList(User('ABC', '123'), "")
def test_add_review(): user1 = User('Martin', 'pw12345') m1 = Movie('a', 2000) r1 = Review(m1, 'wow', 10) user1.add_review(r1) assert (user1.reviews == [r1])
def test_repo_can_retrieve_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('nton939') assert user == User('nton939', 'nton939Password')
def test_user_eq(): user1 = User('a', 'pw12345') user2 = User('b', 'pw67890') assert (user1 != user2)
def test_repo_can_add_user(in_memory_repo): user = User('person', '123456789') in_memory_repo.add_user(user) assert in_memory_repo.get_user('person') == user
def test_repo_can_retrieve_user(in_memory_repo): user = in_memory_repo.get_user('nton939') assert user == User('nton939', 'nton939Password')
def test_user_hash(): user1 = User('a', 'pw12345') user2 = User('a', 'pw67890') assert (hash(user1) == hash(user2))
def make_user(): user = User("bob", "123") return user