def test_show_available_products(_show_available_products):
    """ available products """
    l.drop_database()
    l.insert_to_mongo("./data/product.csv")
    l.DB_NAME = "HPNorton_PyMongo_L07"
    students_response = l.show_available_products()
    assert students_response == _show_available_products
def test_drop_databases():
    """ Test drop HPNorton database """

    l.insert_to_mongo("./data/customers.csv")
    assert "HPNorton_PyMongo_L07" in l.MONGO.connection.list_database_names()
    l.drop_database()
    assert ("HPNorton_PyMongo_L07"
            not in l.MONGO.connection.list_database_names())
def test_insert_to_mongo():
    """ import given csv file into mongo """

    l.drop_collections()
    data_dir = "./data/"

    added, errors = l.insert_to_mongo(data_dir, "product.csv")
    assert isinstance(added, int)
    assert isinstance(errors, int)
    assert added == 10
    assert errors == 0

    added, errors = l.insert_to_mongo(data_dir, "product.csv")
    assert added == 0
    assert errors == 10

    added, errors = l.insert_to_mongo(data_dir, "customers.csv")
    assert isinstance(added, int)
    assert isinstance(errors, int)
    assert added == 10
    assert errors == 0

    added, errors = l.insert_to_mongo(data_dir, "customers.csv")
    assert added == 0
    assert errors == 10

    added, errors = l.insert_to_mongo(data_dir, "rental.csv")
    assert isinstance(added, int)
    assert isinstance(errors, int)
    assert added == 9
    assert errors == 0

    added, errors = l.insert_to_mongo(data_dir, "rental.csv")
    assert added == 0
    assert errors == 9
def test_rentals_for_customer(_list_rentals_for_customer):
    """ rentals for customers """
    l.drop_database()
    l.insert_to_mongo("./data/customers.csv")
    l.insert_to_mongo("./data/product.csv")
    l.insert_to_mongo("./data/rental.csv")
    my_response = l.rentals_for_customer("C000001")
    assert my_response == _list_rentals_for_customer
def test_show_rentals(_list_customers_renting_product):
    """ rentals """
    l.drop_database()
    l.insert_to_mongo("./data/customers.csv")
    l.insert_to_mongo("./data/product.csv")
    l.insert_to_mongo("./data/rental.csv")
    students_response = l.customers_renting_product("P000001")
    assert students_response == _list_customers_renting_product
def test_insert_to_mongo():
    """ import given csv file into mongo """

    # l.drop_database()
    l.drop_collections()

    results = l.insert_to_mongo("./data/product.csv")
    results = results["product"]
    assert results["success"] == 9
    assert results["fail"] == 0
    assert results["total_records"] == 9
    assert results["elapsed"] > 0

    results = l.insert_to_mongo("./data/customers.csv")
    results = results["customers"]
    assert results["success"] == 9
    assert results["fail"] == 0
    assert results["total_records"] == 9
    assert results["elapsed"] > 0

    results = l.insert_to_mongo("./data/rental.csv")
    results = results["rental"]
    assert results["success"] == 9
    assert results["fail"] == 0
    assert results["total_records"] == 9
    assert results["elapsed"] > 0

    results = l.insert_to_mongo("./data/product.csv")
    results = results["product"]
    assert results["success"] == 0
    assert results["fail"] == 9
    assert results["total_records"] == 9
    assert results["elapsed"] > 0

    results = l.insert_to_mongo("./data/customers.csv")
    results = results["customers"]
    assert results["success"] == 0
    assert results["fail"] == 9
    assert results["total_records"] == 9
    assert results["elapsed"] > 0

    results = l.insert_to_mongo("./data/rental.csv")
    results = results["rental"]
    assert results["success"] == 0
    assert results["fail"] == 9
    assert results["total_records"] == 9
    assert results["elapsed"] > 0
def test_drop_collections():
    """ Test drop HPNorton collections """

    l.insert_to_mongo("./data/customers.csv")
    l.insert_to_mongo("./data/product.csv")
    l.insert_to_mongo("./data/rental.csv")
    collection_names = (
        l.MONGO.connection.HPNorton_PyMongo_L07.list_collection_names())
    assert "customers" in collection_names
    assert "product" in collection_names
    assert "rental" in collection_names
    l.drop_collections()
    collection_names = (
        l.MONGO.connection.HPNorton_PyMongo_L07.list_collection_names())
    assert "customers" not in collection_names
    assert "product" not in collection_names
    assert "rental" not in collection_names
def test_list_all_rentals(_list_all_rentals):
    """ customers """
    l.drop_database()
    l.insert_to_mongo("./data/rental.csv")
    my_response = l.list_all_rentals()
    assert my_response == _list_all_rentals
def test_list_all_products(_list_all_products):
    """ customers """
    l.drop_database()
    l.insert_to_mongo("./data/product.csv")
    my_response = l.list_all_products()
    assert my_response == _list_all_products