Example #1
0
def test_migrate_lwts_to_static_themes(add_static_theme_from_lwt_mock):
    persona_a = addon_factory(type=amo.ADDON_PERSONA, slug='theme_a')
    persona_b = addon_factory(type=amo.ADDON_PERSONA, slug='theme_b')
    addon_a = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_b = addon_factory(type=amo.ADDON_STATICTHEME)
    add_static_theme_from_lwt_mock.side_effect = [addon_a, addon_b]

    # call the migration task, as the command would:
    migrate_lwts_to_static_themes([persona_a.id, persona_b.id])

    assert MigratedLWT.objects.all().count() == 2

    persona_a.reload()
    addon_a.reload()
    assert persona_a.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_a).static_theme == addon_a
    assert addon_a.slug == 'theme_a'

    persona_b.reload()
    addon_a.reload()
    assert persona_b.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_b).static_theme == addon_b
    assert addon_b.slug == 'theme_b'
def test_migrate_lwts_to_static_themes(add_static_theme_from_lwt_mock):
    persona_a = addon_factory(type=amo.ADDON_PERSONA, slug='theme_a')
    persona_b = addon_factory(type=amo.ADDON_PERSONA, slug='theme_b')
    addon_a = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_b = addon_factory(type=amo.ADDON_STATICTHEME)
    add_static_theme_from_lwt_mock.side_effect = [addon_a, addon_b]

    # call the migration task, as the command would:
    migrate_lwts_to_static_themes([persona_a.id, persona_b.id])

    assert MigratedLWT.objects.all().count() == 2

    persona_a.reload()
    addon_a.reload()
    assert persona_a.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_a).static_theme == addon_a
    assert addon_a.slug == 'theme_a'

    persona_b.reload()
    addon_a.reload()
    assert persona_b.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_b).static_theme == addon_b
    assert addon_b.slug == 'theme_b'
Example #3
0
def test_migrate_lwts_to_static_themes(add_static_theme_from_lwt_mock):
    # Include two LWT that won't get migrated sandwiched between some good LWTs
    persona_a = addon_factory(type=amo.ADDON_PERSONA, slug='theme_a')
    persona_none = addon_factory(type=amo.ADDON_PERSONA, slug='theme_none')
    persona_b = addon_factory(type=amo.ADDON_PERSONA, slug='theme_b')
    persona_raise = addon_factory(type=amo.ADDON_PERSONA, slug='theme_raise')
    persona_c = addon_factory(type=amo.ADDON_PERSONA, slug='theme_c')

    addon_a = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_b = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_c = addon_factory(type=amo.ADDON_STATICTHEME)
    add_static_theme_from_lwt_mock.side_effect = [
        addon_a, False, addon_b,
        Exception('foo'), addon_c
    ]

    # call the migration task, as the command would:
    migrate_lwts_to_static_themes([
        persona_a.id, persona_none.id, persona_b.id, persona_raise.id,
        persona_c.id
    ])

    assert MigratedLWT.objects.all().count() == 3
    assert Addon.objects.filter(type=amo.ADDON_PERSONA).count() == 2

    persona_a.reload()
    addon_a.reload()
    assert persona_a.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_a).static_theme == addon_a
    assert addon_a.slug == 'theme_a'

    persona_b.reload()
    addon_b.reload()
    assert persona_b.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_b).static_theme == addon_b
    assert addon_b.slug == 'theme_b'

    persona_c.reload()
    addon_c.reload()
    assert persona_c.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_c).static_theme == addon_c
    assert addon_c.slug == 'theme_c'
    assert len(mail.outbox) == 0
Example #4
0
def test_migrate_lwts_to_static_themes(add_static_theme_from_lwt_mock):
    # Include two LWT that won't get migrated sandwiched between some good LWTs
    persona_a = addon_factory(type=amo.ADDON_PERSONA, slug='theme_a')
    persona_none = addon_factory(type=amo.ADDON_PERSONA, slug='theme_none')
    persona_b = addon_factory(type=amo.ADDON_PERSONA, slug='theme_b')
    persona_raise = addon_factory(type=amo.ADDON_PERSONA, slug='theme_raise')
    persona_c = addon_factory(type=amo.ADDON_PERSONA, slug='theme_c')

    addon_a = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_b = addon_factory(type=amo.ADDON_STATICTHEME)
    addon_c = addon_factory(type=amo.ADDON_STATICTHEME)
    add_static_theme_from_lwt_mock.side_effect = [
        addon_a, False, addon_b, Exception('foo'), addon_c]

    # call the migration task, as the command would:
    migrate_lwts_to_static_themes(
        [persona_a.id, persona_none.id, persona_b.id, persona_raise.id,
         persona_c.id])

    assert MigratedLWT.objects.all().count() == 3
    assert Addon.objects.filter(type=amo.ADDON_PERSONA).count() == 2

    persona_a.reload()
    addon_a.reload()
    assert persona_a.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_a).static_theme == addon_a
    assert addon_a.slug == 'theme_a'

    persona_b.reload()
    addon_b.reload()
    assert persona_b.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_b).static_theme == addon_b
    assert addon_b.slug == 'theme_b'

    persona_c.reload()
    addon_c.reload()
    assert persona_c.status == amo.STATUS_DELETED
    assert MigratedLWT.objects.get(
        lightweight_theme=persona_c).static_theme == addon_c
    assert addon_c.slug == 'theme_c'
    assert len(mail.outbox) == 0