Skip to content

Commit a4f0673

Browse files
authored
Merge pull request #4234 from hove-io/deactivate_opg_scenario
_deactivate_opg_scenario journeys arg added
2 parents 9f80c89 + 3c854f5 commit a4f0673

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

source/jormungandr/jormungandr/interfaces/v1/journey_common.py

+7
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,13 @@ def __init__(self, output_type_serializer):
556556
default=None,
557557
help="Show natural opg journeys",
558558
)
559+
parser_get.add_argument(
560+
"_deactivate_opg_scenario",
561+
type=BooleanType(),
562+
hidden=True,
563+
default=False,
564+
help="Deactivate opg scenario",
565+
)
559566
# Advanced parameters for valhalla bike
560567
parser_get.add_argument(
561568
"bike_use_roads",

source/jormungandr/jormungandr/olympic_site_params_manager.py

+4
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ def build(self, pt_object_origin, pt_object_destination, api_request):
225225
# Warning, the order of functions is important
226226
# Order 1 : get_olympic_site_params
227227
# Order 2 : build_api_request
228+
if api_request.get("_deactivate_opg_scenario", False):
229+
logging.getLogger(__name__).warning("OPG scenario decativated.")
230+
return
231+
228232
api_request["olympic_site_params"] = self.get_olympic_site_params(
229233
pt_object_origin, pt_object_destination, api_request
230234
)

source/jormungandr/jormungandr/tests/olympic_site_params_manager_tests.py

+28
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,34 @@ def test_build_departure_and_arrival_poi_jo_add_forbidden_uris():
705705
assert not api_request["olympic_site_params"]['show_natural_opg_journeys']
706706

707707

708+
def test_build_departure_and_arrival_poi_jo_add_forbidden_uris_deactivate_opg_scenario():
709+
instance = FakeInstance(olympics_forbidden_uris=DEFAULT_OLYMPICS_FORBIDDEN_URIS)
710+
osp = FakeOlympicSiteParamsManager(instance, DEFAULT_OLYMPIC_SITE_PARAMS_BUCKET)
711+
osp.fill_olympic_site_params_from_s3()
712+
713+
pt_origin_detail = make_pt_object(type_pb2.POI, 1, 2, "poi:EFG")
714+
property = pt_origin_detail.poi.properties.add()
715+
property.type = DEFAULT_OLYMPICS_FORBIDDEN_URIS["poi_property_key"]
716+
property.value = DEFAULT_OLYMPICS_FORBIDDEN_URIS["poi_property_value"]
717+
718+
pt_destination_detail = make_pt_object(type_pb2.POI, 2, 3, "poi:BCD")
719+
property = pt_destination_detail.poi.properties.add()
720+
property.type = DEFAULT_OLYMPICS_FORBIDDEN_URIS["poi_property_key"]
721+
property.value = DEFAULT_OLYMPICS_FORBIDDEN_URIS["poi_property_value"]
722+
723+
api_request = {"forbidden_uris[]": ["uri1", "uri2"]}
724+
725+
assert not api_request.get("criteria")
726+
assert not api_request.get("max_walking_duration_to_pt")
727+
assert "_keep_olympics_journeys" not in api_request
728+
api_request["datetime"] = osp.get_timestamp('20230715T110000')
729+
api_request["_deactivate_opg_scenario"] = True
730+
osp.build(pt_origin_detail, pt_destination_detail, api_request)
731+
assert "olympic_site_params" not in api_request
732+
assert len(api_request["forbidden_uris[]"]) == 2
733+
assert "_keep_olympics_journeys" not in api_request
734+
735+
708736
def test_get_dict_scenario_invalid_scanario_name():
709737
instance = FakeInstance(olympics_forbidden_uris=DEFAULT_OLYMPICS_FORBIDDEN_URIS)
710738
osp = FakeOlympicSiteParamsManager(instance, DEFAULT_OLYMPIC_SITE_PARAMS_BUCKET)

0 commit comments

Comments
 (0)