def testGetCurrentUserOAuth(self): self.Logout() # Login as normal OAuth user. self.login('*****@*****.**', is_oauth_user=True, scopes=users.OAUTH_SCOPES) titan_user = users.get_current_user() self.assertEqual('*****@*****.**', titan_user.email) self.assertFalse(titan_user.is_admin) # Pass in None scope. titan_user = users.get_current_user(oauth_scopes=None) self.assertIsNone(titan_user)
def testGetCurrentUserDeferredTask(self): self.Logout() titan_user = users.get_current_user() self.assertIsNone(titan_user) # Verify that the X-Titan-User header only works when in a task. os.environ['HTTP_X_TITAN_USER'] = '******' titan_user = users.get_current_user() self.assertIsNone(titan_user) os.environ['HTTP_X_APPENGINE_TASKNAME'] = 'task1' os.environ['HTTP_X_TITAN_USER'] = '******' titan_user = users.get_current_user() self.assertEqual('*****@*****.**', titan_user.email) self.assertFalse(titan_user.is_admin)
def testGetCurrentUser(self): # Login as normal user. self.login('*****@*****.**') titan_user = users.get_current_user() self.assertEqual('*****@*****.**', titan_user.email) self.assertEqual('<TitanUser: [email protected]>', repr(titan_user)) self.assertEqual('*****@*****.**', str(titan_user)) self.assertFalse(titan_user.is_admin) self.assertEqual('1', titan_user.user_id) # Login as admin. self.login('*****@*****.**', is_admin=True) titan_user = users.get_current_user() self.assertEqual('*****@*****.**', titan_user.email) self.assertTrue(titan_user.is_admin)
def testGetCurrentUserOAuthAdmin(self): # TODO(user): This needs to be an independent test because the # users_stub strangely persists old data even when cleared. Figure that out. # Login as OAuth admin. self.login('*****@*****.**', is_admin=True, is_oauth_user=True, scopes=users.OAUTH_SCOPES) titan_user = users.get_current_user() self.assertEqual('*****@*****.**', titan_user.email) self.assertTrue(titan_user.is_admin)
def defer(*args, **kwargs): """Launches a deferred task on behalf of the user initiating the request. If a user is currently logged in, an X-Titan-User header is passed to the deferred task, which is recognized by the Titan users module. """ titan_user = users.get_current_user() if titan_user: headers = kwargs.pop('_headers', {}) headers['X-Titan-User'] = titan_user.email kwargs['_headers'] = headers deferred.defer(*args, **kwargs)
def testGetCurrentUserNotLoggedIn(self): self.Logout() titan_user = users.get_current_user() self.assertIsNone(titan_user)