| Index: sitescripts/notifications/test/notification.py |
| =================================================================== |
| --- a/sitescripts/notifications/test/notification.py |
| +++ b/sitescripts/notifications/test/notification.py |
| @@ -22,7 +22,7 @@ |
| class TestNotification(unittest.TestCase): |
| def setUp(self): |
| - self.load_notifications_patcher = mock.patch("sitescripts.notifications.web.notification.load_notifications") |
| + self.load_notifications_patcher = mock.patch('sitescripts.notifications.web.notification.load_notifications') |
| self.load_notifications_mock = self.load_notifications_patcher.start() |
| def tearDown(self): |
| @@ -30,235 +30,235 @@ |
| def test_no_group(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ] |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertFalse("-" in result["version"]) |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertFalse('-' in result['version']) |
| def test_not_in_group(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_in_group(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/1" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/1' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "a") |
| - self.assertRegexpMatches(result["version"], r"-a/1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'a') |
| + self.assertRegexpMatches(result['version'], r'-a/1') |
| def test_not_in_one_of_many_groups(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]}, |
| - {"id": "b", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': 'b', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]}, |
| - {"id": "c", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': 'c', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0-b/0-c/0" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/0-c/0' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/0-b/0-c/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/0-b/0-c/0') |
| def test_in_one_of_many_groups(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]}, |
| - {"id": "b", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': 'b', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]}, |
| - {"id": "c", "variants": [ |
| - {"title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': 'c', 'variants': [ |
| + {'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0-b/1-c/0" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1-c/0' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "b") |
| - self.assertRegexpMatches(result["version"], r"-a/0-b/1-c/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'b') |
| + self.assertRegexpMatches(result['version'], r'-a/0-b/1-c/0') |
| def test_not_put_in_group(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"sample": 0, "title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'sample': 0, 'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000" |
| + 'QUERY_STRING': 'lastVersion=197001010000' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_put_in_group(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "a", "variants": [ |
| - {"sample": 1, "title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': 'a', 'variants': [ |
| + {'sample': 1, 'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ]} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000" |
| + 'QUERY_STRING': 'lastVersion=197001010000' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "a") |
| - self.assertRegexpMatches(result["version"], r"-a/1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'a') |
| + self.assertRegexpMatches(result['version'], r'-a/1') |
| def test_notification_variant_merged(self): |
| self.load_notifications_mock.return_value = [ |
| { |
| - "id": "a", |
| - "title": {"en-US": "default"}, |
| - "message": {"en-US": "default"}, |
| - "variants": [ |
| - {"sample": 1, "message": {"en-US": "variant"}} |
| + 'id': 'a', |
| + 'title': {'en-US': 'default'}, |
| + 'message': {'en-US': 'default'}, |
| + 'variants': [ |
| + {'sample': 1, 'message': {'en-US': 'variant'}} |
| ] |
| } |
| ] |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "a") |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "default") |
| - self.assertEqual(result["notifications"][0]["message"]["en-US"], "variant") |
| - self.assertFalse("variants" in result["notifications"][0]) |
| - self.assertFalse("sample" in result["notifications"][0]) |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'a') |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], 'default') |
| + self.assertEqual(result['notifications'][0]['message']['en-US'], 'variant') |
| + self.assertFalse('variants' in result['notifications'][0]) |
| + self.assertFalse('sample' in result['notifications'][0]) |
| def test_no_variant_no_notifications(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "a", "variants": [{"sample": 0}]} |
| + {'id': 'a', 'variants': [{'sample': 0}]} |
| ] |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 0) |
| + self.assertEqual(len(result['notifications']), 0) |
| - @mock.patch("random.random") |
| + @mock.patch('random.random') |
| def test_probability_distribution_single_group(self, random_call): |
| self.load_notifications_mock.return_value = [ |
| { |
| - "id": "a", |
| - "variants": [ |
| - {"sample": 0.5, "title": {"en-US": "1"}, "message": {"en-US": ""}}, |
| - {"sample": 0.25, "title": {"en-US": "2"}, "message": {"en-US": ""}}, |
| - {"sample": 0.25, "title": {"en-US": "3"}, "message": {"en-US": ""}} |
| + 'id': 'a', |
| + 'variants': [ |
| + {'sample': 0.5, 'title': {'en-US': '1'}, 'message': {'en-US': ''}}, |
| + {'sample': 0.25, 'title': {'en-US': '2'}, 'message': {'en-US': ''}}, |
| + {'sample': 0.25, 'title': {'en-US': '3'}, 'message': {'en-US': ''}} |
| ] |
| } |
| ] |
| random_call.return_value = 0 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/1') |
| random_call.return_value = 0.5 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/1') |
| random_call.return_value = 0.51 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "2") |
| - self.assertRegexpMatches(result["version"], r"-a/2") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '2') |
| + self.assertRegexpMatches(result['version'], r'-a/2') |
| random_call.return_value = 0.75 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "2") |
| - self.assertRegexpMatches(result["version"], r"-a/2") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '2') |
| + self.assertRegexpMatches(result['version'], r'-a/2') |
| random_call.return_value = 0.751 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "3") |
| - self.assertRegexpMatches(result["version"], r"-a/3") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '3') |
| + self.assertRegexpMatches(result['version'], r'-a/3') |
| random_call.return_value = 1 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "3") |
| - self.assertRegexpMatches(result["version"], r"-a/3") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '3') |
| + self.assertRegexpMatches(result['version'], r'-a/3') |
| - @mock.patch("random.random") |
| + @mock.patch('random.random') |
| def test_probability_distribution_multiple_groups(self, random_call): |
| self.load_notifications_mock.return_value = [ |
| { |
| - "id": "a", |
| - "variants": [ |
| - {"sample": 0.25, "title": {"en-US": "1"}, "message": {"en-US": ""}}, |
| - {"sample": 0.25, "title": {"en-US": "2"}, "message": {"en-US": ""}} |
| + 'id': 'a', |
| + 'variants': [ |
| + {'sample': 0.25, 'title': {'en-US': '1'}, 'message': {'en-US': ''}}, |
| + {'sample': 0.25, 'title': {'en-US': '2'}, 'message': {'en-US': ''}} |
| ] |
| }, |
| { |
| - "id": "b", |
| - "variants": [ |
| - {"sample": 0.25, "title": {"en-US": "1"}, "message": {"en-US": ""}}, |
| - {"sample": 0.25, "title": {"en-US": "2"}, "message": {"en-US": ""}} |
| + 'id': 'b', |
| + 'variants': [ |
| + {'sample': 0.25, 'title': {'en-US': '1'}, 'message': {'en-US': ''}}, |
| + {'sample': 0.25, 'title': {'en-US': '2'}, 'message': {'en-US': ''}} |
| ] |
| } |
| ] |
| random_call.return_value = 0 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "a") |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/1-b/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'a') |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/1-b/0') |
| random_call.return_value = 0.251 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "a") |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "2") |
| - self.assertRegexpMatches(result["version"], r"-a/2-b/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'a') |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '2') |
| + self.assertRegexpMatches(result['version'], r'-a/2-b/0') |
| random_call.return_value = 0.51 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "b") |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/0-b/1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'b') |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/0-b/1') |
| random_call.return_value = 0.751 |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "b") |
| - self.assertEqual(result["notifications"][0]["title"]["en-US"], "2") |
| - self.assertRegexpMatches(result["version"], r"-a/0-b/2") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], 'b') |
| + self.assertEqual(result['notifications'][0]['title']['en-US'], '2') |
| + self.assertRegexpMatches(result['version'], r'-a/0-b/2') |
| def test_invalid_last_version(self): |
| self.load_notifications_mock.return_value = [] |
| - notification.notification({"QUERY_STRING": "lastVersion="}, |
| + notification.notification({'QUERY_STRING': 'lastVersion='}, |
| lambda *args: None) |
| - notification.notification({"QUERY_STRING": "lastVersion=-"}, |
| + notification.notification({'QUERY_STRING': 'lastVersion=-'}, |
| lambda *args: None) |
| - notification.notification({"QUERY_STRING": "lastVersion=-/"}, |
| + notification.notification({'QUERY_STRING': 'lastVersion=-/'}, |
| lambda *args: None) |
| - notification.notification({"QUERY_STRING": "lastVersion=-//"}, |
| + notification.notification({'QUERY_STRING': 'lastVersion=-//'}, |
| lambda *args: None) |
| def test_version_header_present(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ] |
| response_header_map = {} |
| @@ -266,109 +266,109 @@ |
| for name, value in response_headers: |
| response_header_map[name] = value |
| result = json.loads(notification.notification({}, start_response)) |
| - self.assertEqual(result["version"], |
| - response_header_map["ABP-Notification-Version"]) |
| + self.assertEqual(result['version'], |
| + response_header_map['ABP-Notification-Version']) |
| def test_default_group_notification_returned_if_valid(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| { |
| - "id": "a", |
| - "title": {"en-US": "0"}, |
| - "message": {"en-US": "0"}, |
| - "variants": [ |
| - {"title": {"en-US": "1"}, "message": {"en-US": "1"}} |
| + 'id': 'a', |
| + 'title': {'en-US': '0'}, |
| + 'message': {'en-US': '0'}, |
| + 'variants': [ |
| + {'title': {'en-US': '1'}, 'message': {'en-US': '1'}} |
| ] |
| } |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 2) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertEqual(result["notifications"][1]["id"], "a") |
| - self.assertEqual(result["notifications"][1]["title"]["en-US"], "0") |
| - self.assertNotIn("variants", result["notifications"][1]) |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 2) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertEqual(result['notifications'][1]['id'], 'a') |
| + self.assertEqual(result['notifications'][1]['title']['en-US'], '0') |
| + self.assertNotIn('variants', result['notifications'][1]) |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_default_group_notification_not_returned_if_invalid(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| { |
| - "id": "a", |
| - "title": {"en-US": "0"}, |
| - "variants": [ |
| - {"title": {"en-US": "1"}, "message": {"en-US": "1"}} |
| + 'id': 'a', |
| + 'title': {'en-US': '0'}, |
| + 'variants': [ |
| + {'title': {'en-US': '1'}, 'message': {'en-US': '1'}} |
| ] |
| } |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_invalid_notification_not_returned(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}}, |
| - {"id": "2", "title": {"en-US": ""}, "message": {}}, |
| - {"id": "3", "title": {}, "message": {"en-US": ""}}, |
| - {"id": "4", "title": {}}, |
| - {"id": "5", "message": {}}, |
| - {"id": "6"} |
| + {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, |
| + {'id': '2', 'title': {'en-US': ''}, 'message': {}}, |
| + {'id': '3', 'title': {}, 'message': {'en-US': ''}}, |
| + {'id': '4', 'title': {}}, |
| + {'id': '5', 'message': {}}, |
| + {'id': '6'} |
| ] |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 1) |
| - self.assertEqual(result["notifications"][0]["id"], "1") |
| + self.assertEqual(len(result['notifications']), 1) |
| + self.assertEqual(result['notifications'][0]['id'], '1') |
| def test_stays_in_group_when_notification_present(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "a"} |
| + {'id': 'a'} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0-b/1" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 0) |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 0) |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_leaves_group_when_notification_absent(self): |
| self.load_notifications_mock.return_value = [] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0-b/1" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 0) |
| - self.assertRegexpMatches(result["version"], r"[^-]*") |
| + self.assertEqual(len(result['notifications']), 0) |
| + self.assertRegexpMatches(result['version'], r'[^-]*') |
| def test_stays_in_group_when_notification_inactive(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "a", "inactive": True} |
| + {'id': 'a', 'inactive': True} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/0-b/1" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 0) |
| - self.assertRegexpMatches(result["version"], r"-a/0") |
| + self.assertEqual(len(result['notifications']), 0) |
| + self.assertRegexpMatches(result['version'], r'-a/0') |
| def test_inactive_notifications_not_returned(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "a", "title": {"en-US": ""}, "message": {"en-US": ""}, "inactive": True}, |
| - {"id": "b", "title": {"en-US": ""}, "message": {"en-US": ""}, "inactive": False}, |
| - {"id": "c", "title": {"en-US": ""}, "message": {"en-US": ""}} |
| + {'id': 'a', 'title': {'en-US': ''}, 'message': {'en-US': ''}, 'inactive': True}, |
| + {'id': 'b', 'title': {'en-US': ''}, 'message': {'en-US': ''}, 'inactive': False}, |
| + {'id': 'c', 'title': {'en-US': ''}, 'message': {'en-US': ''}} |
| ] |
| result = json.loads(notification.notification({}, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 2) |
| - self.assertEqual(result["notifications"][0]["id"], "b") |
| - self.assertEqual(result["notifications"][1]["id"], "c") |
| + self.assertEqual(len(result['notifications']), 2) |
| + self.assertEqual(result['notifications'][0]['id'], 'b') |
| + self.assertEqual(result['notifications'][1]['id'], 'c') |
| def test_inactive_notification_variant_not_returned(self): |
| self.load_notifications_mock.return_value = [ |
| - {"id": "a", "inactive": True} |
| + {'id': 'a', 'inactive': True} |
| ] |
| result = json.loads(notification.notification({ |
| - "QUERY_STRING": "lastVersion=197001010000-a/1" |
| + 'QUERY_STRING': 'lastVersion=197001010000-a/1' |
| }, lambda *args: None)) |
| - self.assertEqual(len(result["notifications"]), 0) |
| + self.assertEqual(len(result['notifications']), 0) |
| if __name__ == '__main__': |
| unittest.main() |