コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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', '')
             }))
コード例 #6
0
    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)
コード例 #7
0
 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)
コード例 #8
0
 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)
コード例 #9
0
 def testGetNonExistentUser(self):
     user = users.Get('77')
     self.assertEquals(None, user)
コード例 #10
0
 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)