@@ -657,23 +657,23 @@ def test_filter_by_subdivision_and_municipality(client):
657657@pytest .mark .parametrize (
658658 "values" ,
659659 [
660- {"response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
660+ {"response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
661661 {"entity_types" : "vp" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" ]},
662662 {"entity_types" : "sa,vp" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
663- {"entity_types" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
663+ {"entity_types" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
664664 {"entity_types" : "not_valid" , "response_code" : 422 },
665665 {"country_code" : "CA" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
666666 {"country_code" : "CA" , "entity_types" : "sa,vp" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
667- {"country_code" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
667+ {"country_code" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
668668 {"provider" : "no-found-provider" , "response_code" : 200 , "expected_feed_ids" : []},
669669 {"provider" : "transit" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
670- {"provider" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
670+ {"provider" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
671671 {"producer_url" : "foo.org" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
672- {"producer_url" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
672+ {"producer_url" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
673673 {"subdivision_name" : "bc" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
674- {"subdivision_name" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
674+ {"subdivision_name" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
675675 {"municipality" : "vanco" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1562" ]},
676- {"municipality" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" ]},
676+ {"municipality" : "" , "response_code" : 200 , "expected_feed_ids" : ["mdb-1561" , "mdb-1562" , "mdb-1563" ]},
677677 ],
678678 ids = [
679679 "all_none" ,
@@ -723,3 +723,56 @@ def test_gtfs_rt_filters(client, values):
723723 assert len (feeds ) == len (values ["expected_feed_ids" ])
724724 if len (values ["expected_feed_ids" ]) != 0 :
725725 assert any (feed ["id" ] in values ["expected_feed_ids" ] for feed in feeds )
726+
727+
728+ @pytest .mark .parametrize (
729+ "values" ,
730+ [
731+ {"stable_id" : "mdb-1562" , "target_id" : "mdb-40" },
732+ {"stable_id" : "mdb-1563" , "target_id" : "mdb-50" },
733+ ],
734+ ids = [
735+ "integer_static_reference" ,
736+ "string_static_reference" ,
737+ ],
738+ )
739+ def test_gtfs_rt_reference (client , values ):
740+ """Test /v1/gtfs_rt_feeds to make sure it returns the proper feed_reference for integer and string references."""
741+
742+ stable_id = values ["stable_id" ] if "stable_id" in values else None
743+ response = client .request (
744+ "GET" ,
745+ f"/v1/gtfs_rt_feeds/{ stable_id } " ,
746+ headers = authHeaders ,
747+ )
748+ assert response .status_code == 200
749+ feed = response .json ()
750+ assert feed ["feed_references" ][0 ] == values ["target_id" ]
751+
752+
753+ def test_gtfs_redirect (client ):
754+ """Test that a returned feed contains the proper redirects for integer or string redirects."""
755+
756+ response = client .request (
757+ "GET" ,
758+ "/v1/feeds/mdb-50" ,
759+ headers = authHeaders ,
760+ )
761+ assert response .status_code == 200
762+ feed = response .json ()
763+ assert feed ["redirects" ][0 ]["comment" ] == "Some"
764+ assert feed ["redirects" ][1 ]["comment" ] == "Comment"
765+ # spreadsheet contains '40|mdb-702'
766+ assert feed ["redirects" ][0 ]["target_id" ] == "mdb-40"
767+ assert feed ["redirects" ][1 ]["target_id" ] == "mdb-702"
768+
769+ response = client .request (
770+ "GET" ,
771+ "/v1/feeds/mdb-1562" ,
772+ headers = authHeaders ,
773+ )
774+ assert response .status_code == 200
775+ feed = response .json ()
776+ assert feed ["redirects" ][0 ]["comment" ] == ""
777+ # spreadsheet contains '10'
778+ assert feed ["redirects" ][0 ]["target_id" ] == "mdb-10"
0 commit comments