def test_equipment_reports_with_forbidden_uris(self): """ with forbidden_uris parameters """ mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager("main_routing_test"), data=standard_mock_elevator_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter + default_forbidden_uris_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "unknown"), ("2", "escalator", "unknown"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] # stop B is forbidden and there is only the D line which doesn't have stop point B. expected_result = {"D": {"stopA": stopA_equipment_details}} equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 1 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result)
def test_equipment_reports_with_wrong_id(self): """ wrong id test """ # Bad id inside received data mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager( "main_routing_test"), data=wrong_mock_with_bad_id_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "unknown"), ("2", "escalator", "unknown"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "unknown"), ("7", "elevator", "unknown"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] expected_result = { "A": { "stopA": stopA_equipment_details, "stopB": stopb_equipment_details }, "B": { "stopA": stopA_equipment_details, "stopB": stopb_equipment_details }, "C": { "stopA": stopA_equipment_details, "stopB": stopb_equipment_details }, "D": { "stopA": stopA_equipment_details }, "M": { "stopA": stopA_equipment_details, "stopB": stopb_equipment_details }, } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 5 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result)
def test_equipment_reports_with_uri(self): """ with uri filter """ mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager("main_routing_test"), data=standard_mock_elevator_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region(default_line_uri_filter + 'equipment_reports?' + default_date_filter) # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "unknown"), ("2", "escalator", "unknown"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "available"), ("7", "elevator", "unavailable"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] # filtered with the A line that serve stopA and stopB expected_result = {"A": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}} equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 1 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result) response = self.query_region(default_stop_areas_uri_filter + 'equipment_reports?' + default_date_filter) # Filtered with the stopA stop_area. # The A, B, C, D, M Line serve stopA expected_result = { "A": {"stopA": stopA_equipment_details}, "B": {"stopA": stopA_equipment_details}, "C": {"stopA": stopA_equipment_details}, "D": {"stopA": stopA_equipment_details}, "K": {"stopA": stopA_equipment_details}, "M": {"stopA": stopA_equipment_details}, "PM": {"stopA": stopA_equipment_details}, } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 7 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result)
def test_equipment_reports_with_filter(self): """ added an extra filter """ mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager( "main_routing_test"), data=standard_mock_elevator_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter + default_line_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "unknown"), ("2", "escalator", "unknown"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "available"), ("7", "elevator", "unavailable"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] # filtered with the A line expected_result = { "A": { "stopA": stopA_equipment_details, "stopB": stopb_equipment_details } } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 1 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result)
def test_equipment_reports(self): """ simple equipment_reports call """ # only elevator within received data mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager("main_routing_test"), data=standard_mock_elevator_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "unknown"), ("2", "escalator", "unknown"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "available"), ("7", "elevator", "unavailable"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] expected_result = { "A": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "B": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "C": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "D": {"stopA": stopA_equipment_details}, "K": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "M": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "PM": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 7 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result) # only escalator within received data mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager("main_routing_test"), data=standard_mock_escalator_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "available"), ("2", "escalator", "unavailable"), ("3", "escalator", "unknown"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "unknown"), ("7", "elevator", "unknown"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] expected_result = { "A": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "B": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "C": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "D": {"stopA": stopA_equipment_details}, "K": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "M": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "PM": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 7 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result) # Mixed escalator/elevator within received data mock_equipment_providers( equipment_provider_manager=self.equipment_provider_manager("main_routing_test"), data=standard_mock_mixed_data, code_types_list=["TCL_ASCENSEUR", "TCL_ESCALIER"], ) response = self.query_region('equipment_reports?' + default_date_filter) warnings = get_not_null(response, 'warnings') assert len(warnings) == 1 assert warnings[0]['id'] == 'beta_endpoint' # Expected response stopA_equipment_details = [ ("5", "elevator", "unknown"), ("1", "escalator", "available"), ("2", "escalator", "unknown"), ("3", "escalator", "available"), ("4", "escalator", "unknown"), ] stopb_equipment_details = [ ("6", "elevator", "available"), ("7", "elevator", "unknown"), ("8", "elevator", "unknown"), ("9", "elevator", "unknown"), ] expected_result = { "A": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "B": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "C": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "D": {"stopA": stopA_equipment_details}, "K": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "M": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, "PM": {"stopA": stopA_equipment_details, "stopB": stopb_equipment_details}, } equipment_reports = get_not_null(response, 'equipment_reports') assert len(equipment_reports) == 7 for equipment_report in equipment_reports: is_valid_equipment_report(equipment_report) self._check_equipment_report(equipment_reports, expected_result)