kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
56 wiersze
1.7 KiB
Python
56 wiersze
1.7 KiB
Python
from django.core.management import call_command
|
|
|
|
from funkwhale_api.federation import models as federation_models
|
|
from funkwhale_api.federation.management.commands import fix_federation_ids
|
|
from funkwhale_api.music import models as music_models
|
|
|
|
|
|
def test_fix_fids_dry_run(factories, mocker):
|
|
replace_prefix = mocker.patch("funkwhale_api.common.utils.replace_prefix")
|
|
|
|
call_command("fix_federation_ids", "http://old/", "https://new/", interactive=False)
|
|
|
|
replace_prefix.assert_not_called()
|
|
|
|
|
|
def test_fix_fids_no_dry_run(factories, mocker, queryset_equal_queries):
|
|
replace_prefix = mocker.patch("funkwhale_api.common.utils.replace_prefix")
|
|
factories["federation.Actor"](fid="http://old/test")
|
|
call_command(
|
|
"fix_federation_ids",
|
|
"http://old",
|
|
"https://new",
|
|
interactive=False,
|
|
dry_run=False,
|
|
)
|
|
|
|
models = [
|
|
(music_models.Artist, ["fid"]),
|
|
(music_models.Album, ["fid"]),
|
|
(music_models.Track, ["fid"]),
|
|
(music_models.Upload, ["fid"]),
|
|
(music_models.Library, ["fid", "followers_url"]),
|
|
(
|
|
federation_models.Actor,
|
|
[
|
|
"fid",
|
|
"url",
|
|
"outbox_url",
|
|
"inbox_url",
|
|
"following_url",
|
|
"followers_url",
|
|
"shared_inbox_url",
|
|
],
|
|
),
|
|
(federation_models.Activity, ["fid"]),
|
|
(federation_models.Follow, ["fid"]),
|
|
(federation_models.LibraryFollow, ["fid"]),
|
|
]
|
|
assert models == fix_federation_ids.MODELS
|
|
|
|
for kls, fields in models:
|
|
for field in fields:
|
|
replace_prefix.assert_any_call(
|
|
kls.objects.all(), field, old="http://old", new="https://new"
|
|
)
|