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 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_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_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_parallel(_linear_insert): """ parallel import csv """ l.drop_database() results = l.parallel( ["./data/customers.csv", "./data/product.csv", "./data/rental.csv"]) for result in results: del result[next(iter(result))]["elapsed"] assert _linear_insert == results
def test_drop_databases(): """Test drop HPNorton database """ l.drop_database() 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_database() # If drop_database() wasn't working, the following assertions would fail. # This is a sloppy test and I don't like it, works though... # It's something I'd improve upon in a production environment. # But time is limitied, so I choose to move on to new things to learn. 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_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