예제 #1
0
 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')
예제 #2
0
    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)
예제 #3
0
 def commit(self):
     if self.result and 'ticket' in self.result:
         return LoginEmailSentCertified(ticket=self.result['ticket'])