test_dependency.py
1 import unittest 2 from revolve.functions import * 3 4 from src.revolve.functions import order_tables_by_dependencies 5 6 7 class MyTestCase(unittest.TestCase): 8 def test_dependency_1(self): 9 d_map = {"users": {}, "alerts": {"device_id": {"reltype": "many-to-one", "links_to_table": "devices"}}, 10 "orders": {"payment_id": {"reltype": "one-to-one", "links_to_table": "payments"}, 11 "customer_id": {"reltype": "many-to-one", "links_to_table": "customers"}}, "courses": {}, 12 "devices": {"assigned_to": {"reltype": "many-to-one", "links_to_table": "employees"}}, "regions": {}, 13 "feedback": {"order_id": {"reltype": "many-to-one", "links_to_table": "orders"}, 14 "customer_id": {"reltype": "many-to-one", "links_to_table": "customers"}}, "patients": {}, 15 "payments": {"transaction_id": {"reltype": "many-to-one", "links_to_table": "transactions"}}, 16 "products": {"category_id": {"reltype": "many-to-one", "links_to_table": "categories"}, 17 "supplier_id": {"reltype": "many-to-one", "links_to_table": "suppliers"}}, "settings": {}, 18 "students": {}, "customers": {"referrer_id": {"reltype": "many-to-one", "links_to_table": "users"}}, 19 "employees": {"department_id": {"reltype": "many-to-one", "links_to_table": "departments"}}, 20 "inventory": {"product_id": {"reltype": "one-to-one", "links_to_table": "products"}, 21 "warehouse_id": {"reltype": "many-to-one", "links_to_table": "warehouses"}}, 22 "suppliers": {"region_id": {"reltype": "many-to-one", "links_to_table": "regions"}}, "categories": {}, 23 "warehouses": {"region_id": {"reltype": "many-to-one", "links_to_table": "regions"}}, 24 "audit_trail": {"user_id": {"reltype": "many-to-one", "links_to_table": "users"}}, "departments": {}, 25 "device_logs": {"user_id": {"reltype": "many-to-one", "links_to_table": "users"}, 26 "device_id": {"reltype": "many-to-one", "links_to_table": "devices"}}, 27 "enrollments": {"course_id": {"reltype": "many-to-one", "links_to_table": "courses"}, 28 "student_id": {"reltype": "many-to-one", "links_to_table": "students"}}, 29 "order_items": {"order_id": {"reltype": "many-to-one", "links_to_table": "orders"}, 30 "product_id": {"reltype": "many-to-one", "links_to_table": "products"}}, 31 "appointments": {"doctor_id": {"reltype": "many-to-one", "links_to_table": "employees"}, 32 "patient_id": {"reltype": "many-to-one", "links_to_table": "patients"}}, 33 "transactions": {"processor_id": {"reltype": "many-to-one", "links_to_table": "payment_processors"}}, 34 "payment_processors": {}} 35 # d_map = {"users": {}, "courses": {}, "regions": {}, "patients": {}, "students": {}, "customers": {}, "employees": {}, "categories": {}, "departments": {}, "payment_processors": {}} 36 d_map, _ = order_tables_by_dependencies(d_map) 37 print(d_map) 38 39 self.assertEqual(18, len(d_map.keys())) 40 self.assertEqual("devices", d_map["alerts"][0]) 41 42 43 if __name__ == '__main__': 44 unittest.main()