def test_probability_distribution_multiple_groups(self, random_call): self.load_notifications_mock.return_value = [ { "id": "a", "variants": [ { "sample": 0.25, "title.en-GB": "1" }, { "sample": 0.25, "title.en-GB": "2" } ] }, { "id": "b", "variants": [ { "sample": 0.25, "title.en-GB": "1" }, { "sample": 0.25, "title.en-GB": "2" } ] } ] 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-GB"], "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-GB"], "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-GB"], "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-GB"], "2") self.assertRegexpMatches(result["version"], r"-a/0-b/2")
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' }] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result['notifications']), 1) self.assertEqual(result['notifications'][0]['id'], '1')
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': '' } }] 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')
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': '' } }] }] result = json.loads( notification.notification( {'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')
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', }, lambda *args: None)) self.assertEqual(len(result['notifications']), 0) self.assertRegexpMatches(result['version'], r'[^-]*')
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" }, lambda *args: None)) self.assertEqual(len(result["notifications"]), 0) self.assertRegexpMatches(result["version"], r"[^-]*")
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' }, lambda *args: None)) self.assertEqual(len(result['notifications']), 0) self.assertRegexpMatches(result['version'], r'[^-]*')
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": "" } }] }] result = json.loads( notification.notification( {"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")
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": "" } }] 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")
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" }] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result["notifications"]), 1) self.assertEqual(result["notifications"][0]["id"], "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' } }] }] 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])
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" } }] }] 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])
def test_inactive_notification_variant_not_returned(self): self.load_notifications_mock.return_value = [ {"id": "a", "inactive": True} ] result = json.loads(notification.notification({ "QUERY_STRING": "lastVersion=197001010000-a/1" }, lambda *args: None)) self.assertEqual(len(result["notifications"]), 0)
def test_no_group(self): self.load_notifications_mock.return_value = [ {'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'])
def test_inactive_notification_variant_not_returned(self): self.load_notifications_mock.return_value = [ {'id': 'a', 'inactive': True} ] result = json.loads(notification.notification({ 'QUERY_STRING': 'lastVersion=197001010000-a/1' }, lambda *args: None)) self.assertEqual(len(result['notifications']), 0)
def test_no_group(self): self.load_notifications_mock.return_value = [ {"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"])
def test_stays_in_group_when_notification_present(self): self.load_notifications_mock.return_value = [{'id': 'a'}] result = json.loads( notification.notification( {'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1'}, lambda *args: None)) self.assertEqual(len(result['notifications']), 0) self.assertRegexpMatches(result['version'], r'-a/0')
def test_inactive_notification_variant_not_returned(self): self.load_notifications_mock.return_value = [ {'id': 'a', 'inactive': True}, ] result = json.loads(notification.notification({ 'QUERY_STRING': 'lastVersion=197001010000-a/1', }, lambda *args: None)) self.assertEqual(len(result['notifications']), 0)
def test_no_group(self): self.load_notifications_mock.return_value = [ {'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'])
def test_invalid_last_version(self): self.load_notifications_mock.return_value = [] notification.notification({'QUERY_STRING': 'lastVersion='}, lambda *args: None) notification.notification({'QUERY_STRING': 'lastVersion=-'}, lambda *args: None) notification.notification({'QUERY_STRING': 'lastVersion=-/'}, lambda *args: None) notification.notification({'QUERY_STRING': 'lastVersion=-//'}, lambda *args: None)
def test_invalid_last_version(self): self.load_notifications_mock.return_value = [] notification.notification({"QUERY_STRING": "lastVersion="}, lambda *args: None) notification.notification({"QUERY_STRING": "lastVersion=-"}, lambda *args: None) notification.notification({"QUERY_STRING": "lastVersion=-/"}, lambda *args: None) notification.notification({"QUERY_STRING": "lastVersion=-//"}, lambda *args: None)
def test_version_header_present(self): self.load_notifications_mock.return_value = [{"id": "1"}] response_header_map = {} def start_response(status, response_headers): 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"])
def test_stays_in_group_when_notification_inactive(self): self.load_notifications_mock.return_value = [ {"id": "a", "inactive": True} ] result = json.loads(notification.notification({ "QUERY_STRING": "lastVersion=197001010000-a/0-b/1" }, lambda *args: None)) self.assertEqual(len(result["notifications"]), 0) self.assertRegexpMatches(result["version"], r"-a/0")
def test_stays_in_group_when_notification_inactive(self): self.load_notifications_mock.return_value = [ {'id': 'a', 'inactive': True} ] result = json.loads(notification.notification({ 'QUERY_STRING': 'lastVersion=197001010000-a/0-b/1' }, lambda *args: None)) self.assertEqual(len(result['notifications']), 0) self.assertRegexpMatches(result['version'], r'-a/0')
def test_no_variant_no_notifications(self): self.load_notifications_mock.return_value = [ { "id": "a", "variants": [{"sample": 0}] } ] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result["notifications"]), 0)
def test_no_variant_no_notifications(self): self.load_notifications_mock.return_value = [{ 'id': 'a', 'variants': [{ 'sample': 0 }] }] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result['notifications']), 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': ''}} ] 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')
def test_no_variant_no_notifications(self): self.load_notifications_mock.return_value = [{ "id": "a", "variants": [{ "sample": 0 }] }] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result["notifications"]), 0)
def test_version_header_present(self): self.load_notifications_mock.return_value = [ {"id": "1", "title": {"en-US": ""}, "message": {"en-US": ""}} ] response_header_map = {} def start_response(status, response_headers): 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"])
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": "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") 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") 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") 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")
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': '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') 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') 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') 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')
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': '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') 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') 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') 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')
def test_version_header_present(self): self.load_notifications_mock.return_value = [ {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}}, ] response_header_map = {} def start_response(status, response_headers): 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'])
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'} ] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result['notifications']), 1) self.assertEqual(result['notifications'][0]['id'], '1')
def test_version_header_present(self): self.load_notifications_mock.return_value = [ {'id': '1', 'title': {'en-US': ''}, 'message': {'en-US': ''}} ] response_header_map = {} def start_response(status, response_headers): 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'])
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': ''}} ]} ] result = json.loads(notification.notification({ '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')
def test_stays_in_group_when_notification_inactive_assign_new_group(self): # See: https://issues.adblockplus.org/ticket/5827 self.load_notifications_mock.return_value = [ {'id': '1', 'inactive': True}, {'id': '2', 'variants': [ {'sample': 1, 'title': {'en-US': '2.1'}, 'message': {'en-US': '2.1'}}, ]}, ] result = json.loads(notification.notification({ 'QUERY_STRING': 'lastVersion=197001010000-1/0', }, lambda *args: None)) self.assertEqual(len(result['notifications']), 1) self.assertRegexpMatches(result['version'], r'-1/0-2/1')
def test_in_group(self): self.load_notifications_mock.return_value = [ {"id": "1"}, { "id": "a", "variants": [{}] } ] result = json.loads(notification.notification({ "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")
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'}} ] } ] 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])
def test_default_group_notification_returned_if_valid(self): self.load_notifications_mock.return_value = [ {'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'}}, ], }, ] result = json.loads(notification.notification({ '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')
def test_notification_variant_merged(self): self.load_notifications_mock.return_value = [ { "id": "a", "title.en-GB": "default", "message.en-GB": "default", "message.de-DE": "vorgabe", "variants": [ { "sample": 1, "message.en-GB": "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-GB"], "default") self.assertEqual(result["notifications"][0]["message.en-GB"], "variant") self.assertEqual(result["notifications"][0]["message.de-DE"], "vorgabe") 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}]} ] result = json.loads(notification.notification({}, lambda *args: None)) self.assertEqual(len(result['notifications']), 0)
def test_no_group(self): self.load_notifications_mock.return_value = [{"id": "1"}] 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"])