blob: c0ebdc25202a1c80dff0b35f6c926d0b0b3b7870 [file] [log] [blame]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from skylab_suite import swarming_lib
def test_form_requests():
"""Test raw requests for swarming API."""
task_name = 'provision_task'
priority = 70
tags = ['parent_task_id:fake_id']
tags.append('task_name:%s' % task_name)
user = 'skylab_suite'
fallback_dimensions = {'pool': 'ChromeOSSkylab'}
normal_dimensions = fallback_dimensions.copy()
normal_dimensions['provisionable-cros-version'] = (
'lumpy-release/R65-10323.58.0')
cmds = [['python', '-c', 'print("first")'],
['python', '-c', 'print("second")']]
dimensions = [normal_dimensions, fallback_dimensions]
expiration_secs = swarming_lib.DEFAULT_EXPIRATION_SECS
timeout_secs = swarming_lib.DEFAULT_TIMEOUT_SECS
source_request = {
'name': task_name,
'priority': priority,
'tags': tags,
'user': user,
'task_slices': [
{'expiration_secs': expiration_secs,
'properties': {
'command': cmds[0],
'dimensions': [
{'key': 'pool',
'value': 'ChromeOSSkylab'},
{'key': 'provisionable-cros-version',
'value': 'lumpy-release/R65-10323.58.0'},
],
'grace_period_secs': timeout_secs,
'execution_timeout_secs': timeout_secs,
'io_timeout_secs': timeout_secs,
}},
{'expiration_secs': expiration_secs,
'properties': {
'command': cmds[1],
'dimensions': [
{'key': 'pool',
'value': 'ChromeOSSkylab'},
],
'grace_period_secs': timeout_secs,
'execution_timeout_secs': timeout_secs,
'io_timeout_secs': timeout_secs,
}},
],
}
json_request = swarming_lib.make_fallback_request_dict(
cmds, dimensions, task_name, priority, tags, user)
assert json_request == source_request