diff --git a/critiquebrainz/frontend/external/musicbrainz_db/artist.py b/critiquebrainz/frontend/external/musicbrainz_db/artist.py index 7ae4b2c7d..47abee432 100644 --- a/critiquebrainz/frontend/external/musicbrainz_db/artist.py +++ b/critiquebrainz/frontend/external/musicbrainz_db/artist.py @@ -6,6 +6,7 @@ from critiquebrainz.frontend.external.relationships import artist as artist_rel from critiquebrainz.frontend.external.musicbrainz_db.utils import get_entities_by_gids from critiquebrainz.frontend.external.musicbrainz_db.serialize import to_dict_artists +from critiquebrainz.frontend.external.musicbrainz_db.includes import check_includes from brainzutils import cache @@ -45,7 +46,7 @@ def fetch_multiple_artists(mbids, *, includes=None): if includes is None: includes = [] includes_data = defaultdict(dict) - # TODO(ferbncode): Check includes + check_includes('artist', includes) with mb_session() as db: query = db.query(models.Artist).\ options(joinedload("type")) diff --git a/critiquebrainz/frontend/external/musicbrainz_db/includes.py b/critiquebrainz/frontend/external/musicbrainz_db/includes.py index f9f5ac5b6..325d83ea9 100644 --- a/critiquebrainz/frontend/external/musicbrainz_db/includes.py +++ b/critiquebrainz/frontend/external/musicbrainz_db/includes.py @@ -23,7 +23,8 @@ 'release_group': ["artists", "media", "releases"] + TAG_INCLUDES + RELATION_INCLUDES, 'release': [ "artists", "labels", "recordings", "release-groups", "media", "annotation", "aliases" - ] + TAG_INCLUDES + RELATION_INCLUDES + ] + TAG_INCLUDES + RELATION_INCLUDES, + 'artist': ["recordings", "releases", "media", "aliases", "annotation"] + RELATION_INCLUDES + TAG_INCLUDES, } diff --git a/critiquebrainz/frontend/external/musicbrainz_db/tests/artist_test.py b/critiquebrainz/frontend/external/musicbrainz_db/tests/artist_test.py index e320eaebe..d72926e67 100644 --- a/critiquebrainz/frontend/external/musicbrainz_db/tests/artist_test.py +++ b/critiquebrainz/frontend/external/musicbrainz_db/tests/artist_test.py @@ -7,14 +7,12 @@ class ArtistTestCase(TestCase): - def setUp(self): setup_cache() mb_artist.mb_session = MagicMock() self.mock_db = mb_artist.mb_session.return_value.__enter__.return_value self.artist_query = self.mock_db.query.return_value.options.return_value.filter.return_value.all - def test_get_by_id(self): self.artist_query.return_value = [artist_linkin_park] artist = mb_artist.get_artist_by_id("f59c5520-5f46-4d2c-b2c4-822eabf53419") @@ -25,7 +23,6 @@ def test_get_by_id(self): "type": "Group" }) - def test_fetch_multiple_artists(self): self.artist_query.return_value = [artist_jay_z, artist_linkin_park] artists = mb_artist.fetch_multiple_artists([