Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import pytest
from django.core.management import call_command
from funkwhale_api.federation import models as federation_models
from funkwhale_api.music import models as music_models
from funkwhale_api.tags import models as tags_models
from funkwhale_api.users import models as users_models
def test_load_test_data_dry_run(factories, mocker):
call_command("load_test_data", artists=10)
assert music_models.Artist.objects.count() == 0
@pytest.mark.parametrize(
"kwargs, expected_counts",
[
(
{"create_dependencies": True, "artists": 10},
[(music_models.Artist.objects.all(), 10)],
),
(
{"create_dependencies": True, "albums": 10, "artists": 1},
[
(music_models.Album.objects.all(), 10),
(music_models.Artist.objects.all(), 1),
],
),
(
{"create_dependencies": True, "tracks": 20, "albums": 10, "artists": 1},
[
(music_models.Track.objects.all(), 20),
(music_models.Album.objects.all(), 10),
(music_models.Artist.objects.all(), 1),
],
),
(
{"create_dependencies": True, "albums": 10, "albums_artist_factor": 0.5},
[
(music_models.Album.objects.all(), 10),
(music_models.Artist.objects.all(), 5),
],
),
(
{"create_dependencies": True, "albums": 3},
[
(music_models.Album.objects.all(), 3),
(music_models.Artist.objects.all(), 1),
],
),
(
{"create_dependencies": True, "local_accounts": 3},
[
(users_models.User.objects.all(), 3),
(federation_models.Actor.objects.all(), 3),
],
),
(
{"create_dependencies": True, "local_libraries": 3},
[
(users_models.User.objects.all(), 3),
(federation_models.Actor.objects.all(), 3),
(music_models.Library.objects.all(), 3),
],
),
(
{"create_dependencies": True, "local_uploads": 3},
[
(users_models.User.objects.all(), 1),
(federation_models.Actor.objects.all(), 1),
(music_models.Library.objects.all(), 1),
(music_models.Upload.objects.filter(import_status="finished"), 3),
(music_models.Track.objects.all(), 3),
],
),
(
{"create_dependencies": True, "tags": 3},
[(tags_models.Tag.objects.all(), 3)],
),
(
{"create_dependencies": True, "track_tags": 3},
[(tags_models.Tag.objects.all(), 1), (music_models.Track.objects.all(), 3)],
),
],
)
def test_load_test_data_args(factories, kwargs, expected_counts, mocker):
call_command("load_test_data", dry_run=False, **kwargs)
for qs, expected_count in expected_counts:
assert qs.count() == expected_count
def test_load_test_data_skip_dependencies(factories):
factories["music.Artist"].create_batch(size=5)
call_command("load_test_data", dry_run=False, albums=10, create_dependencies=False)
assert music_models.Artist.objects.count() == 5
assert music_models.Album.objects.count() == 10