def test_reviews(app): app = app(TestingConfig) # create a user create_test_user(email="*****@*****.**", plain_password="******") user = User.query.filter_by(email="*****@*****.**").one_or_none() # create an item scraped_item = item.Item( name="test name", customer_reviews_count="99", asin="1111111111" ) scraped_item = scraped_item.add(user=user) # add Review using save scraped_review = review.Review( review="testing_long_review", asin=scraped_item.asin, owner=scraped_item ) review.save(scraped_review) model_functions.save_to_db() # check that reviews exists using get results assert db.session.query(review.Review).filter_by(review="testing_long_review").one() assert review.get_results(asin="1111111111").one().review == "testing_long_review" assert ( review.get_results(asin="1111111111", review="testing_long_review").review == "testing_long_review" ) assert review.get_results(asin="1111111112").one_or_none() is None assert review.get_results() is not None
def test_testing_config(app): app = app(TestingConfig) assert app.config["DEBUG"] assert app.config["TESTING"] assert not app.config["PRESERVE_CONTEXT_ON_EXCEPTION"] assert app.config["SQLALCHEMY_DATABASE_URI"] == env.str( "TESTING_SQLALCHEMY_DATABASE_URI")
def test_production_config(app): """Test ProductionConfig configuration.""" app = app('config.ProductionConfig') DB_URL = get_env_db_url("production") assert not app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == DB_URL
def test_development_config(app): """Test DevelopmentConfig configuration.""" app = app('config.DevelopmentConfig') DB_URL = get_env_db_url('development') assert app.config['DEBUG'] assert not app.config['TESTING'] assert app.config['SQLALCHEMY_DATABASE_URI'] == DB_URL
def test_testing_config(app): app = app(TestingConfig) DB_URL = get_env_db_url("testing") assert app.config["DEBUG"] assert app.config["TESTING"] assert not app.config["PRESERVE_CONTEXT_ON_EXCEPTION"] assert app.config["SQLALCHEMY_DATABASE_URI"] == DB_URL
def test_to_dict_function(app): """Test Player's to_dict() function.""" app = app(TestingConfig) test_model_to_insert = Player( player_name="Test Name", player_image="testname.jpg", position="PG", first_nba_season=2019, field_goal_made=100.3, field_goal_attempted=100.3, field_goal_pct=33.3, three_pt_made=100.3, three_pt_attempted=100.3, three_pt_pct=33.3, free_throw_made=100.3, free_throw_attempted=100.3, free_throw_pct=33.3, true_stg_pct=33.3, points=33.3, off_reb=33.3, def_reb=33.3, tot_reb=33.3, assists=33.3, steals=33.3, blocks=33.3, turnovers=33.3, ) db.session.add(test_model_to_insert) db.session.commit() data = test_model_to_insert.to_dict() print(data) assert data['id'] == 1 assert data['player_name'] == 'Test Name' assert data['player_image'] == 'testname.jpg' assert data['positions'] == 'PG' assert data['first_nba_season'] == 2019 assert data['shooting']['field_goal_made'] == 100.3 assert data['shooting']['field_goal_attempted'] == 100.3 assert data['shooting']['field_goal_pct'] == 33.3 assert data['shooting']['three_pt_made'] == 100.3 assert data['shooting']['three_pt_attempted'] == 100.3 assert data['shooting']['three_pt_pct'] == 33.3 assert data['shooting']['free_throw_made'] == 100.3 assert data['shooting']['free_throw_attempted'] == 100.3 assert data['shooting']['free_throw_pct'] == 33.3 assert data['shooting']['true_stg_pct'] == 33.3 assert data['shooting']['points'] == 33.3 assert data['off_reb'] == 33.3 assert data['def_reb'] == 33.3 assert data['tot_reb'] == 33.3 assert data['assists'] == 33.3 assert data['steals'] == 33.3 assert data['blocks'] == 33.3 assert data['turnovers'] == 33.3 assert data['_links']['self'] == url_for('api.get_player_id', id=data['id'])
def test_add_user(app): app = app(TestingConfig) create_test_user(email="*****@*****.**", plain_password="******") assert db.session.query( user.User).filter_by(email="*****@*****.**").one()
def test_player_db_create(app): """Test Player table creation.""" app = app(TestingConfig) test_model_to_insert = Player(player_name='Test Name') db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(Player).one()
def test_user_name(app): """Test User's username field.""" app = app(TestingConfig) test_model_to_insert = User(username='******') db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(User).first().username == 'testuser'
def test_user_db_create(app): """Test User table creation.""" app = app(TestingConfig) test_model_to_insert = User(username='******', ) db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(User).one()
def test_db_create(app): app = app(TestingConfig) scraped_item = item.Item( name="test name", customer_reviews_count="99", asin="1111111111" ) scraped_item = item.save_or_update(scraped_item) model_functions.save_to_db() assert db.session.query(item.Item).one()
def test_player_db_repr(app): """Test Player object representation.""" app = app(TestingConfig) test_model_to_insert = Player(player_name='Test Name') db.session.add(test_model_to_insert) db.session.commit() assert str(db.session.query(Player).first()) == '<Player: Test Name>'
def test_db_create(app): app = app(TestingConfig) test_model_to_insert = model1.Model1( cool_field="test name", cooler_field="Cooler String" ) test_model_to_insert.save() db.session.commit() assert db.session.query(model1.Model1).one()
def test_development_config(app): app = app(DevelopmentConfig) assert app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == env.str( "DEV_SQLALCHEMY_DATABASE_URI") assert app.config["MAIL_SERVER"] == env.str("MAIL_SERVER") assert app.config["MAIL_DEFAULT_SENDER"] == env.str("MAIL_DEFAULT_SENDER") assert app.config["MAIL_PASSWORD"] == env.str("MAIL_PASSWORD") assert app.config["MAIL_USERNAME"] == env.str("MAIL_USERNAME")
def test_valid_player_field(app): """Verify Player fields saved properly.""" app = app(TestingConfig) test_model_to_insert = Player( player_name='Test Name', player_image='testname.jpg', position='PG', first_nba_season=2019, field_goal_made=100.3, field_goal_attempted=100.3, field_goal_pct=33.3, three_pt_made=100.3, three_pt_attempted=100.3, three_pt_pct=33.3, free_throw_made=100.3, free_throw_attempted=100.3, free_throw_pct=33.3, true_stg_pct=33.3, points=33.3, off_reb=33.3, def_reb=33.3, tot_reb=33.3, assists=33.3, steals=33.3, blocks=33.3, turnovers=33.3, ) db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(Player).filter_by(player_name='Test Name').one() assert db.session.query(Player).first().player_name == 'Test Name' assert db.session.query(Player).first().player_image == 'testname.jpg' assert db.session.query(Player).first().position == 'PG' assert db.session.query(Player).first().first_nba_season == 2019 assert db.session.query(Player).first().field_goal_made == 100.3 assert db.session.query(Player).first().field_goal_attempted == 100.3 assert db.session.query(Player).first().field_goal_pct == 33.3 assert db.session.query(Player).first().three_pt_made == 100.3 assert db.session.query(Player).first().three_pt_attempted == 100.3 assert db.session.query(Player).first().three_pt_pct == 33.3 assert db.session.query(Player).first().free_throw_made == 100.3 assert db.session.query(Player).first().free_throw_attempted == 100.3 assert db.session.query(Player).first().free_throw_pct == 33.3 assert db.session.query(Player).first().true_stg_pct == 33.3 assert db.session.query(Player).first().points == 33.3 assert db.session.query(Player).first().off_reb == 33.3 assert db.session.query(Player).first().def_reb == 33.3 assert db.session.query(Player).first().tot_reb == 33.3 assert db.session.query(Player).first().assists == 33.3 assert db.session.query(Player).first().steals == 33.3 assert db.session.query(Player).first().blocks == 33.3 assert db.session.query(Player).first().turnovers == 33.3
def test_user_hash(app): """Test User's hash_password() and verify_password() function.""" app = app(TestingConfig) test_model_to_insert = User(username='******', ) test_model_to_insert.hash_password('password') db.session.add(test_model_to_insert) db.session.commit() assert not db.session.query(User).first().hash_password == 'password' assert db.session.query(User).first().verify_password('password')
def test_many_to_many(app): app = app(TestingConfig) create_test_user(email="*****@*****.**", plain_password="******") create_test_user(email="*****@*****.**", plain_password="******") test_user1 = ( db.session.query(user.User).filter_by(email="*****@*****.**").one() ) login_user(test_user1) scrape(soup=soup, asin="B076V9P58R") test_user2 = ( db.session.query(user.User).filter_by(email="*****@*****.**").one() ) login_user(test_user2) scrape(soup=soup, asin="B076V9P58R") # Test if user 1 persists in DB assert db.session.query(user.User).filter_by(email="*****@*****.**").one() # Test if user 2 persists in DB assert db.session.query(user.User).filter_by(email="*****@*****.**").one() # Test if there is exactly one item in DB assert db.session.query(item.Item).one() # Test that item is attached to user 1 test_user1 = ( db.session.query(user.User).filter_by(email="*****@*****.**").one() ) assert ( item.Item.query.join( users_items_association, (users_items_association.c.user_id == test_user1.id), ) .filter(users_items_association.c.item_id == item.Item.id) .one() ) # Test that item is attached to user 2 test_user2 = ( db.session.query(user.User).filter_by(email="*****@*****.**").one() ) assert ( item.Item.query.join( users_items_association, (users_items_association.c.user_id == test_user2.id), ) .filter(users_items_association.c.item_id == item.Item.id) .one() )
def test_user_db_delete(app): """Test User record deletion.""" app = app(TestingConfig) test_model_to_insert = User(username='******', ) db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(User).one() db.session.delete(test_model_to_insert) db.session.commit() assert db.session.query(User).filter_by( username='******').first() is None
def test_player_db_delete(app): """Test Player record deletion.""" app = app(TestingConfig) test_model_to_insert = Player(player_name='Test Name') db.session.add(test_model_to_insert) db.session.commit() assert db.session.query(Player).one() db.session.delete(test_model_to_insert) db.session.commit() assert db.session.query(Player).filter_by( player_name='Test Name').first() is None
def test_production_config(app): app = app(ProductionConfig) DB_URL = get_env_db_url("production") assert not app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == DB_URL
def test_development_config(app): app = app(DevelopmentConfig) DB_URL = get_env_db_url("development") assert app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == DB_URL
def test_player_db_empty(app): """Test if Player table is empty upon creation.""" app = app(TestingConfig) assert db.session.query(Player).count() == 0
def test_production_config(app): app = app(ProductionConfig) assert not app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == env.str( "PROD_SQLALCHEMY_DATABASE_URI")
def test_development_config(app): app = app(DevelopmentConfig) assert app.config["DEBUG"] assert not app.config["TESTING"] assert app.config["SQLALCHEMY_DATABASE_URI"] == env.str( "DEV_SQLALCHEMY_DATABASE_URI")