def test_postgresqlmanager_df_insert_conflict():
    """
    test_df_insert_conflict is to verify the send_sql method works functionally without a easydb.
    """
    utils.check_integration_test()
    dbvars = utils.get_variables()
    database_manager = db.PostgreSQLManger()
    database_manager.set_connection_data(dbvars)
    table = "test_customers"
    database_manager.open_conn()
    data_frame = pd.DataFrame(
        {
            "id": [9000001, 800001, 2000001, 3000001],
            'first_name': ['brian', 'john', 'mary', 'same'],
            'last_name': ['brian', 'john', 'mary', 'same'],
            'email': ['brian', 'john', 'mary', 'same'],
            'latitude': [1.1, 2.2, 3.3, 4.4],
            'longitude': [1.1, 2.2, 3.3, 4.4],
            'block_id': [1, 2, 3, 4],
            'state_fips': [1, 2, 3, 4],
            'state_code': ['brian', 'john', 'mary', 'same'],
            'block_pop': [1, 2, 3, 4]
        },
        columns=[
            "id", 'first_name', 'last_name', "email", "latitude", "longitude",
            "block_id", "state_fips", "state_code", "block_pop"
        ])
    create_fake_table(database_manager)
    database_manager.df_insert(data_frame, table)
    database_manager.df_insert(data_frame, table, conflict_id="id")
    database_manager.send_sql("DROP TABLE test_customers;")
    database_manager.close_conn()
Exemplo n.º 2
0
def test_postgresqlmanager_send_sql():
    """
    This test is to verify the send_sql method works functionally without a easydb.
    """
    database_manager: db.DatabaseManager = db.PostgreSQLManger()
    database_manager.set_connection_data("this is a test string")
    database_manager.cursor = Mock()
    database_manager.cursor.return_value.execute = [1, 2, 3, 4, 5]
    database_manager.send_sql("this is sql")
    assert database_manager.cursor.execute.call_count == 1
def test_postgresqlmanager_connect_disconnect():
    """
    test_connect_disconnect to verify the send_sql method works functionally without a easydb.
    """
    utils.check_integration_test()
    dbvars = utils.get_variables()
    database_manager = db.PostgreSQLManger()
    database_manager.set_connection_data(dbvars)
    database_manager.open_conn()
    database_manager.close_conn()
Exemplo n.º 4
0
def test_postgresqlmanager_receive_sql_fetchall_not_string():
    """
    This test is to verify the test_receive_sql_fetchall can handle bad inputs
    """
    database_manager: db.DatabaseManager = db.PostgreSQLManger()
    database_manager.set_connection_data("this is a test string")
    database_manager.cursor = Mock()
    database_manager.cursor.return_value.execute = [1, 2, 3, 4, 5]
    try:
        database_manager.receive_sql_fetchall(1)
    except db.NotStr:
        assert True
def test_postgresqlmanager_send_sql():
    """
    test_send_sql is to verify the send_sql method works functionally without a easydb.
    """
    utils.check_integration_test()
    dbvars = utils.get_variables()
    database_manager = db.PostgreSQLManger()
    database_manager.set_connection_data(dbvars)
    database_manager.open_conn()
    table = dbvars["table"]
    database_manager.send_sql(f"SELECT * FROM {table};")
    database_manager.close_conn()
Exemplo n.º 6
0
def test_postgresqlmanager_df_insert_not_df():
    """
    This test is to verify the df_insert can handle bad inputs
    """
    database_manager: db.DatabaseManager = db.PostgreSQLManger()
    database_manager.set_connection_data("this is a test string")
    database_manager.cursor = Mock()
    database_manager.cursor.return_value.execute = [1, 2, 3, 4, 5]
    data_frame = "I am not a dataframe"
    try:
        database_manager.df_insert(data_frame, "fake_table")
    except db.NotDataFrame:
        assert True
Exemplo n.º 7
0
def test_postgresqlmanager_df_insert(mock_execute_batch):
    """
        This test is to verify the df_insert
        method works functionally without a easydb.
    """
    database_manager: db.DatabaseManager = db.PostgreSQLManger()
    database_manager.set_connection_data("this is a test string")
    database_manager.cursor = Mock()
    database_manager.cursor.return_value.execute = [1, 2, 3, 4, 5]
    data_frame = pd.DataFrame({'Brand': ['Honda Civic', 'Toyota Corolla', 'Ford Focus', 'Audi A4'],
                               'Price': [22000, 25000, 27000, 35000]
                               }, columns=['Brand', 'Price'])
    database_manager.df_insert(data_frame, "fake_table")
    assert mock_execute_batch.call_count == 1
Exemplo n.º 8
0
def test_postgresqlmanager_df_insert_table_not_string():
    """
    This test is to verify the df_insert can handle bad input for table
    """
    database_manager: db.DatabaseManager = db.PostgreSQLManger()
    database_manager.set_connection_data("this is a test string")
    database_manager.cursor = Mock()
    database_manager.cursor.return_value.execute = [1, 2, 3, 4, 5]
    data_frame = pd.DataFrame({'Brand': ['Honda Civic', 'Toyota Corolla', 'Ford Focus', 'Audi A4'],
                               'Price': [22000, 25000, 27000, 35000]
                               }, columns=['Brand', 'Price'])
    try:
        database_manager.df_insert(data_frame, 2)
    except db.NotStr:
        assert True