def _DoAuth(self): try: self.user = auth.DoOAuthAuth() except auth.NotAuthenticated: enable_admin_check = True # OAuth was either not used or failed, so perform regular user auth. self.user = auth.DoUserAuth(is_admin=enable_admin_check)
def testDoOAuthAuthSuccessSettings(self, _): """Test DoOAuthAuth() with success, where user is in settings file.""" email = '*****@*****.**' user_service_stub = self.testbed.get_stub(testbed.USER_SERVICE_NAME) user_service_stub.SetOAuthUser(email, scopes=[auth.OAUTH_SCOPE]) auth.settings.OAUTH_USERS = [email] self.assertEqual(email, auth.DoOAuthAuth().email())
def MockDoOAuthAuth(self, user=None, is_admin=None, fail=False): """Mock calling auth.DoOAuthAuth(). Args: user: user for DoOAuthAuth to return. fail: bool, whether to fail or not """ if not 'authDoOAuthAuth' in self._set_mock: self.mox.StubOutWithMock(auth, 'DoOAuthAuth') self._set_mock['authDoOAuthAuth'] = 1 if fail: if is_admin is None: auth.DoOAuthAuth().AndRaise(auth.NotAuthenticated) else: auth.DoOAuthAuth(is_admin=is_admin).AndRaise( auth.NotAuthenticated) else: if is_admin is None: auth.DoOAuthAuth().AndReturn(user) else: auth.DoOAuthAuth(is_admin=is_admin).AndReturn(user)
def testDoOAuthAuthSuccess(self, *_): """Test DoOAuthAuth() with success, where user is in KeyValueCache.""" email = '*****@*****.**' user_service_stub = self.testbed.get_stub(testbed.USER_SERVICE_NAME) user_service_stub.SetOAuthUser(email, scopes=[auth.OAUTH_SCOPE]) auth.settings.OAUTH_USERS = [] auth.models.KeyValueCache.MemcacheWrappedSet( 'oauth_users', 'text_value', auth.util.Serialize([email])) self.assertEqual(email, auth.DoOAuthAuth(is_admin=True).email())
def post(self): """DynamicManifest post handler.""" # TODO(user): setup DoUserAuth require_level=gaeserver.LEVEL_API_DYN_MAN. try: self.user = auth.DoOAuthAuth() except auth.NotAuthenticated: enable_admin_check = True # OAuth was either not used or failed, so perform regular user auth. self.user = auth.DoUserAuth(is_admin=enable_admin_check) mod_type = self.request.get('mod_type') target = self.request.get('target') mutate = self.request.get('mutate', 'true').lower() == 'true' if not mutate: logging.info('Enabling dry-run mode') pkg_alias = self.request.get('pkg_alias') if pkg_alias: pkg_name = models.PackageAlias.ResolvePackageName(pkg_alias) if not pkg_name: logging.info('Package alias not found: %s', pkg_alias) self.error(404) return logging.debug('Found pkg_name=%s for pkg_alias=%s', pkg_name, pkg_alias) else: pkg_name = self.request.get('pkg_name') try: self._ParseParameters(mod_type, target, pkg_name) except InvalidModificationType: self.error(404) return try: if mutate: self._PutMod() self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps([{'pkg_name': pkg_name}])) except ValueError: self.error(400) except db.Error: self.error(500)
def testDoOAuthAuthSuccessSettings(self): """Test DoOAuthAuth() with success, where user is in settings file.""" self.mox.StubOutWithMock(auth.oauth, 'get_current_user') self.mox.StubOutWithMock(auth.models.KeyValueCache, 'MemcacheWrappedGet') mock_user = self.mox.CreateMockAnything() mock_oauth_users = self.mox.CreateMockAnything() email = '*****@*****.**' auth.settings.OAUTH_USERS = [email] auth.models.KeyValueCache.MemcacheWrappedGet( 'oauth_users', 'text_value').AndReturn(None) auth.oauth.get_current_user().AndReturn(mock_user) mock_user.email().AndReturn(email) self.mox.ReplayAll() auth.DoOAuthAuth() self.mox.VerifyAll()
def testDoOAuthAuthSuccess(self): """Test DoOAuthAuth() with success, where user is in KeyValueCache.""" self.mox.StubOutWithMock(auth.oauth, 'get_current_user') self.mox.StubOutWithMock(auth, 'IsAdminUser') self.mox.StubOutWithMock(auth.models.KeyValueCache, 'MemcacheWrappedGet') self.mox.StubOutWithMock(auth.util, 'Deserialize') mock_user = self.mox.CreateMockAnything() email = '*****@*****.**' auth.settings.OAUTH_USERS = [] oauth_users = [email] auth.oauth.get_current_user().AndReturn(mock_user) mock_user.email().AndReturn(email) auth.IsAdminUser(email).AndReturn(True) auth.models.KeyValueCache.MemcacheWrappedGet( 'oauth_users', 'text_value').AndReturn(oauth_users) auth.util.Deserialize(oauth_users).AndReturn(oauth_users) self.mox.ReplayAll() auth.DoOAuthAuth(is_admin=True) self.mox.VerifyAll()