У меня есть маршрут, который возвращает JSON. Я проверяю этот маршрут, чтобы проверить, равен ли возвращенный json моему ожидаемому json. Когда я тестирую этот маршрут, я получаю эту ошибку: декодирование str не поддерживается
Эта функция работает нормально, она возвращает список, который я хочу. Код из функции, которую я хочу проверить:
@app.route('/users', methods=['GET'])
@jwt_required
def user_list():
users = ldap.get_group_members('ship_crew')
user_list = []
for user in users:
user_list.append((str(user, encoding='utf-8').split(",")[0].split("=")[1]))
return jsonify(user_list)
Тестовый код:
@patch('dev_maintenance.user_list.ldap.get_group_members')
def test_content_type_json(get_group_members, access_token):
get_group_members.return_value = ["cn=Philip J. Fry,ou=people,dc=planetexpress,dc=com",\
"cn=Turanga Leela,ou=people,dc=planetexpress,dc=com",\
"cn=Bender Bending Rodr\u00edguez,ou=people,dc=planetexpress,dc=com"]
with app.test_client() as client:
response = client.get('/users',
data=dict(user="hermes", passwd="hermes"),
headers={"Authorization": "Bearer {}".format(access_token)} )
expected_json = ["Philip J. Fry", "Turanga Leela", "Bender Bending Rodr\u00edguez"]
assert response.get_json() == expected_json
ошибка:
@app.route('/users', methods=['GET'])
@jwt_required
def user_list():
users = ldap.get_group_members('ship_crew')
user_list = []
for user in users:
> user_list.append((str(user, encoding='utf-8').split(",")[0].split("=")[1]))
E TypeError: decoding str is not supported