| Index: appengine/swarming/handlers_bot_test.py
|
| diff --git a/appengine/swarming/handlers_bot_test.py b/appengine/swarming/handlers_bot_test.py
|
| index 4912a9bf62a1c69c2c2c9cca7b02a09eb2d535a5..f2ddc483cf433b54b7e98a0bf4d601a377ccc197 100755
|
| --- a/appengine/swarming/handlers_bot_test.py
|
| +++ b/appengine/swarming/handlers_bot_test.py
|
| @@ -434,7 +434,8 @@ class BotApiTest(test_env_handlers.AppTestBase):
|
| require_service_account=None,
|
| ip_whitelist=None,
|
| owners=None,
|
| - dimensions={u'pool': [u'server-side']})
|
| + dimensions={u'pool': [u'server-side']},
|
| + bot_config_script='')
|
| self.mock(bot_auth, 'validate_bot_id_and_fetch_config',
|
| lambda *args, **kwargs: cfg)
|
|
|
| @@ -461,6 +462,41 @@ class BotApiTest(test_env_handlers.AppTestBase):
|
| },
|
| }], actions)
|
|
|
| + def test_poll_missing_extra_bot_config(self):
|
| + cfg = bot_groups_config.BotGroupConfig(
|
| + version='default',
|
| + require_luci_machine_token=False,
|
| + require_service_account=None,
|
| + ip_whitelist=None,
|
| + owners=None,
|
| + dimensions={},
|
| + bot_config_script='foo.py')
|
| + self.mock(bot_auth, 'validate_bot_id_and_fetch_config',
|
| + lambda *args, **kwargs: cfg)
|
| + self.do_handshake(status=503)
|
| +
|
| + def test_poll_extra_bot_config(self):
|
| + cfg = bot_groups_config.BotGroupConfig(
|
| + version='default',
|
| + require_luci_machine_token=False,
|
| + require_service_account=None,
|
| + ip_whitelist=None,
|
| + owners=None,
|
| + dimensions={},
|
| + bot_config_script='foo.py')
|
| + self.mock(bot_auth, 'validate_bot_id_and_fetch_config',
|
| + lambda *args, **kwargs: cfg)
|
| + # Inject the script.
|
| + def get_self_config(name, store_last_good):
|
| + self.assertEqual(True, store_last_good)
|
| + if name == 'scripts/bot_config.py':
|
| + return None, None
|
| + self.assertEqual('scripts/foo.py', name)
|
| + return '1', 'import sys; sys.exit(1)'
|
| + self.mock(handlers_bot.config.config, 'get_self_config', get_self_config)
|
| + params = self.do_handshake()
|
| + self.assertEqual(u'import sys; sys.exit(1)', params['bot_config'])
|
| +
|
| def test_complete_task_isolated(self):
|
| # Successfully poll a task.
|
| self.mock(random, 'getrandbits', lambda _: 0x88)
|
|
|