Mas tests <3
This commit is contained in:
109
fetcher/test.py
109
fetcher/test.py
@@ -197,21 +197,106 @@ class CacheTest(TestCase):
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_release_input_not_exists(self, mock_connection, mock_jobs):
|
||||
"""Testear get release cuando no existe"""
|
||||
payload = {'id': 'artist_id', 'title': 'ohno'}
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.get = Mock(return_value=None)
|
||||
|
||||
result = cache.get_release('mbid')
|
||||
self.assertEquals(result, None)
|
||||
|
||||
mock_redis.get.assert_called_with('release:mbid')
|
||||
mock_jobs.load_entities_of_release.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_release_input_exists(self, mock_connection, mock_jobs):
|
||||
"""Testear get release cuando existe"""
|
||||
payload = {'id': 'release_id', 'title': 'ohno'}
|
||||
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.get = Mock(return_value=json.dumps(payload))
|
||||
|
||||
def get(key):
|
||||
if key == 'release_group:mbid:artist':
|
||||
return payload.get('id')
|
||||
elif key == 'artist:artist_id':
|
||||
return json.dumps(payload)
|
||||
else:
|
||||
self.fail('Key inesperada')
|
||||
|
||||
mock_redis.get = get
|
||||
|
||||
result = cache.get_artist_of_disc('mbid')
|
||||
result = cache.get_release('mbid')
|
||||
self.assertEquals(result, payload)
|
||||
|
||||
mock_redis.get.assert_called_with('release:mbid')
|
||||
mock_jobs.load_entities_of_release.delay.assert_not_called()
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_discs_not_exists(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of discs cuando no existe"""
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.__contains__ = Mock(return_value=False)
|
||||
|
||||
result, total = cache.get_releases_of_disc('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_redis.__contains__.assert_called_with('release_group:mbid:releases')
|
||||
mock_jobs.load_entities_of_release_group.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_discs_not_all_keys(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of discs cuando no estan todas las keys"""
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.__contains__ = Mock(return_value=True)
|
||||
mock_redis.get = Mock(return_value=10)
|
||||
mock_redis.zcard = Mock(return_value=5)
|
||||
|
||||
result, total = cache.get_releases_of_disc('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_redis.__contains__.assert_called_with('release_group:mbid:releases')
|
||||
mock_redis.get.assert_called_with('release_group:mbid:releases:count')
|
||||
mock_redis.zcard.assert_called_with('release_group:mbid:releases')
|
||||
mock_jobs.load_entities_of_release_group.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_discs_not_all_keys_loaded(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of discs cuando no estan todas las keys cargadas"""
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.__contains__ = Mock(return_value=True)
|
||||
mock_redis.get = Mock(return_value=10)
|
||||
mock_redis.zcard = Mock(return_value=10)
|
||||
mock_redis.zrange = Mock(return_value=range(10))
|
||||
mock_redis.exists = Mock(return_value=5)
|
||||
|
||||
result, total = cache.get_releases_of_disc('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_redis.__contains__.assert_called_with('release_group:mbid:releases')
|
||||
mock_redis.get.assert_called_with('release_group:mbid:releases:count')
|
||||
mock_redis.zcard.assert_called_with('release_group:mbid:releases')
|
||||
mock_redis.zrange.assert_called_with('release_group:mbid:releases', 0, 10)
|
||||
mock_redis.exists.assert_called_with(*[f'release:{id}' for id in range(10)])
|
||||
mock_jobs.load_entities_of_release_group.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_discs_all_god(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of discs cuando existe todo"""
|
||||
payload = [{'id': i} for i in range(10)]
|
||||
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
mock_redis.__contains__ = Mock(return_value=True)
|
||||
mock_redis.get = Mock(return_value=10)
|
||||
mock_redis.zcard = Mock(return_value=10)
|
||||
mock_redis.zrange = Mock(return_value=range(10))
|
||||
mock_redis.exists = Mock(return_value=10)
|
||||
mock_redis.mget = Mock(return_value=MagicMock())
|
||||
mock_redis.mget.return_value.__iter__.return_value = [json.dumps(item) for item in payload]
|
||||
|
||||
result, total = cache.get_releases_of_disc('mbid', 10, 0)
|
||||
self.assertEquals(result, payload)
|
||||
self.assertEquals(total, 10)
|
||||
|
||||
mock_redis.__contains__.assert_called_with('release_group:mbid:releases')
|
||||
mock_redis.get.assert_called_with('release_group:mbid:releases:count')
|
||||
mock_redis.zcard.assert_called_with('release_group:mbid:releases')
|
||||
mock_redis.zrange.assert_called_with('release_group:mbid:releases', 0, 10)
|
||||
mock_redis.exists.assert_called_with(*[f'release:{id}' for id in range(10)])
|
||||
mock_jobs.load_entities_of_release_group.delay.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user