Commit ea89c29c authored by Kyle Ju's avatar Kyle Ju Committed by Commit Bot

[Import Notifier] Check if a 'wpt' field is present in the JSON object.

Bug: 1116264

Change-Id: Ie91b0b6298c9ad3d1284157291a0dd90e03ca985
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354302Reviewed-by: default avatarRobert Ma <robertma@chromium.org>
Commit-Queue: Kyle Ju <kyleju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798226}
parent d8480c91
...@@ -240,7 +240,7 @@ class WPTDirMetadata(object): ...@@ -240,7 +240,7 @@ class WPTDirMetadata(object):
if self._is_empty(): if self._is_empty():
return None return None
notify = self._get_content()['wpt']['notify'] notify = self._get_content().get('wpt', {}).get('notify')
# The value of `notify` is one of ['TRINARY_UNSPECIFIED', 'YES', 'NO']. # The value of `notify` is one of ['TRINARY_UNSPECIFIED', 'YES', 'NO'].
# Assume that users opt out by default; return True only when notify is 'YES'. # Assume that users opt out by default; return True only when notify is 'YES'.
return notify == 'YES' return notify == 'YES'
...@@ -284,14 +284,14 @@ class DirectoryOwnersExtractorTest(unittest.TestCase): ...@@ -284,14 +284,14 @@ class DirectoryOwnersExtractorTest(unittest.TestCase):
class WPTDirMetadataTest(unittest.TestCase): class WPTDirMetadataTest(unittest.TestCase):
def test_WPTDirMetadata_empty(self): def test_WPTDirMetadata_empty_content(self):
empty_data = '{"dirs":{"a/b":{}}}' empty_data = '{"dirs":{"a/b":{}}}'
wpt_dir_metadata = WPTDirMetadata(json.loads(empty_data), 'a/b') wpt_dir_metadata = WPTDirMetadata(json.loads(empty_data), 'a/b')
self.assertEqual(wpt_dir_metadata.team_email, None) self.assertEqual(wpt_dir_metadata.team_email, None)
self.assertEqual(wpt_dir_metadata.should_notify, None) self.assertEqual(wpt_dir_metadata.should_notify, None)
self.assertEqual(wpt_dir_metadata.component, None) self.assertEqual(wpt_dir_metadata.component, None)
def test_WPTDirMetadata_non_empty(self): def test_WPTDirMetadata_all_fields(self):
data = ( data = (
'{"dirs":{"a/b":{"monorail":' '{"dirs":{"a/b":{"monorail":'
'{"component":"foo"},"teamEmail":"bar","wpt":{"notify":"YES"}}}}') '{"component":"foo"},"teamEmail":"bar","wpt":{"notify":"YES"}}}}')
...@@ -299,3 +299,11 @@ class WPTDirMetadataTest(unittest.TestCase): ...@@ -299,3 +299,11 @@ class WPTDirMetadataTest(unittest.TestCase):
self.assertEqual(wpt_dir_metadata.team_email, 'bar') self.assertEqual(wpt_dir_metadata.team_email, 'bar')
self.assertEqual(wpt_dir_metadata.should_notify, True) self.assertEqual(wpt_dir_metadata.should_notify, True)
self.assertEqual(wpt_dir_metadata.component, 'foo') self.assertEqual(wpt_dir_metadata.component, 'foo')
def test_WPTDirMetadata_empty_wpt(self):
data = ('{"dirs":{"a/b":{"monorail":'
'{"component":"foo"},"teamEmail":"bar"}}}')
wpt_dir_metadata = WPTDirMetadata(json.loads(data), 'a/b')
self.assertEqual(wpt_dir_metadata.team_email, 'bar')
self.assertEqual(wpt_dir_metadata.should_notify, False)
self.assertEqual(wpt_dir_metadata.component, 'foo')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment