コード例 #1
0
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
コード例 #2
0
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")
コード例 #3
0
ファイル: test_config.py プロジェクト: rcuri/comparenba
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
コード例 #4
0
ファイル: test_config.py プロジェクト: rcuri/comparenba
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
コード例 #5
0
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
コード例 #6
0
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'])
コード例 #7
0
def test_add_user(app):
    app = app(TestingConfig)

    create_test_user(email="*****@*****.**",
                     plain_password="******")

    assert db.session.query(
        user.User).filter_by(email="*****@*****.**").one()
コード例 #8
0
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()
コード例 #9
0
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'
コード例 #10
0
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()
コード例 #11
0
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()
コード例 #12
0
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>'
コード例 #13
0
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()
コード例 #14
0
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")
コード例 #15
0
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
コード例 #16
0
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')
コード例 #17
0
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()
    )
コード例 #18
0
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
コード例 #19
0
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
コード例 #20
0
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
コード例 #21
0
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
コード例 #22
0
def test_player_db_empty(app):
    """Test if Player table is empty upon creation."""
    app = app(TestingConfig)

    assert db.session.query(Player).count() == 0
コード例 #23
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")
コード例 #24
0
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")