Исправлены критические замечания

This commit is contained in:
2026-01-18 21:33:46 +03:00
parent 762d539d52
commit ba74b521dc
11 changed files with 143 additions and 90 deletions
+60 -33
View File
@@ -89,17 +89,25 @@ def test_bookings_stg_ddl_dag_structure():
}
assert expected_tasks.issubset(dag.task_dict.keys())
# Проверка линейных зависимостей
# Справочники создаются после bookings/tickets
assert dag.has_task("apply_stg_bookings_ddl")
assert dag.has_task("apply_stg_tickets_ddl")
assert dag.has_task("apply_stg_airports_ddl")
assert dag.has_task("apply_stg_airplanes_ddl")
assert dag.has_task("apply_stg_routes_ddl")
assert dag.has_task("apply_stg_seats_ddl")
assert dag.has_task("apply_stg_flights_ddl")
assert dag.has_task("apply_stg_segments_ddl")
assert dag.has_task("apply_stg_boarding_passes_ddl")
# Линейные зависимости: bookings/tickets → справочники → транзакции
t_bookings = dag.get_task("apply_stg_bookings_ddl")
t_tickets = dag.get_task("apply_stg_tickets_ddl")
t_airports = dag.get_task("apply_stg_airports_ddl")
t_airplanes = dag.get_task("apply_stg_airplanes_ddl")
t_routes = dag.get_task("apply_stg_routes_ddl")
t_seats = dag.get_task("apply_stg_seats_ddl")
t_flights = dag.get_task("apply_stg_flights_ddl")
t_segments = dag.get_task("apply_stg_segments_ddl")
t_boarding = dag.get_task("apply_stg_boarding_passes_ddl")
assert t_tickets in t_bookings.get_direct_relatives("downstream")
assert t_airports in t_tickets.get_direct_relatives("downstream")
assert t_airplanes in t_airports.get_direct_relatives("downstream")
assert t_routes in t_airplanes.get_direct_relatives("downstream")
assert t_seats in t_routes.get_direct_relatives("downstream")
assert t_flights in t_seats.get_direct_relatives("downstream")
assert t_segments in t_flights.get_direct_relatives("downstream")
assert t_boarding in t_segments.get_direct_relatives("downstream")
def test_bookings_to_gp_stage_dag_structure():
@@ -130,25 +138,44 @@ def test_bookings_to_gp_stage_dag_structure():
}
assert expected_tasks.issubset(dag.task_dict.keys())
# Проверка линейных зависимостей
# bookings/tickets → справочники → транзакции → финальный лог
assert dag.has_task("generate_bookings_day")
assert dag.has_task("load_bookings_to_stg")
assert dag.has_task("check_row_counts")
assert dag.has_task("load_tickets_to_stg")
assert dag.has_task("check_tickets_dq")
assert dag.has_task("load_airports_to_stg")
assert dag.has_task("check_airports_dq")
assert dag.has_task("load_airplanes_to_stg")
assert dag.has_task("check_airplanes_dq")
assert dag.has_task("load_routes_to_stg")
assert dag.has_task("check_routes_dq")
assert dag.has_task("load_seats_to_stg")
assert dag.has_task("check_seats_dq")
assert dag.has_task("load_flights_to_stg")
assert dag.has_task("check_flights_dq")
assert dag.has_task("load_segments_to_stg")
assert dag.has_task("check_segments_dq")
assert dag.has_task("load_boarding_passes_to_stg")
assert dag.has_task("check_boarding_passes_dq")
assert dag.has_task("finish_summary")
# Линейные зависимости: bookings/tickets → справочники → транзакции → финальный лог
t_generate = dag.get_task("generate_bookings_day")
t_bookings = dag.get_task("load_bookings_to_stg")
t_bookings_dq = dag.get_task("check_row_counts")
t_tickets = dag.get_task("load_tickets_to_stg")
t_tickets_dq = dag.get_task("check_tickets_dq")
t_airports = dag.get_task("load_airports_to_stg")
t_airports_dq = dag.get_task("check_airports_dq")
t_airplanes = dag.get_task("load_airplanes_to_stg")
t_airplanes_dq = dag.get_task("check_airplanes_dq")
t_routes = dag.get_task("load_routes_to_stg")
t_routes_dq = dag.get_task("check_routes_dq")
t_seats = dag.get_task("load_seats_to_stg")
t_seats_dq = dag.get_task("check_seats_dq")
t_flights = dag.get_task("load_flights_to_stg")
t_flights_dq = dag.get_task("check_flights_dq")
t_segments = dag.get_task("load_segments_to_stg")
t_segments_dq = dag.get_task("check_segments_dq")
t_boarding = dag.get_task("load_boarding_passes_to_stg")
t_boarding_dq = dag.get_task("check_boarding_passes_dq")
t_finish = dag.get_task("finish_summary")
assert t_bookings in t_generate.get_direct_relatives("downstream")
assert t_bookings_dq in t_bookings.get_direct_relatives("downstream")
assert t_tickets in t_bookings_dq.get_direct_relatives("downstream")
assert t_tickets_dq in t_tickets.get_direct_relatives("downstream")
assert t_airports in t_tickets_dq.get_direct_relatives("downstream")
assert t_airports_dq in t_airports.get_direct_relatives("downstream")
assert t_airplanes in t_airports_dq.get_direct_relatives("downstream")
assert t_airplanes_dq in t_airplanes.get_direct_relatives("downstream")
assert t_routes in t_airplanes_dq.get_direct_relatives("downstream")
assert t_routes_dq in t_routes.get_direct_relatives("downstream")
assert t_seats in t_routes_dq.get_direct_relatives("downstream")
assert t_seats_dq in t_seats.get_direct_relatives("downstream")
assert t_flights in t_seats_dq.get_direct_relatives("downstream")
assert t_flights_dq in t_flights.get_direct_relatives("downstream")
assert t_segments in t_flights_dq.get_direct_relatives("downstream")
assert t_segments_dq in t_segments.get_direct_relatives("downstream")
assert t_boarding in t_segments_dq.get_direct_relatives("downstream")
assert t_boarding_dq in t_boarding.get_direct_relatives("downstream")
assert t_finish in t_boarding_dq.get_direct_relatives("downstream")