예제 #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):
        rpc = Mock()
        result = Mock()
        result.status_code = 200
        result.content = '{"ticket":"123456"}'
        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',
            'hook': 'http://yourhooke.com',
            'email': '*****@*****.**',
            'lang': "pt_BR"
        }
        url = 'https://pswdless.appspot.com/rest/login'
        send_login_params = {'url_login': url}
        send_login_params.update(post_params)

        send_login = facade.send_login_email(**send_login_params)
        send_login.execute()
        self.assertDictEqual({'ticket': "123456"}, send_login.result)
        les_model = LoginEmailSentCertified.find_by_ticket("123456").get()
        self.assertEqual("123456", les_model.ticket)
        fetch.assert_called_once_with(rpc,
                                      url,
                                      urllib.urlencode(post_params),
                                      method=urlfetch.POST,
                                      validate_certificate=True)
예제 #3
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)
예제 #4
0
    def test_success(self):
        rpc = Mock()
        result = Mock()
        result.status_code = 200
        result.content = '{"ticket":"123456"}'
        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",
            "hook": "http://yourhooke.com",
            "email": "*****@*****.**",
            "lang": "pt_BR",
        }
        url = "https://pswdless.appspot.com/rest/login"
        send_login_params = {"url_login": url}
        send_login_params.update(post_params)

        send_login = facade.send_login_email(**send_login_params)
        send_login.execute()
        self.assertDictEqual({"ticket": "123456"}, send_login.result)
        les_model = LoginEmailSentCertified.find_by_ticket("123456").get()
        self.assertEqual("123456", les_model.ticket)
        fetch.assert_called_once_with(
            rpc, url, urllib.urlencode(post_params), method=urlfetch.POST, validate_certificate=True
        )
예제 #5
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")
예제 #6
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)
예제 #7
0
 def set_up(self):
     self._future = LoginEmailSentCertified.find_by_ticket(
         self._ticket).fetch_async(1, keys_only=True)
예제 #8
0
 def commit(self):
     if self.result and 'ticket' in self.result:
         return LoginEmailSentCertified(ticket=self.result['ticket'])
예제 #9
0
 def set_up(self):
     self._future = LoginEmailSentCertified.find_by_ticket(self._ticket).fetch_async(1, keys_only=True)