def test_cots_trip_removal_simple_post(mock_rabbitmq): """ simple trip removal post """ cots_6113 = get_fixture_data('cots_train_6113_trip_removal.json') res = api_post('/cots', data=cots_6113) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 1 assert len(TripUpdate.query.all()) == 1 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() assert mock_rabbitmq.call_count == 1
def test_cots_trip_removal_post_twice(mock_rabbitmq): """ double trip removal post """ cots_6113 = get_fixture_data('cots_train_6113_trip_removal.json') res = api_post('/cots', data=cots_6113) assert res == 'OK' res = api_post('/cots', data=cots_6113) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 2 assert len(TripUpdate.query.all()) == 1 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() # the rabbit mq has to have been called twice assert mock_rabbitmq.call_count == 2
def test_cots_trip_with_parity_one_unknown_vj(mock_rabbitmq): """ a trip with a parity has been impacted, but the train 6112 is not known by navitia there should be only the train 6113 impacted """ cots_6113 = get_fixture_data('cots_train_6113_trip_removal.json') cots_6112_13 = cots_6113.replace('"numeroCourse": "006113",', '"numeroCourse": "006112/3",') res = api_post('/cots', data=cots_6112_13) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 1 assert len(TripUpdate.query.all()) == 1 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() assert mock_rabbitmq.call_count == 1
def test_ire_trip_with_parity_one_unknown_vj(mock_rabbitmq): """ a trip with a parity has been impacted, but the train 6112 is not known by navitia there should be only the train 6113 impacted """ ire_6113 = get_fixture_data('train_6113_trip_removal.xml') ire_6112_13 = ire_6113.replace('<NumeroTrain>006113</NumeroTrain>', '<NumeroTrain>006112/3</NumeroTrain>') res = api_post('/ire', data=ire_6112_13) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 1 assert len(TripUpdate.query.all()) == 1 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() assert mock_rabbitmq.call_count == 1
def test_cots_delayed_and_trip_removal_post(mock_rabbitmq): """ post delayed stops on one trip then trip removal on another """ cots_96231 = get_fixture_data('cots_train_96231_delayed.json') res = api_post('/cots', data=cots_96231) assert res == 'OK' cots_6113 = get_fixture_data('cots_train_6113_trip_removal.json') res = api_post('/cots', data=cots_6113) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 2 assert len(TripUpdate.query.all()) == 2 assert len(StopTimeUpdate.query.all()) == 6 check_db_96231_delayed(contributor='realtime.cots') check_db_6113_trip_removal() # the rabbit mq has to have been called twice assert mock_rabbitmq.call_count == 2
def test_cots_trip_with_parity(mock_rabbitmq): """ a trip with a parity has been impacted, there should be 2 VJ impacted """ cots_6113 = get_fixture_data('cots_train_6113_trip_removal.json') cots_6113_14 = cots_6113.replace('"numeroCourse": "006113",', '"numeroCourse": "006113/4",') res = api_post('/cots', data=cots_6113_14) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 1 # there should be 2 trip updated, # - trip:OCETGV-87686006-87751008-2:25768-2 for the headsign 6114 # - trip:OCETGV-87686006-87751008-2:25768 for the headsign 6113 assert len(TripUpdate.query.all()) == 2 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() check_db_6114_trip_removal() assert mock_rabbitmq.call_count == 1
def test_ire_trip_with_parity(mock_rabbitmq): """ a trip with a parity has been impacted, there should be 2 VJ impacted """ ire_6113 = get_fixture_data('train_6113_trip_removal.xml') ire_6113_14 = ire_6113.replace('<NumeroTrain>006113</NumeroTrain>', '<NumeroTrain>006113/4</NumeroTrain>') res = api_post('/ire', data=ire_6113_14) assert res == 'OK' with app.app_context(): assert len(RealTimeUpdate.query.all()) == 1 # there should be 2 trip updated, # - trip:OCETGV-87686006-87751008-2:25768-2 for the headsign 6114 # - trip:OCETGV-87686006-87751008-2:25768 for the headsign 6113 assert len(TripUpdate.query.all()) == 2 assert len(StopTimeUpdate.query.all()) == 0 check_db_6113_trip_removal() check_db_6114_trip_removal() assert mock_rabbitmq.call_count == 1