blob: 02946b445c341867df38fef0834e64c6dde0b53a [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.
import unittest
import mock
from core.services import buildbucket_service
class TestBuildbucketApi(unittest.TestCase):
def setUp(self):
self.mock_request = mock.patch('core.services.request.Request').start()
self.mock_request.return_value = 'OK'
def tearDown(self):
mock.patch.stopall()
def testGetBuild(self):
self.assertEqual(buildbucket_service.GetBuild(
'chromium', 'try', 'linux_chromium_rel_ng', 227278), 'OK')
self.mock_request.assert_called_once_with(
buildbucket_service.SERVICE_URL + 'GetBuild', method='POST',
use_auth=True, content_type='json', accept='json',
data={
'builder': {
'project': 'chromium',
'bucket': 'try',
'builder': 'linux_chromium_rel_ng',
},
'buildNumber': 227278
})
def testGetBuilds(self):
self.assertEqual(buildbucket_service.GetBuilds(
'chromium', 'try', 'linux_chromium_rel_ng'), 'OK')
self.mock_request.assert_called_once_with(
buildbucket_service.SERVICE_URL + 'SearchBuilds', method='POST',
use_auth=True, content_type='json', accept='json',
data={
'predicate': {
'builder': {
'project': 'chromium',
'bucket': 'try',
'builder': 'linux_chromium_rel_ng',
},
'status': 'ENDED_MASK'
}
})
def testGetBuildsIncludeUnfinished(self):
self.assertEqual(
buildbucket_service.GetBuilds(
'chromium', 'try', 'linux_chromium_rel_ng',
only_completed=False),
'OK')
self.mock_request.assert_called_once_with(
buildbucket_service.SERVICE_URL + 'SearchBuilds', method='POST',
use_auth=True, content_type='json', accept='json',
data={
'predicate': {
'builder': {
'project': 'chromium',
'bucket': 'try',
'builder': 'linux_chromium_rel_ng',
}
}
})