Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: appengine/swarming/handlers_bot_test.py

Issue 2689483004: swarming: Add server-side implementation for supplemental bot_config (Closed)
Patch Set: rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698