aboutsummaryrefslogtreecommitdiff
path: root/cros_utils/bugs_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'cros_utils/bugs_test.py')
-rwxr-xr-xcros_utils/bugs_test.py211
1 files changed, 109 insertions, 102 deletions
diff --git a/cros_utils/bugs_test.py b/cros_utils/bugs_test.py
index 03dee64d..5a07dbd8 100755
--- a/cros_utils/bugs_test.py
+++ b/cros_utils/bugs_test.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -17,108 +17,115 @@ import bugs
class Tests(unittest.TestCase):
- """Tests for the bugs module."""
- def testWritingJSONFileSeemsToWork(self):
- """Tests JSON file writing."""
- old_x20_path = bugs.X20_PATH
-
- def restore_x20_path():
- bugs.X20_PATH = old_x20_path
-
- self.addCleanup(restore_x20_path)
-
- with tempfile.TemporaryDirectory() as tempdir:
- bugs.X20_PATH = tempdir
- file_path = bugs._WriteBugJSONFile(
- 'ObjectType', {
- 'foo': 'bar',
- 'baz': bugs.WellKnownComponents.CrOSToolchainPublic,
- })
-
- self.assertTrue(file_path.startswith(tempdir),
- f'Expected {file_path} to start with {tempdir}')
-
- with open(file_path) as f:
- self.assertEqual(
- json.load(f),
- {
- 'type': 'ObjectType',
- 'value': {
- 'foo': 'bar',
- 'baz': int(bugs.WellKnownComponents.CrOSToolchainPublic),
+ """Tests for the bugs module."""
+
+ def testWritingJSONFileSeemsToWork(self):
+ """Tests JSON file writing."""
+ old_x20_path = bugs.X20_PATH
+
+ def restore_x20_path():
+ bugs.X20_PATH = old_x20_path
+
+ self.addCleanup(restore_x20_path)
+
+ with tempfile.TemporaryDirectory() as tempdir:
+ bugs.X20_PATH = tempdir
+ file_path = bugs._WriteBugJSONFile(
+ "ObjectType",
+ {
+ "foo": "bar",
+ "baz": bugs.WellKnownComponents.CrOSToolchainPublic,
},
+ )
+
+ self.assertTrue(
+ file_path.startswith(tempdir),
+ f"Expected {file_path} to start with {tempdir}",
+ )
+
+ with open(file_path) as f:
+ self.assertEqual(
+ json.load(f),
+ {
+ "type": "ObjectType",
+ "value": {
+ "foo": "bar",
+ "baz": int(
+ bugs.WellKnownComponents.CrOSToolchainPublic
+ ),
+ },
+ },
+ )
+
+ @patch("bugs._WriteBugJSONFile")
+ def testAppendingToBugsSeemsToWork(self, mock_write_json_file):
+ """Tests AppendToExistingBug."""
+ bugs.AppendToExistingBug(1234, "hello, world!")
+ mock_write_json_file.assert_called_once_with(
+ "AppendToExistingBugRequest",
+ {
+ "body": "hello, world!",
+ "bug_id": 1234,
},
)
- @patch('bugs._WriteBugJSONFile')
- def testAppendingToBugsSeemsToWork(self, mock_write_json_file):
- """Tests AppendToExistingBug."""
- bugs.AppendToExistingBug(1234, 'hello, world!')
- mock_write_json_file.assert_called_once_with(
- 'AppendToExistingBugRequest',
- {
- 'body': 'hello, world!',
- 'bug_id': 1234,
- },
- )
-
- @patch('bugs._WriteBugJSONFile')
- def testBugCreationSeemsToWork(self, mock_write_json_file):
- """Tests CreateNewBug."""
- test_case_additions = (
- {},
- {
- 'component_id': bugs.WellKnownComponents.CrOSToolchainPublic,
- },
- {
- 'assignee': 'foo@gbiv.com',
- 'cc': ['bar@baz.com'],
- },
- )
-
- for additions in test_case_additions:
- test_case = {
- 'component_id': 123,
- 'title': 'foo',
- 'body': 'bar',
- **additions,
- }
-
- bugs.CreateNewBug(**test_case)
-
- expected_output = {
- 'component_id': test_case['component_id'],
- 'subject': test_case['title'],
- 'body': test_case['body'],
- }
-
- assignee = test_case.get('assignee')
- if assignee:
- expected_output['assignee'] = assignee
-
- cc = test_case.get('cc')
- if cc:
- expected_output['cc'] = cc
-
- mock_write_json_file.assert_called_once_with(
- 'FileNewBugRequest',
- expected_output,
- )
- mock_write_json_file.reset_mock()
-
- @patch('bugs._WriteBugJSONFile')
- def testCronjobLogSendingSeemsToWork(self, mock_write_json_file):
- """Tests SendCronjobLog."""
- bugs.SendCronjobLog('my_name', False, 'hello, world!')
- mock_write_json_file.assert_called_once_with(
- 'ChrotomationCronjobUpdate',
- {
- 'name': 'my_name',
- 'message': 'hello, world!',
- 'failed': False,
- },
- )
-
-
-if __name__ == '__main__':
- unittest.main()
+ @patch("bugs._WriteBugJSONFile")
+ def testBugCreationSeemsToWork(self, mock_write_json_file):
+ """Tests CreateNewBug."""
+ test_case_additions = (
+ {},
+ {
+ "component_id": bugs.WellKnownComponents.CrOSToolchainPublic,
+ },
+ {
+ "assignee": "foo@gbiv.com",
+ "cc": ["bar@baz.com"],
+ },
+ )
+
+ for additions in test_case_additions:
+ test_case = {
+ "component_id": 123,
+ "title": "foo",
+ "body": "bar",
+ **additions,
+ }
+
+ bugs.CreateNewBug(**test_case)
+
+ expected_output = {
+ "component_id": test_case["component_id"],
+ "subject": test_case["title"],
+ "body": test_case["body"],
+ }
+
+ assignee = test_case.get("assignee")
+ if assignee:
+ expected_output["assignee"] = assignee
+
+ cc = test_case.get("cc")
+ if cc:
+ expected_output["cc"] = cc
+
+ mock_write_json_file.assert_called_once_with(
+ "FileNewBugRequest",
+ expected_output,
+ )
+ mock_write_json_file.reset_mock()
+
+ @patch("bugs._WriteBugJSONFile")
+ def testCronjobLogSendingSeemsToWork(self, mock_write_json_file):
+ """Tests SendCronjobLog."""
+ bugs.SendCronjobLog("my_name", False, "hello, world!")
+ mock_write_json_file.assert_called_once_with(
+ "ChrotomationCronjobUpdate",
+ {
+ "name": "my_name",
+ "message": "hello, world!",
+ "failed": False,
+ },
+ )
+
+
+if __name__ == "__main__":
+ unittest.main()