Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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')
Exemple #4
0
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'
    )
Exemple #5
0
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')
Exemple #6
0
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')