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"]}'