def test_stop_schedule_with_realtime_only(self):
        mock_requests = MockRequests({
            'http://XXXX?stop_id=syn_stoppoint1': (
                {
                    "departures": [
                        {
                            "line": "Kisio数字 A",
                            "stop": "syn_stoppoint1",
                            "direction_id": "3341",
                            "direction_name": "Piscine Chambéry",
                            "datetime": "2016-01-02T10:17:17+02:00",
                            "type": "E",
                        },
                        {
                            "line": "Kisio数字 A",
                            "stop": "syn_stoppoint1",
                            "direction_id": "3341",
                            "direction_name": "Piscine Chambéry",
                            "type": "E",
                            "datetime": "2016-01-02T11:17:17+02:00",
                        },
                    ]
                },
                200,
            )
        })
        with mock.patch('requests.get', mock_requests.get):
            query = self.query_template_scs.format(sp='SP_1')
            response = self.query_region(query)
            scs = get_not_null(response, 'stop_schedules')
            assert len(scs) == 1
            # 2016-01-02 08:17:00
            assert get_schedule(scs, 'SP_1', 'code A') == [
                {
                    'rt': True,
                    'dt': '20160102T081717'
                },
                {
                    'rt': True,
                    'dt': '20160102T091717'
                },
            ]

            query = self.query_template_dep.format(sp='SP_1')
            response = self.query_region(query)
            dep = get_not_null(response, 'departures')
            assert len(dep) == 2
            assert get_departure(dep, 'SP_1', 'code A') == [
                {
                    'rt': True,
                    'dt': '20160102T081717'
                },
                {
                    'rt': True,
                    'dt': '20160102T091717'
                },
            ]
示例#2
0
    def test_stop_schedule_with_realtime_only(self):
        mock_requests = MockRequests({
            'http://XXXX/syn_stoppoint1': (
                [{
                    "name":
                    "Lianes 5",
                    "code":
                    "Kisio数字 A",
                    "type":
                    "Bus",
                    "schedules": [
                        {
                            "vehicle_lattitude": "44.792112483318",
                            "vehicle_longitude": "-0.56718390706918",
                            "waittime_text": "11 minutes",
                            "trip_id": "268436451",
                            "schedule_id": "268476273",
                            "destination_id": "3341",
                            "destination_name": "Piscine Chambéry",
                            "departure": "2016-01-02 08:17:17",
                            "departure_commande": "2016-01-02 08:17:17",
                            "departure_theorique": "2016-01-02 08:17:17",
                            "arrival": "2016-01-02 08:16:00",
                            "arrival_commande": "2016-01-02 08:16:00",
                            "arrival_theorique": "2016-01-02 08:16:00",
                            "comment": "",
                            "realtime": "1",
                            "waittime": "00:10:53",
                            "updated_at": "2016-01-02 08:16:00",
                            "vehicle_id": "2662",
                            "vehicle_position_updated_at":
                            "2016-01-02 08:16:00",
                            "origin": "bdsi",
                        },
                        {
                            "vehicle_lattitude": "44.814043370749",
                            "vehicle_longitude": "-0.57294492449656",
                            "waittime_text": "19 minutes",
                            "trip_id": "268436310",
                            "schedule_id": "268468351",
                            "destination_id": "3341",
                            "destination_name": "Piscine Chambéry",
                            "departure": "2016-01-02 09:17:17",
                            "departure_commande": "2016-01-02 09:17:17",
                            "departure_theorique": "2016-01-02 09:17:17",
                            "arrival": "2016-01-02 14:45:35",
                            "arrival_commande": "2016-01-02 09:16:00",
                            "arrival_theorique": "2016-01-02 09:16:00",
                            "comment": "",
                            "realtime": "1",
                            "waittime": "00:19:13",
                            "updated_at": "2016-01-02 09:16:00",
                            "vehicle_id": "2660",
                            "vehicle_position_updated_at":
                            "2016-01-02 09:16:00",
                            "origin": "bdsi",
                        },
                    ],
                }],
                200,
            )
        })
        with mock.patch('requests.get', mock_requests.get):
            query = self.query_template_scs.format(sp='SP_1')
            response = self.query_region(query)
            scs = get_not_null(response, 'stop_schedules')
            assert len(scs) == 1
            # 2016-01-02 08:17:00
            assert get_schedule(scs, 'SP_1', 'code A') == [
                {
                    'rt': True,
                    'dt': '20160102T081717'
                },
                {
                    'rt': True,
                    'dt': '20160102T091717'
                },
            ]

            query = self.query_template_dep.format(sp='SP_1')
            response = self.query_region(query)
            dep = get_not_null(response, 'departures')
            assert len(dep) == 2
            assert get_departure(dep, 'SP_1', 'code A') == [
                {
                    'rt': True,
                    'dt': '20160102T081717'
                },
                {
                    'rt': True,
                    'dt': '20160102T091717'
                },
            ]