Ejemplo n.º 1
0
def main(argv=None):
    """Database main function
    """
    args = parse_cmd_arguments(argv)

    if args.disable_log:
        logger.disable("__main__")
        logger.disable("src.database_operations")

    if args.all_products:
        pprint(db.list_all_products())

    elif args.available_products:
        pprint(db.show_available_products())

    elif args.all_customers:
        pprint(db.list_all_customers())

    elif args.drop_collections:
        db.drop_collections()

    elif args.drop_database:
        db.drop_database()

    elif args.rentals_for_customer:
        pprint(db.rentals_for_customer(args.rentals_for_customer))

    elif args.customers_renting_product:
        pprint(db.show_rentals(args.customers_renting_product))

    elif args.insert:
        pprint(db.import_data(*args.insert))
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_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_drop_collections():
    """Test drop HPNorton collections
    """
    l.drop_collections()

    data_dir = "./data/"
    added, errors = l.import_data(data_dir, "product.csv", "customers.csv",
                                  "rental.csv")

    assert added == (10, 10, 9)
    assert errors == (0, 0, 0)

    l.drop_collections()

    # If drop_collections() wasn't working, the following assertions would fail.

    added, errors = l.import_data(data_dir, "product.csv", "customers.csv",
                                  "rental.csv")

    assert added == (10, 10, 9)
    assert errors == (0, 0, 0)
def test_import_data():
    """ import """
    l.drop_collections()

    data_dir = "./data/"
    added, errors = l.import_data(data_dir, "product.csv", "customers.csv",
                                  "rental.csv")

    for add in added:
        assert isinstance(add, int)

    for error in errors:
        assert isinstance(error, int)

    assert added == (10, 10, 9)
    assert errors == (0, 0, 0)

    added, errors = l.import_data(data_dir, "product.csv", "customers.csv",
                                  "rental.csv")

    assert added == (0, 0, 0)
    assert errors == (10, 10, 9)