示例#1
0
    def test_drivers_post(self):
        url = api.url_for(DriversCtrl)

        payload = {'name': 'John Smith', 'activity': 'start'}

        response = self.client.post(url,
                                    data=json.dumps(payload),
                                    content_type="application/json")

        data = json.loads(response.data.decode('utf-8'))

        assert len({'task', 'driver'} - set(data.keys())) == 0
        assert type(data['task']) == dict
        assert type(data['driver']) == dict

        assert data['driver']['name'] == payload['name']
        assert data['driver']['status'] == 'On Task'

        payload['activity'] = 'complete'
        response = self.client.post(url,
                                    data=json.dumps(payload),
                                    content_type="application/json")

        data = json.loads(response.data.decode('utf-8'))

        assert len({'task', 'driver'} - set(data.keys())) == 0
        assert type(data['task']) == dict
        assert type(data['driver']) == dict

        assert data['driver']['name'] == payload['name']
        assert data['driver']['status'] == 'On Task'

        payload['activity'] = 'break'
        response = self.client.post(url,
                                    data=json.dumps(payload),
                                    content_type="application/json")

        data = json.loads(response.data.decode('utf-8'))

        assert len({'task', 'driver'} - set(data.keys())) == 0
        assert data['task'] is None
        assert type(data['driver']) == dict

        assert data['driver']['name'] == payload['name']
        assert data['driver']['status'] == 'Break'

        payload['activity'] = 'stop'

        response = self.client.post(url,
                                    data=json.dumps(payload),
                                    content_type="application/json")

        data = json.loads(response.data.decode('utf-8'))

        assert len({'task', 'driver'} - set(data.keys())) == 0
        assert data['task'] is None
        assert type(data['driver']) == dict

        assert data['driver']['name'] == payload['name']
        assert data['driver']['status'] == 'Off Work'
示例#2
0
    def test_drivers_get_working(self):
        url = api.url_for(DriversCtrl)

        d1 = Drivers.get_by_identity('Stan Mohan')
        d2 = Drivers.get_by_identity('John Smith')
        d1.ready()
        d2.ready()

        response = self.client.get(url)
        data = dict(json.loads(response.data.decode('utf-8')))

        assert 'drivers' in data.keys()
        assert len(data['drivers']) == 2
示例#3
0
    def test_drivers_get_all(self):
        url = api.url_for(DriversCtrl, type='all')

        response = self.client.get(url)
        data = dict(json.loads(response.data.decode('utf-8')))

        assert 'drivers' in data.keys()

        rows = data['drivers']

        assert len(rows) == len(D_drivers)

        row_keys = {'name', 'status', 'task_id'}
        for row in rows:
            assert len(row_keys - set(row.keys())) == 0
示例#4
0
    def test_flights_get(self):
        url = api.url_for(FlightsCtrl)

        response = self.client.get(url)
        data = dict(json.loads(response.data.decode('utf-8')))

        assert "schedule" in data.keys()

        rows = data['schedule']

        assert len(rows) == len(F_flights)

        row_keys = {
            'type', 'terminal', 'actual_time', 'scheduled_time', 'containers',
            'flight_num'
        }
        for row in rows:
            assert len(row_keys - set(row.keys())) == 0
示例#5
0
    def test_tasks_get(self):
        url = api.url_for(TasksCtrl)

        response = self.client.get(url)
        data = dict(json.loads(response.data.decode('utf-8')))

        assert "tasks" in data.keys()

        rows = data['tasks']

        assert len(rows) == len(T_tasks)

        row_keys = {
            'task_id', 'status', 'containers', 'ready_time', 'source',
            'destination', 'driver'
        }
        for row in rows:
            assert len(row_keys - set(row.keys())) == 0
示例#6
0
    def test_get_all_tasks(self):
        url = api.url_for(TasksCtrl, type='all')
        response = self.client.get(url)

        assert response.status_code == 200