我正在测试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']
我认为是因为我需要检查令牌,但是我不知道该怎么做。
获取路线:
@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)