def login(_resp, **kwargs): errors = _check_params(('app_id', 'token', 'hook'), ('user_id', 'email', 'lang'), kwargs.keys()) if not errors: cmd = facade.setup_login_task(**kwargs) try: ticket = cmd() return JsonUnsecureResponse(ticket.key.id()) except CommandExecutionException: errors = cmd.errors _resp.status_code = 400 logging.error(errors) return JsonUnsecureResponse(errors)
def test_success(self): site = mommy.make_one(Site, domain='appspot.com') user = mommy.make_one(MainUser) ndb.put_multi([site, user]) login.setup_locale = Mock() setup_task = facade.setup_login_task( str(site.key.id()), site.token, 'http://pswdless.appspot.com/return', str(user.key.id()), lang='pt_BR') task_obj = Mock() task_cls = Mock(return_value=task_obj) login.TaskQueueCommand = task_cls task_obj.commit = Mock(return_value=[]) setup_task.execute() lg = Login.query().get() login.setup_locale.assert_called_once_with('pt_BR') self.assertIsNotNone(lg) task_cls.assert_called_once_with(settings.TASK_HERO, router.to_path(task.send_login_email), params={ 'login_id': str(lg.key.id()), 'lang': 'pt_BR' }, countdown=4) task_obj.set_up.assert_called_once_with() task_obj.do_business.assert_called_once_with() task_obj.commit.assert_called_once_with() def neighbor(cls): DestinationsSearch.arc_class = cls # To do: removing this because can cause side effects search = DestinationsSearch(lg) search.execute() self.assertEqual(1, len(search.result), cls) return search.result[0] n_user = neighbor(LoginUser) self.assertEqual(n_user.key, user.key) n_site = neighbor(LoginSite) self.assertEqual(n_site.key, site.key) login_status = neighbor(LoginStatusArc) self.assertEqual(LOGIN_CALL, login_status.label)
def test_success(self): site = mommy.make_one(Site, domain='appspot.com') user = mommy.make_one(MainUser) ndb.put_multi([site, user]) login.setup_locale = Mock() setup_task = facade.setup_login_task(str(site.key.id()), site.token, 'http://pswdless.appspot.com/return', str(user.key.id()), lang='pt_BR') task_obj = Mock() task_cls = Mock(return_value=task_obj) login.TaskQueueCommand = task_cls task_obj.commit = Mock(return_value=[]) setup_task.execute() lg = Login.query().get() login.setup_locale.assert_called_once_with('pt_BR') self.assertIsNotNone(lg) task_cls.assert_called_once_with(settings.TASK_HERO, router.to_path(task.send_login_email), params={'login_id': str(lg.key.id()), 'lang': 'pt_BR'}, countdown=4) task_obj.set_up.assert_called_once_with() task_obj.do_business.assert_called_once_with() task_obj.commit.assert_called_once_with() def neighbor(cls): DestinationsSearch.arc_class = cls # To do: removing this because can cause side effects search = DestinationsSearch(lg) search.execute() self.assertEqual(1, len(search.result), cls) return search.result[0] n_user = neighbor(LoginUser) self.assertEqual(n_user.key, user.key) n_site = neighbor(LoginSite) self.assertEqual(n_site.key, site.key) login_status = neighbor(LoginStatusArc) self.assertEqual(LOGIN_CALL, login_status.label)