У меня есть здесь:издеваться функция атрибута питона
class Authentication(MethodView):
@staticmethod
def make_payload(identity):
iat = datetime.utcnow()
exp = iat + timedelta(seconds=300)
nbf = iat + timedelta(seconds=0)
identity = identity.key.urlsafe()
return {'exp': exp, 'iat': iat, 'nbf': nbf, 'identity': identity}
, который основан на JWT. Я хочу, чтобы дразнить identity.key.urlsafe()
вернуть 1
, который является идентификатором пользователя:
def test_make_payload(self):
def get_urlsafe():
return self.user_id
now = datetime.utcnow()
mock_identity = MagicMock()
mock_identity.key.return_value = MagicMock(urlsafe=get_urlsafe)
payload = Authentication.make_payload(mock_identity)
Прямо сейчас, все работает, кроме моих издеваться. Цель состояла в том, чтобы он вернуться 1
:
ipdb> payload
{'identity': <MagicMock name='mock.key.urlsafe()' id='4392456656'>, 'iat': datetime.datetime(2016, 11, 22, 21, 34, 41, 605698), 'nbf': datetime.datetime(2016, 11, 22, 21, 34, 41, 605698), 'exp': datetime.datetime(2016, 11, 22, 21, 39, 41, 605698)}
ipdb> payload['identity']
<MagicMock name='mock.key.urlsafe()' id='4392456656'>
Как я могу издеваться этот вложенный вызов сделать urlsafe
возврата 1 в моей издеваться? Спасибо
@SvenMarnach - Спасибо. Ты прав. – mgilson
отлично, спасибо mr gilson – codyc4321