@@ -327,10 +327,10 @@ def test_vj_delay(self):
327
327
assert len (vjs [0 ]['codes' ]) == 2
328
328
assert len (vjs [1 ]['codes' ]) == 2
329
329
assert vjs [0 ]['id' ] == 'vehicle_journey:vjA'
330
- assert vjs [1 ]['id' ] == 'vehicle_journey:vjA:modified:0:vjA_delayed'
330
+ assert 'vehicle_journey:vjA:RealTime:' in vjs [1 ]['id' ]
331
331
332
332
vj_ids = [vj ['id' ] for vj in pt_response ['vehicle_journeys' ]]
333
- assert 'vehicle_journey:vjA:modified:0:vjA_delayed' in vj_ids
333
+ assert vjs [ 1 ][ 'id' ] in vj_ids
334
334
335
335
def _check_train_delay_disruption (dis ):
336
336
is_valid_disruption (dis , chaos_disrup = False )
@@ -372,7 +372,9 @@ def _check_train_delay_disruption(dis):
372
372
# In order to not disturb the test, line M which was added afterwards for shared section tests, is forbidden here
373
373
new_response = self .query_region (journey_basic_query + "&data_freshness=realtime&forbidden_uris[]=M&" )
374
374
assert get_arrivals (new_response ) == ['20120614T080436' , '20120614T080520' ]
375
- assert get_used_vj (new_response ) == [[], ['vehicle_journey:vjA:modified:0:vjA_delayed' ]]
375
+ used_vjs = get_used_vj (new_response )
376
+ assert used_vjs [0 ] == []
377
+ assert "vehicle_journey:vjA:RealTime:" in used_vjs [1 ][0 ]
376
378
377
379
pt_journey = new_response ['journeys' ][1 ]
378
380
@@ -475,7 +477,7 @@ def _check_train_delay_disruption(dis):
475
477
assert len (vjs [0 ]['codes' ]) == 2
476
478
assert len (vjs [1 ]['codes' ]) == 2
477
479
assert vjs [0 ]['id' ] == 'vehicle_journey:vjA'
478
- assert vjs [1 ]['id' ] == 'vehicle_journey:vjA:modified:0:vjA_delayed'
480
+ assert 'vehicle_journey:vjA:RealTime:' in vjs [1 ]['id' ]
479
481
480
482
pt_response = self .query_region ('vehicle_journeys/vehicle_journey:vjA?_current_datetime=20120614T1337' )
481
483
assert len (pt_response ['disruptions' ]) == 1
@@ -562,7 +564,7 @@ def _check_train_delay_disruption(dis):
562
564
assert len (vjs [0 ]['codes' ]) == 0
563
565
assert len (vjs [1 ]['codes' ]) == 0
564
566
assert vjs [0 ]['id' ] == 'vehicle_journey:vjB'
565
- assert 'vehicle_journey:vjB:modified ' in vjs [1 ]['id' ]
567
+ assert 'vehicle_journey:vjB:RealTime ' in vjs [1 ]['id' ]
566
568
567
569
vjA = self .query_region ('vehicle_journeys/vehicle_journey:vjA?_current_datetime=20120614T1337' )
568
570
# we now have 2 disruption on vjA
@@ -651,7 +653,7 @@ def test_vj_delay_day_after(self):
651
653
assert len (pt_response ['vehicle_journeys' ]) == (initial_nb_vehicle_journeys + 1 )
652
654
653
655
vj_ids = [vj ['id' ] for vj in pt_response ['vehicle_journeys' ]]
654
- assert 'vehicle_journey:vjA:modified:0:96231_2015-07-28_0 ' in vj_ids
656
+ assert any (( 'vehicle_journey:vjA:RealTime: ' in vj_id for vj_id in vj_ids ))
655
657
656
658
# we should see the disruption
657
659
pt_response = self .query_region ('vehicle_journeys/vehicle_journey:vjA?_current_datetime=20120614T1337' )
@@ -1723,10 +1725,17 @@ def test_stop_time_with_detour_and_arrival_before_deleted_at_the_end(self):
1723
1725
assert response ['physical_modes' ][0 ]['name' ] == 'Tramway'
1724
1726
1725
1727
# Check attributes of deleted stop_time in the concerned vehicle_journey
1726
- vj_query = 'vehicle_journeys/{vj}?_current_datetime={dt}' .format (
1727
- vj = 'vehicle_journey:vjA:modified:0:stop_time_with_detour' , dt = '20120614T080000'
1728
+
1729
+ # since the ids of impacted vjs are random uuid which cannot be know in advance... we have to request all vjs then retrieve the impacted one
1730
+ vjs_query = 'vehicle_journeys/?_current_datetime={dt}' .format (dt = '20120614T080000' )
1731
+ vjs = self .query_region (vjs_query )['vehicle_journeys' ]
1732
+
1733
+ impacted_vj = next ((vj for vj in vjs if 'vehicle_journey:vjA:RealTime:' in vj ['id' ]))
1734
+ impacted_vj_query = 'vehicle_journeys/{vj}?_current_datetime={dt}' .format (
1735
+ vj = impacted_vj ['id' ], dt = '20120614T080000'
1728
1736
)
1729
- response = self .query_region (vj_query )
1737
+ response = self .query_region (impacted_vj_query )
1738
+
1730
1739
assert has_the_disruption (response , 'stop_time_with_detour' )
1731
1740
assert len (response ['vehicle_journeys' ]) == 1
1732
1741
assert len (response ['vehicle_journeys' ][0 ]['stop_times' ]) == 3
@@ -1768,13 +1777,13 @@ def test_add_new_trip(self):
1768
1777
response = self .query_region (ptobj_query )
1769
1778
assert 'pt_objects' not in response
1770
1779
1771
- # Check that no vehicle_journey exists on the future realtime-trip
1772
- vj_query = 'vehicle_journeys/{vj} ?_current_datetime={dt}' .format (
1773
- vj = 'vehicle_journey:additional-trip:modified:0:new_trip' , dt = '20120614T080000'
1774
- )
1775
- response , status = self . query_region ( vj_query , check = False )
1776
- assert status == 404
1777
- assert 'vehicle_journeys' not in response
1780
+ # since the ids of impacted vjs are random uuid which cannot be know in advance... we have to request all vjs then retrieve the impacted one
1781
+ vjs_query = 'vehicle_journeys/?_current_datetime={dt}' .format (dt = '20120614T080000' )
1782
+ vjs = self . query_region ( vjs_query )[ 'vehicle_journeys' ]
1783
+
1784
+ impacted_vj = next (( vj for vj in vjs if 'vehicle_journey:vjA:RealTime:' in vj [ 'id' ]), None )
1785
+ # No vj has been impacted yet
1786
+ assert impacted_vj is None
1778
1787
1779
1788
# Check that no additional line exists
1780
1789
line_query = 'lines/{l}?_current_datetime={dt}' .format (l = 'line:stopC_stopB' , dt = '20120614T080000' )
@@ -1895,6 +1904,15 @@ def test_add_new_trip(self):
1895
1904
assert len ([o for o in response ['pt_objects' ] if o ['id' ] == 'line:stopC_stopB' ]) == 1
1896
1905
assert len ([o for o in response ['pt_objects' ] if o ['id' ] == 'route:stopC_stopB' ]) == 1
1897
1906
1907
+ vjs_query = 'vehicle_journeys/?_current_datetime={dt}' .format (dt = '20120614T080000' )
1908
+ vjs = self .query_region (vjs_query )['vehicle_journeys' ]
1909
+ impacted_vj = next ((vj for vj in vjs if 'vehicle_journey:additional-trip:RealTime:' in vj ['id' ]), None )
1910
+ assert impacted_vj
1911
+
1912
+ vj_query = 'vehicle_journeys/{vj}?_current_datetime={dt}' .format (
1913
+ vj = impacted_vj ['id' ], dt = '20120614T080000'
1914
+ )
1915
+
1898
1916
# Check that the vehicle_journey has been created
1899
1917
response = self .query_region (vj_query )
1900
1918
assert has_the_disruption (response , 'new_trip' )
@@ -1955,6 +1973,9 @@ def test_add_new_trip(self):
1955
1973
assert status == 404
1956
1974
assert 'vehicle_journeys' not in response
1957
1975
1976
+ network_filter_query = 'vehicle_journeys/{vj}/networks?_current_datetime={dt}' .format (
1977
+ vj = impacted_vj ['id' ], dt = '20120614T080000'
1978
+ )
1958
1979
response = self .query_region (network_filter_query )
1959
1980
assert len (response ['networks' ]) == 1
1960
1981
assert response ['networks' ][0 ]['name' ] == 'additional service'
@@ -2165,19 +2186,22 @@ def test_ptref_on_added_trip(self):
2165
2186
resp = self .query_region ("lines/line:stopC_stopB/routes" )
2166
2187
assert resp ["routes" ][0 ]["id" ] == "route:stopC_stopB"
2167
2188
resp = self .query_region ("lines/line:stopC_stopB/vehicle_journeys" )
2168
- assert resp ["vehicle_journeys" ][0 ]["id" ] == "vehicle_journey:additional-trip:modified:0:new_trip"
2189
+ assert "vehicle_journey:additional-trip:RealTime:" in resp ["vehicle_journeys" ][0 ]["id" ]
2169
2190
# Name and headsign are empty
2170
2191
assert resp ["vehicle_journeys" ][0 ]["name" ] == ""
2171
2192
assert resp ["vehicle_journeys" ][0 ]["headsign" ] == ""
2172
2193
2173
2194
# We should be able to get the line from vehicle_journey recently added
2174
- resp = self .query_region ("vehicle_journeys/vehicle_journey:additional-trip:modified:0:new_trip/lines" )
2195
+ vjs_query = 'trips/additional-trip/vehicle_journeys/?_current_datetime={dt}' .format (dt = '20120614T080000' )
2196
+ vjs = self .query_region (vjs_query )['vehicle_journeys' ]
2197
+ impacted_vj = next ((vj for vj in vjs if 'vehicle_journey:additional-trip:RealTime:' in vj ['id' ]), None )
2198
+ assert impacted_vj
2199
+
2200
+ resp = self .query_region ("vehicle_journeys/{vj_id}/lines" .format (vj_id = impacted_vj ['id' ]))
2175
2201
assert resp ["lines" ][0 ]["id" ] == "line:stopC_stopB"
2176
2202
2177
2203
# We should be able to get the physical_mode sent in gtfs-rt from vehicle_journey recently added
2178
- resp = self .query_region (
2179
- "vehicle_journeys/vehicle_journey:additional-trip:modified:0:new_trip/physical_modes"
2180
- )
2204
+ resp = self .query_region ("vehicle_journeys/{vj_id}/physical_modes" .format (vj_id = impacted_vj ['id' ]))
2181
2205
assert resp ["physical_modes" ][0 ]["id" ] == "physical_mode:Bus"
2182
2206
2183
2207
# The following ptref search should work with a trip added.
@@ -2228,13 +2252,11 @@ def test_ptref_on_added_trip(self):
2228
2252
assert resp ["lines" ][7 ]["id" ] == "line:stopC_stopB"
2229
2253
2230
2254
# vehicle_journey <-> company
2231
- resp = self .query_region (
2232
- "vehicle_journeys/vehicle_journey:additional-trip:modified:0:new_trip/companies"
2233
- )
2255
+ resp = self .query_region ("vehicle_journeys/{vj_id}/companies" .format (vj_id = impacted_vj ['id' ]))
2234
2256
assert resp ["companies" ][0 ]["id" ] == "base_company"
2235
2257
resp = self .query_region ("companies/base_company/vehicle_journeys" )
2236
2258
vjs = [vj ["id" ] for vj in resp ["vehicle_journeys" ]]
2237
- assert "vehicle_journey:additional-trip:modified:0:new_trip" in vjs
2259
+ assert impacted_vj [ 'id' ] in vjs
2238
2260
2239
2261
# commercial_mode <-> company
2240
2262
resp = self .query_region ("commercial_modes/commercial_mode:additional_service/companies" )
@@ -2440,8 +2462,12 @@ def test_update_trip_with_physical_mode(self):
2440
2462
assert len (pt_response ['vehicle_journeys' ]) == (initial_nb_vehicle_journeys + 1 )
2441
2463
2442
2464
# physical_mode of the newly created vehicle_journey is the base vehicle_journey physical mode (Tramway)
2465
+ vjs = self .query_region ('trips/vjA/vehicle_journeys' )['vehicle_journeys' ]
2466
+ impacted_vj = next ((vj for vj in vjs if 'vehicle_journey:vjA:RealTime:' in vj ['id' ]), None )
2467
+ assert impacted_vj
2468
+
2443
2469
pt_response = self .query_region (
2444
- 'vehicle_journeys/vehicle_journey:vjA:modified:0:vjA_delayed /physical_modes'
2470
+ 'vehicle_journeys/{vj_id} /physical_modes' . format ( vj_id = impacted_vj [ 'id' ])
2445
2471
)
2446
2472
assert len (pt_response ['physical_modes' ]) == 1
2447
2473
assert pt_response ['physical_modes' ][0 ]['name' ] == 'Tramway'
@@ -2513,10 +2539,13 @@ def test_add_trip_with_headsign(self):
2513
2539
assert pt_journey ['sections' ][0 ]['display_informations' ]['headsign' ] == 'trip_headsign'
2514
2540
2515
2541
# Check the vehicle_journey created by real-time
2516
- new_vj = self .query_region ('vehicle_journeys/vehicle_journey:additional-trip:modified:0:new_trip' )
2517
- assert len (new_vj ['vehicle_journeys' ]) == 1
2518
- assert (new_vj ['vehicle_journeys' ][0 ]['name' ]) == 'trip_headsign'
2519
- assert (new_vj ['vehicle_journeys' ][0 ]['headsign' ]) == 'trip_headsign'
2542
+ vjs = self .query_region ('trips/additional-trip/vehicle_journeys' )['vehicle_journeys' ]
2543
+ new_vjs = [vj for vj in vjs if 'vehicle_journey:additional-trip:RealTime:' in vj ['id' ]]
2544
+ assert len (new_vjs ) == 1
2545
+
2546
+ new_vj = new_vjs [0 ]
2547
+ assert new_vj ['name' ] == 'trip_headsign'
2548
+ assert new_vj ['headsign' ] == 'trip_headsign'
2520
2549
2521
2550
2522
2551
@dataset (MAIN_ROUTING_TEST_SETTING_NO_ADD )
0 commit comments