def test_success_with_no_user(self, fetch_command_cls, write_cookie):
        app, fetch_cmd_obj, response = self.setup_base_mock(fetch_command_cls)
        main_user = facade.login_passwordless('0123', response,
                                              'https://pswdless.appspot.com/rest/detail').execute().result
        self.assertIsNotNone(main_user)

        self.assertEqual('*****@*****.**', main_user.email)
        self.assertEqual('*****@*****.**', main_user.name)
        self.assert_base_execution(app, fetch_cmd_obj, fetch_command_cls, main_user, PasswordlessUser.query().get(),
                                   write_cookie, response)
    def test_success_with_main_user(self, fetch_command_cls, write_cookie):
        app, fetch_cmd_obj, response = self.setup_base_mock(fetch_command_cls)

        main_user_on_db = mommy.save_one(MainUser, email="*****@*****.**")

        main_user = facade.login_passwordless('0123', response,
                                              'https://pswdless.appspot.com/rest/detail').execute().result

        self.assertEqual(main_user_on_db, main_user)

        p_user = PasswordlessUser.query().get()
        self.assertIsNotNone(p_user)
        self.assert_base_execution(app, fetch_cmd_obj, fetch_command_cls, main_user, p_user, write_cookie, response)
 def test_success(self, fetch_command_cls):
     app = _setup_app_data()
     fetch_cmd_obj = Mock()
     fetch_command_cls.return_value = fetch_cmd_obj
     facade.send_passwordless_login_link('*****@*****.**', 'http://www.yoursite/passworless/login', 'pt_BR').execute()
     main_user = GetMainUserByEmail('*****@*****.**').execute().result
     self.assertIsNone(main_user)
     self.assertIsNone(PasswordlessUser.query().get())
     fetch_command_cls.assert_called_once_with('https://pswdless.appspot.com/rest/login',
                                               {'email': '*****@*****.**',
                                                'app_id': app.app_id,
                                                'token': app.token,
                                                'hook': 'http://www.yoursite/passworless/login',
                                                'lang': 'pt_BR'},
                                               method='POST')
     fetch_cmd_obj.execute.assert_called_once_with()
    def test_success_with_passwordless_user(self, fetch_command_cls, write_cookie):
        app, fetch_cmd_obj, response = self.setup_base_mock(fetch_command_cls)

        main_user_on_db = mommy.save_one(MainUser, email="*****@*****.**")
        p_user_on_db = mommy.save_one(PasswordlessUser, external_id="654321")
        ExternalToMainUser(origin=p_user_on_db.key, destination=main_user_on_db.key).put()

        main_user = facade.login_passwordless('0123',
                                              response,
                                              'https://pswdless.appspot.com/rest/detail').execute().result

        self.assertEqual(main_user_on_db, main_user)

        p_user = PasswordlessUser.query().get()
        self.assertEqual(p_user_on_db, p_user)
        self.assert_base_execution(app, fetch_cmd_obj, fetch_command_cls, main_user, p_user, write_cookie, response)