def set_as_super_admin(self): self.set_as_anonymous() self.testbed.setup_env(USER_EMAIL='*****@*****.**', overwrite=True) auth_testing.reset_local_state() auth_testing.mock_get_current_identity( self, auth.Identity.from_bytes('user:'******'USER_EMAIL']))
def setUp(self): super(BotAuthTest, self).setUp() self.logs = [] self.mock(logging, 'error', lambda l, *_args: self.logs.append(l)) auth.bootstrap_ip_whitelist(auth.BOTS_IP_WHITELIST, ['1.2.3.4', '1.2.3.5']) auth.bootstrap_ip_whitelist('ip_whitelist', ['1.1.1.1', '1.2.3.4']) auth_testing.reset_local_state()
def setUp(self): super(BotAuthTest, self).setUp() # Mock this out, otherwise it tries to fetch settings.cfg. self.mock(srv_cfg, 'get_ui_client_id', lambda: None) self.logs = [] self.mock(logging, 'error', lambda l, *_args: self.logs.append(l % _args)) auth.bootstrap_ip_whitelist(auth.bots_ip_whitelist(), ['1.2.3.4', '1.2.3.5']) auth.bootstrap_ip_whitelist('ip_whitelist', ['1.1.1.1', '1.2.3.4']) auth_testing.reset_local_state()
def setUp(self): super(AclTest, self).setUp() def settings(): return config_pb2.SettingsCfg(auth=config_pb2.AuthSettings( admins_group='admins', bot_bootstrap_group='bot_bootstrap', privileged_users_group='privileged_users', users_group='users', view_all_bots_group='view_all_bots', view_all_tasks_group='view_all_tasks')) self.mock(config, 'settings', settings) auth_testing.reset_local_state() self._task_owned = task_request.TaskRequest( authenticated=auth.get_current_identity()) self._task_other = task_request.TaskRequest( authenticated=auth.Identity(auth.IDENTITY_USER, 'larry@localhost'))
def _add_to_group(group): auth.bootstrap_group(group, [auth.get_current_identity()]) auth_testing.reset_local_state()
def set_as_anonymous(self): """Removes all IPs from the whitelist.""" self.testbed.setup_env(USER_EMAIL='', overwrite=True) auth.ip_whitelist_key(auth.bots_ip_whitelist()).delete() auth_testing.reset_local_state() auth_testing.mock_get_current_identity(self, auth.Anonymous)
def set_as_bot(self): self.set_as_anonymous() auth.bootstrap_ip_whitelist(auth.bots_ip_whitelist(), [self.source_ip]) auth_testing.reset_local_state() auth_testing.mock_get_current_identity(self, auth.IP_WHITELISTED_BOT_ID)
def setUp(self): super(SwarmbucketApiTest, self).setUp() self.patch('components.utils.utcnow', autospec=True, return_value=datetime.datetime(2015, 11, 30)) self.patch( 'google.appengine.api.app_identity.get_default_version_hostname', return_value='cr-buildbucket.appspot.com') self.patch('creation._should_be_canary', side_effect=lambda p: p > 50) auth_testing.reset_local_state() auth.bootstrap_group('all', [auth.Anonymous]) user.clear_request_cache() chromium_cfg = test_util.parse_bucket_cfg(''' name: "luci.chromium.try" acls { role: SCHEDULER group: "all" } swarming { hostname: "swarming.example.com" builders { name: "linux" swarming_host: "swarming.example.com" category: "Chromium" build_numbers: YES recipe { cipd_package: "infra/recipe_bundle" cipd_version: "refs/heads/master" name: "presubmit" properties: "foo:bar" properties_j: "baz:1" } dimensions: "foo:bar" dimensions: "baz:baz" auto_builder_dimension: YES # Override builder cache without timeout to make tests # simpler. caches { path: "builder" name: "builder_cache_name" } } builders { name: "windows" category: "Chromium" swarming_host: "swarming.example.com" recipe { cipd_package: "infra/recipe_bundle" cipd_version: "refs/heads/master" name: "presubmit" } # Override builder cache without timeout to make tests # simpler. caches { path: "builder" name: "builder_cache_name" } } } ''') config.put_bucket('chromium', 'deadbeef', chromium_cfg) v8_cfg = test_util.parse_bucket_cfg(''' name: "luci.v8.try" acls { role: READER group: "all" } ''') config.put_bucket('v8', 'deadbeef', v8_cfg) props_def = { 'extra_args': [ 'cook', '-recipe', '${recipe}', '-properties', '${properties_json}', '-logdog-project', '${project}', ], 'cipd_input': { 'packages': [ { 'package_name': 'infra/test/bar/${os_ver}', 'path': '.', 'version': 'latest', }, { 'package_name': 'infra/test/foo/${platform}', 'path': 'third_party', 'version': 'stable', }, ], }, } self.task_template = { 'name': 'bb-${build_id}-${project}-${builder}', 'task_slices': [{ 'properties': props_def, 'wait_for_capacity': False, }], } self.patch( 'swarming._get_task_template', autospec=True, return_value=('rev', self.task_template), ) self.settings = service_config_pb2.SettingsCfg( swarming=dict( milo_hostname='milo.example.com', luci_runner_package=dict( package_name='infra/tools/luci_runner', version='luci-runner-version', ), kitchen_package=dict( package_name='infra/tools/kitchen', version='kitchen-version', ), user_packages=[ dict( package_name='infra/tools/git', version='git-version', ), ], ), logdog=dict(hostname='logdog.example.com'), ) self.patch( 'config.get_settings_async', autospec=True, return_value=future(self.settings), )
def set_as_privileged_user(self): self.set_as_anonymous() self.testbed.setup_env(USER_EMAIL='*****@*****.**', overwrite=True) auth_testing.reset_local_state() auth_testing.mock_get_current_identity( self, auth.Identity.from_bytes('user:'******'USER_EMAIL']))
def set_as_bot(self): self.set_as_anonymous() auth.bootstrap_ip_whitelist(auth.BOTS_IP_WHITELIST, [self.source_ip]) auth_testing.reset_local_state() auth_testing.mock_get_current_identity( self, auth.Identity.from_bytes('bot:' + self.source_ip))
def set_as_anonymous(self): """Removes all IPs from the whitelist.""" self.testbed.setup_env(USER_EMAIL='', overwrite=True) auth.ip_whitelist_key(auth.BOTS_IP_WHITELIST).delete() auth_testing.reset_local_state()
def setUp(self): super(SwarmbucketApiTest, self).setUp() self.patch('components.utils.utcnow', autospec=True, return_value=datetime.datetime(2015, 11, 30)) self.patch( 'google.appengine.api.app_identity.get_default_version_hostname', return_value='cr-buildbucket.appspot.com') self.patch('creation._should_be_canary', side_effect=lambda p: p > 50) auth_testing.reset_local_state() auth.bootstrap_group('all', [auth.Anonymous]) user.clear_request_cache() chromium_cfg = test_util.parse_bucket_cfg(''' name: "luci.chromium.try" acls { role: SCHEDULER group: "all" } swarming { hostname: "swarming.example.com" builders { name: "linux" swarming_host: "swarming.example.com" category: "Chromium" build_numbers: YES recipe { cipd_package: "infra/recipe_bundle" cipd_version: "refs/heads/master" name: "presubmit" properties: "foo:bar" properties_j: "baz:1" } dimensions: "foo:bar" dimensions: "baz:baz" auto_builder_dimension: YES # Override builder cache without timeout to make tests # simpler. caches { path: "builder" name: "builder_cache_name" } } builders { name: "windows" category: "Chromium" swarming_host: "swarming.example.com" recipe { cipd_package: "infra/recipe_bundle" cipd_version: "refs/heads/master" name: "presubmit" } # Override builder cache without timeout to make tests # simpler. caches { path: "builder" name: "builder_cache_name" } } } ''') config.put_bucket('chromium', 'deadbeef', chromium_cfg) v8_cfg = test_util.parse_bucket_cfg(''' name: "luci.v8.try" acls { role: READER group: "all" } ''') config.put_bucket('v8', 'deadbeef', v8_cfg) self.settings = service_config_pb2.SettingsCfg( swarming=dict( milo_hostname='milo.example.com', bbagent_package=dict( package_name='infra/tools/bbagent', version='luci-runner-version', ), kitchen_package=dict( package_name='infra/tools/kitchen', version='kitchen-version', ), user_packages=[ dict( package_name='infra/tools/git', version='git-version', ), ], ), logdog=dict(hostname='logdog.example.com'), ) self.patch( 'config.get_settings_async', autospec=True, return_value=future(self.settings), )
def set_as_anonymous(self): self.testbed.setup_env(USER_EMAIL='', overwrite=True) auth.ip_whitelist_key(auth.bots_ip_whitelist()).delete() auth_testing.reset_local_state()
def set_as_anonymous(self): """Removes all IPs from the whitelist.""" self.testbed.setup_env(USER_EMAIL='', overwrite=True) auth.ip_whitelist_key(auth.BOTS_IP_WHITELIST).delete() auth_testing.reset_local_state() auth_testing.mock_get_current_identity(self, auth.Anonymous)
def set_as_anonymous(self): self.testbed.setup_env(USER_EMAIL='', overwrite=True) auth.ip_whitelist_key(auth.BOTS_IP_WHITELIST).delete() auth_testing.reset_local_state()
def setUp(self): super(SwarmbucketApiTest, self).setUp() self.patch( 'components.utils.utcnow', autospec=True, return_value=datetime.datetime(2015, 11, 30)) auth_testing.reset_local_state() auth.bootstrap_group('all', [auth.Anonymous]) chromium_cfg = ''' name: "luci.chromium.try" acls { role: SCHEDULER group: "all" } swarming { hostname: "swarming.example.com" builders { name: "linux_chromium_rel_ng" category: "Chromium" build_numbers: true recipe { repository: "https://example.com" name: "presubmit" } } builders { name: "win_chromium_rel_ng" category: "Chromium" } } ''' config.Bucket( id='luci.chromium.try', project_id='chromium', revision='deadbeef', config_content=chromium_cfg, config_content_binary=config_test.text_to_binary(chromium_cfg), ).put() v8_cfg = ''' name: "luci.v8.try" acls { role: READER group: "all" } ''' config.Bucket( id='luci.v8.try', project_id='v8', revision='deadbeef', config_content=v8_cfg, config_content_binary=config_test.text_to_binary(v8_cfg), ).put() self.task_template = { 'name': 'buildbucket:${bucket}:${builder}', 'priority': '100', 'expiration_secs': '3600', 'properties': { 'execution_timeout_secs': '3600', 'extra_args': [ 'cook', '-repository', '${repository}', '-revision', '${revision}', '-recipe', '${recipe}', '-properties', '${properties_json}', '-logdog-project', '${project}', ], 'caches': [ {'path': '${cache_dir}/builder', 'name': 'builder_${builder_hash}'}, ], 'cipd_input': { 'packages': [ { 'package_name': 'infra/test/bar/${os_ver}', 'path': '.', 'version': 'latest', }, { 'package_name': 'infra/test/foo/${platform}', 'path': 'third_party', 'version': 'stable', }, ], }, } } self.patch( 'swarming.swarming.get_task_template_async', return_value=future(('rev', self.task_template, False)))