def test_delete(self): headers = {'Authorization': self.token} t_data = deepcopy(self.test_data) t_data['username'] = '******' t_data['email'] = '*****@*****.**' t_data['password'] = '******' t_user = User(**t_data) t_user.save() user = User.get_by_id(self.id) response = test_app.delete(f'/api/v1/user/{str(t_user.id)}', headers=headers, content_type='application/json') tools.assert_equals(response.status_code, 500) tools.assert_equals(json.loads(response.data)['data'], {'msg': 'user don\'t has authority'}) user.level = 9 user.save() response = test_app.delete(f'/api/v1/user/{str(t_user.id)}', headers=headers, content_type='application/json') json_resp = json.loads(response.data) tools.assert_equals(response.status_code, 200) tools.assert_equals(json_resp.get('data'), {'msg': 'SUCCESS'})
def test_put(self): headers = {'Authorization': self.token} t_data = deepcopy(self.test_data) t_data['username'] = '******' t_data['email'] = '*****@*****.**' t_data['password'] = '******' t_user = User(**t_data) t_user.save() data = json.dumps(t_data) user = User.get_by_id(self.id) user.level = 1 user.save() response = test_app.put(f'/api/v1/user/{str(t_user.id)}', data=data, headers=headers, content_type='application/json') json_resp = json.loads(response.data) tools.assert_equals(response.status_code, 403) tools.assert_equals(json.loads(response.data)['data'], {'msg': 'Don\'t have authority'}) user.level = 9 user.save() t_data['username'] = '******' data = json.dumps(t_data) response = test_app.put(f'/api/v1/user/{str(t_user.id)}', data=data, headers=headers, content_type='application/json') tools.assert_equals(response.status_code, 403) tools.assert_equals(json.loads(response.data)['data'], {'msg': 'Can\'t modify username'}) t_data['password'] = '******' t_data['username'] = '******' data = json.dumps(t_data) response = test_app.put(f'/api/v1/user/{str(t_user.id)}', data=data, headers=headers, content_type='application/json') json_resp = json.loads(response.data) tools.assert_equals(response.status_code, 200) tools.assert_is_not_none(json_resp.get('data')) self.username = t_data.get('username') self.password = t_data.get('password') self.__test_login()
def test_article_put(self): """ 测试edited_article的put接口 1、测试登录认证 2、测试权限问题,普通用户不能提交 """ user = User.get_by_id(self.user_id) user.level = 1 user.save() headers = {'Authorization': self.token} t_data = deepcopy(self.test_data2) t_user_data = deepcopy(self.test_data1) t_article = Article.get_by_id(str(self.article_id_list[0])) t_user_data['username'] = '******' t_user_data['email'] = '*****@*****.**' t_user = User(**t_user_data) t_user.save() t_data['author'] = str(t_user.id) t_data.pop('added') data = json.dumps(t_data) response = test_app.put(f'/api/v1/article/{str(t_article.id)}', data=data, headers=headers, content_type='application/json') tools.assert_equals(response.status_code, 500) tools.assert_equals(json.loads(response.data)['data'], {'msg': 'user don\'t has authority'}) user = User.get_by_id(self.user_id) user.level = 9 user.save() response = test_app.put(f'/api/v1/article/{str(t_article.id)}', data=data, headers=headers, content_type='application/json') json_resp = json.loads(response.data) tools.assert_equals(response.status_code, 200) tools.assert_is_not_none(json_resp.get('data')) tools.assert_is_not_none(json_resp.get('data').get('id')) t_user.delete()
def __test_save(self): user = User(**self.test_data) user.password = util.md5(user.password) user.email = 'email' # user.save( with tools.assert_raises(mongoengine.errors.ValidationError): user = user.save() tools.assert_is_none(user.id) user = User(**self.test_data) user.password = util.md5(user.password) user.save() tools.assert_is_not_none(user.id) self.id = str(user.id) self.username = user.username self.password = self.test_data['password']
def test_login(cls, test_data=None): """ 测试登录是否成功,返回access_token """ if test_data is None: test_data = user_data user = User(**test_data) user.password = util.md5(user.password) user.save() cls.user = user test_user = { 'username': user.username, 'password': test_data.get('password', '') } data = json.dumps(test_user) response = test_app.post('/api/v1/login', data=data, content_type='application/json') json_resp = json.loads(response.data) cls.id = str(user.id) cls.token = f'JWT {json_resp["data"]["access_token"]}'