Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #5
0
    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)