def testGetForEmail_TestAccounts(self): self.mox.stubs.Set(users, '_EmailToGaeUserId', {}.get) # Accounts under ".test" should get their uids from the e-mail address. self.assertEquals('test1', users.GetForEmail('*****@*****.**').id) self.assertEquals('agablaga', users.GetForEmail('*****@*****.**').id) # User entities should have been stored as a side effect. self.assertEquals('*****@*****.**', users.Get('test1').email) self.assertEquals('*****@*****.**', users.Get('agablaga').email)
def testGetForEmail_NonexistentGoogleAccounts(self): self.mox.stubs.Set(users, '_EmailToGaeUserId', {}.get) # Normal e-mail addresses should allocate uids sequentially. self.assertEquals('1', users.GetForEmail('*****@*****.**').id) self.assertEquals('2', users.GetForEmail('*****@*****.**').id) # For an e-mail address we've seen before, we should get the matching User. self.assertEquals('1', users.GetForEmail('*****@*****.**').id) # User entities should have been stored as a side effect. self.assertEquals('*****@*****.**', users.Get('1').email) self.assertEquals('*****@*****.**', users.Get('2').email)
def testGetCurrent_UpdateEmailAndDomain(self): with test_utils.EnvContext(USER_ID='123456789', USER_EMAIL='*****@*****.**', USER_ORGANIZATION='alpha.test'): users.GetCurrent() # should allocate the first uid, '1' user = users.Get('1') self.assertEquals('alpha.test', user.ga_domain) self.assertEquals('*****@*****.**', user.email) with test_utils.EnvContext(USER_ID='123456789', USER_EMAIL='*****@*****.**', USER_ORGANIZATION='beta.test'): users.GetCurrent() # should update the existing UserModel user = users.Get('1') self.assertEquals('beta.test', user.ga_domain) self.assertEquals('*****@*****.**', user.email)
def GetUserForUrl(self, url): """Gets the User entity identified by a URL, or None if there is none.""" if url and url.startswith('http:') and '/' in url: url_dir, uid = url.rsplit('/', 1) if url_dir == self.request.root_url + '/.users': if not uid.startswith('anonymous.'): return users.Get(uid)
def GetDomainAdmin(self, user, domain): # pylint:disable=unused-argument """Displays the administration page for the given domain.""" domain_name = domain perms.AssertAccess(perms.Role.DOMAIN_ADMIN, domain_name) domain = domains.Domain.Get(domain_name) if not domain: raise base_handler.Error(404, 'Unknown domain %r.' % domain_name) subject_roles = perms.GetSubjectsForTarget(domain_name) user_roles = [(users.Get(subj), _MaxRole(r)) for (subj, r) in subject_roles.items() if perms.IsUserId(subj)] user_roles.sort(key=lambda (u, r): u.email) labels = sorted(e.label for e in model.CatalogEntry.GetAll(domain_name)) self.response.out.write( self.RenderTemplate( 'admin_domain.html', { 'domain': domain, 'user_roles': user_roles, 'labels': labels, 'domain_role': _MaxRole( subject_roles.get(domain_name, set())), 'user_permission_choices': DOMAIN_PERMISSION_CHOICES, 'initial_domain_role_choices': INITIAL_DOMAIN_ROLE_CHOICES, 'show_welcome': self.request.get('welcome', '') }))
def testPost(self): """Tests the Prefs POST handler.""" with test_utils.Login('test'): # The first request of any kind should store the UserModel entity, but # requests should not affect the preference flags unless save_keys is set. self.DoPost('/.prefs', 'marketing_consent=on&xsrf_token=XSRF') self.assertFalse(users.Get('test').marketing_consent_answered) # save_keys indicates which keys to save, even if the POST data doesn't # contain a particular key's name because its checkbox is off. self.DoPost('/.prefs', 'save_keys=marketing_consent&xsrf_token=XSRF') self.assertFalse(users.Get('test').marketing_consent) self.assertTrue(users.Get('test').marketing_consent_answered) # With no save_keys, there should be no effect. self.DoPost('/.prefs', 'marketing_consent=on&xsrf_token=XSRF') self.assertFalse(users.Get('test').marketing_consent) self.assertTrue(users.Get('test').marketing_consent_answered) # With save_keys, this should turn marketing_consent on. self.DoPost( '/.prefs', 'save_keys=marketing_consent' '&marketing_consent=on&xsrf_token=XSRF') self.assertTrue(users.Get('test').marketing_consent) self.assertTrue(users.Get('test').marketing_consent_answered)
def testGetCurrent_NormalLogin(self): # Try an effective user determined by the Google Account login. with test_utils.EnvContext(USER_ID='123456789', USER_EMAIL='*****@*****.**', USER_ORGANIZATION='alpha.test'): user = users.GetCurrent() # should allocate the first uid, '1' self.assertEquals('1', user.id) user = users.Get('1') self.assertEquals('alpha.test', user.ga_domain) self.assertEquals('*****@*****.**', user.email)
def testSetMarketingConsent(self): users._UserModel(id='1', ga_domain='xyz.com', email='*****@*****.**').put() self.assertEquals(False, users.Get('1').marketing_consent_answered) self.assertEquals(False, users.Get('1').marketing_consent) users.SetMarketingConsent('1', False) self.assertEquals(True, users.Get('1').marketing_consent_answered) self.assertEquals(False, users.Get('1').marketing_consent) users.SetMarketingConsent('1', True) self.assertEquals(True, users.Get('1').marketing_consent_answered) self.assertEquals(True, users.Get('1').marketing_consent)
def testGetNonExistentUser(self): user = users.Get('77') self.assertEquals(None, user)
def testSetWelcomeMessageDismissed(self): users._UserModel(id='1', ga_domain='xyz.com', email='*****@*****.**').put() self.assertEquals(False, users.Get('1').welcome_message_dismissed) users.SetWelcomeMessageDismissed('1', True) self.assertEquals(True, users.Get('1').welcome_message_dismissed)