diff --git a/troi/musicbrainz/mbid_mapping.py b/troi/musicbrainz/mbid_mapping.py index bee8823f..7d9128be 100644 --- a/troi/musicbrainz/mbid_mapping.py +++ b/troi/musicbrainz/mbid_mapping.py @@ -48,6 +48,7 @@ def read(self, inputs): r.add_note("recording mbid %s overwritten by mbid_lookup" % (r.mbid)) r.mbid = row['recording_mbid'] r.name = row['recording_name'] + r.year = row['year'] if r.artist.artist_credit_id: r.artist.add_note("artist_credit_id %d overwritten by mbid_lookup" % (r.artist.artist_credit_id)) diff --git a/troi/musicbrainz/tests/test_mbid_mapping.py b/troi/musicbrainz/tests/test_mbid_mapping.py index 8d2adf78..d508bdfb 100644 --- a/troi/musicbrainz/tests/test_mbid_mapping.py +++ b/troi/musicbrainz/tests/test_mbid_mapping.py @@ -15,19 +15,33 @@ "recording_mbid": "97e69767-5d34-4c97-b36a-f3b2b1ef9dae", "recording_name": "Trigger Hippie", "release_mbid": "9db51cd6-38f6-3b42-8ad5-559963d68f35", - "release_name": "Who Can You Trust?" + "release_name": "Who Can You Trust?", + "year": 1996 } ] + +def mocked_requests_post(*args, **kwargs): + class MockResponse: + def __init__(self, json_data, status_code): + self.json_data = json_data + self.status_code = status_code + + def json(self): + return self.json_data + + e = troi.musicbrainz.mbid_mapping.MBIDMappingLookupElement() + if args[0] == e.SERVER_URL: + return MockResponse(return_data, 200) + + return MockResponse(None, 404) + + class TestMBIDMapping(unittest.TestCase): - @unittest.mock.patch('requests.post') + @unittest.mock.patch('requests.post', side_effect=mocked_requests_post) def test_read(self, req): - mock = unittest.mock.MagicMock() - mock.status_code = 200 - mock.text = json.dumps(return_data) - req.return_value = mock e = troi.musicbrainz.mbid_mapping.MBIDMappingLookupElement() r = [ troi.Recording("trigger hippie", artist=troi.Artist("morcheeba")) ] @@ -41,6 +55,7 @@ def test_read(self, req): assert entities[0].release.name == "Who Can You Trust?" assert entities[0].mbid == "97e69767-5d34-4c97-b36a-f3b2b1ef9dae" assert entities[0].name == "Trigger Hippie" + assert entities[0].year == 1996 @unittest.mock.patch('requests.post')