def test_login_sent(self): valid_ticket = 'valid_ticket' LoginEmailSentCertified(ticket=valid_ticket).put() cmd = CertifyLoginWasSent(valid_ticket) cmd.execute() self.assertIsNotNone(cmd.result) self.assertDictEqual({}, cmd.errors) self.assertIsNone( LoginEmailSentCertified.find_by_ticket(valid_ticket).get(), 'Certified should be erased')
def test_success(self): # Setting up valid ticket valid_ticket = 'valid_ticket' LoginEmailSentCertified(ticket=valid_ticket).put() #setting user data return rpc = Mock() result = Mock() result.status_code = 200 result.content = '{"id":"123456","email":"*****@*****.**"}' rpc.get_result = Mock(return_value=result) pswdless.urlfetch.create_rpc = Mock(return_value=rpc) fetch = Mock() pswdless.urlfetch.make_fetch_call = fetch post_params = {'app_id': '1', 'token': '2', 'ticket': valid_ticket} url_detail = 'https://pswdless.appspot.com/rest/detail' params = {'url_detail': url_detail} params.update(post_params) response = Mock() response.set_cookie = Mock() cmd = LogUserIn(cookie_name='user', response=response, **params) cmd.execute() self.assertDictEqual({ "id": "123456", "email": "*****@*****.**" }, cmd.result) fetch.assert_called_once_with(rpc, url_detail, urllib.urlencode(post_params), method=urlfetch.POST, validate_certificate=True) self.assertIsNone( LoginEmailSentCertified.find_by_ticket(valid_ticket).get()) response.set_cookie.assert_called_once_with('user', cmd._signed, httponly=True)
def commit(self): if self.result and 'ticket' in self.result: return LoginEmailSentCertified(ticket=self.result['ticket'])