Ошибка UnitTest: Ошибка Assertion: b'Philip 'не найден в b' {\ n "msg": "Недостаточно сегментов" \ n} - PullRequest
0 голосов
/ 03 октября 2019

Я тестирую маршрут GET, чтобы проверить, равен ли возвращаемый Json моему списку строк. У моего маршрута есть декоратор @jwt_required, и для проверки пользователя нужен токен. Я издевался над jtw_required и моим ldap.get_group_members. Проблема в том, что я получаю эту ошибку:

AssertionError: {'msg': 'Not enough segments'} not found in ['Philip J. Fry', 'Turanga Leela', 'Bender Bending Rodr\\xc3\\xadguez']

Я думаю, это потому, что мне нужно проверить токен, но я не знаю, как это сделать.

GET Route:

@jwt_required
def user_list():
    list_1 = []
    users = ldap.get_group_members('ship_crew')

    for user in users:
        list_1.append(str(user).split(",")[0].split("=")[1])
    return jsonify(list_1)

Контрольный пример:

class FlaskLogin(unittest.TestCase):


 @patch('dev_maintenance.user_list.jwt_required',return_value=None)
 @patch('dev_maintenance.user_list.ldap.get_group_members',return_value =false)
 def test_get_users(self, get_group_members, jtw_required):

        jtw_required.verify.return_value = False
        get_group_members.verify.return_value = True
        user_list = ["Philip J. Fry","Turanga Leela","Bender Bending Rodr\\xc3\\xadguez" ]

        valid_credentials = base64.b64encode(b'user:pass').decode('utf-8')

        tester = app.test_client(self)
        with tester as client:

            response = client.get(
                '/users',

                content_type='application/json',
                headers={'Authorization': 'Bearer ' + valid_credentials},
                follow_redirects=True)
            json_resp = json.loads(response.data.decode('utf-8'))
            self.assertIn(json_resp, user_list)
...