def test_get_disco_recommendations(call_recommendation_server): expected_addons = [ addon_factory(guid='101@mozilla'), addon_factory(guid='102@mozilla'), addon_factory(guid='103@mozilla'), addon_factory(guid='104@mozilla'), ] # Only the first one has a DiscoveryItem. The rest should still be # returned. call_recommendation_server.return_value = [ '101@mozilla', '102@mozilla', '103@mozilla', '104@mozilla' ] recommendations = get_disco_recommendations('0', []) call_recommendation_server.assert_called_with( 'https://taar.dev.mozaws.net/api/recommendations/', '0', None, verb='post') assert [result.addon for result in recommendations] == expected_addons # only valid, public add-ons should match guids incomplete_addon = expected_addons.pop() incomplete_addon.update(status=amo.STATUS_NULL) # Remove this one and have recommendations return a bad guid instead. expected_addons.pop() call_recommendation_server.return_value = [ '101@mozilla', '102@mozilla', '103@badbadguid', '104@mozilla' ] recommendations = get_disco_recommendations('0', []) assert [result.addon for result in recommendations] == expected_addons
def test_get_disco_recommendations(call_recommendation_server): expected_addons = [ addon_factory(guid='101@mozilla'), addon_factory(guid='102@mozilla'), addon_factory(guid='103@mozilla'), addon_factory(guid='104@mozilla'), ] # Only the first one has a DiscoveryItem. The rest should still be # returned. call_recommendation_server.return_value = [ '101@mozilla', '102@mozilla', '103@mozilla', '104@mozilla' ] recommendations = get_disco_recommendations('0', []) call_recommendation_server.assert_called_with( 'https://taar.dev.mozaws.net/v1/api/recommendations/', '0', None, verb='post') assert [result.addon for result in recommendations] == expected_addons # only valid, public add-ons should match guids incomplete_addon = expected_addons.pop() incomplete_addon.update(status=amo.STATUS_NULL) # Remove this one and have recommendations return a bad guid instead. expected_addons.pop() call_recommendation_server.return_value = [ '101@mozilla', '102@mozilla', '103@badbadguid', '104@mozilla' ] recommendations = get_disco_recommendations('0', []) assert [result.addon for result in recommendations] == expected_addons
def test_get_disco_recommendations_empty(call_recommendation_server): call_recommendation_server.return_value = None recommendations = get_disco_recommendations('0', []) assert recommendations == [] call_recommendation_server.assert_called_with( 'https://taar.dev.mozaws.net/v1/api/recommendations/', '0', None, verb='post')
def test_get_disco_recommendations_empty(call_recommendation_server): call_recommendation_server.return_value = None recommendations = get_disco_recommendations('0', []) assert recommendations == [] call_recommendation_server.assert_called_with( 'https://taar.dev.mozaws.net/v1/api/recommendations/', '0', None, verb='post' )
def test_get_disco_recommendations_overrides(call_recommendation_server): call_recommendation_server.return_value = [ '@guid1', '@guid2', '103@mozilla', '104@mozilla' ] get_disco_recommendations('xxx', ['@guid1', '@guid2', '@guid3']) data = { 'options': { 'promoted': [ ['@guid1', 100], ['@guid2', 99], ['@guid3', 98], ] } } call_recommendation_server.assert_called_with( 'https://taar.dev.mozaws.net/v1/api/recommendations/', 'xxx', data, verb='post')