Testeados get_releases_of_recordings
This commit is contained in:
150
fetcher/test.py
150
fetcher/test.py
@@ -665,3 +665,153 @@ class CacheTest(TestCase):
|
||||
self.assertEquals(response, expected)
|
||||
|
||||
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_recording_no_exists(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of recording cuando no existe"""
|
||||
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
|
||||
def __contains__(_, key):
|
||||
if key == 'recording:mbid:release':
|
||||
return False
|
||||
elif key == 'recording:mbid:release:count':
|
||||
return False
|
||||
else:
|
||||
self.fail(f'Key inesperada en __contains__: {key}')
|
||||
mock_redis.__contains__ = __contains__
|
||||
|
||||
result, total = cache.get_releases_of_recording('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_jobs.load_entities_of_recording.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_recording_not_all(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of recording cuando no coinciden las keys con la cantidad
|
||||
almacenada"""
|
||||
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
|
||||
def __contains__(_, key):
|
||||
if key == 'recording:mbid:release':
|
||||
return True
|
||||
elif key == 'recording:mbid:release:count':
|
||||
return True
|
||||
else:
|
||||
self.fail(f'Key inesperada en __contains__: {key}')
|
||||
mock_redis.__contains__ = __contains__
|
||||
|
||||
def get(key):
|
||||
if key == 'recording:mbid:release:count':
|
||||
return 10
|
||||
else:
|
||||
self.fail(f'Key inesperada en get: {key}')
|
||||
mock_redis.get = get
|
||||
|
||||
def zcard(key):
|
||||
if key == 'recording:mbid:release':
|
||||
return 5
|
||||
else:
|
||||
self.fail(f'Key inesperada en zcard: {key}')
|
||||
mock_redis.zcard = zcard
|
||||
|
||||
result, total = cache.get_releases_of_recording('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_jobs.load_entities_of_recording.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_recording_all_but_no_exists(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of recording cuando estan todas las keys pero no existen todas"""
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
|
||||
def __contains__(_, key):
|
||||
if key == 'recording:mbid:release':
|
||||
return True
|
||||
elif key == 'recording:mbid:release:count':
|
||||
return True
|
||||
else:
|
||||
self.fail(f'Key inesperada en __contains__: {key}')
|
||||
mock_redis.__contains__ = __contains__
|
||||
|
||||
def get(key):
|
||||
if key == 'recording:mbid:release:count':
|
||||
return 10
|
||||
else:
|
||||
self.fail(f'Key inesperada en get: {key}')
|
||||
mock_redis.get = get
|
||||
|
||||
def zcard(key):
|
||||
if key == 'recording:mbid:release':
|
||||
return 10
|
||||
else:
|
||||
self.fail(f'Key inesperada en zcard: {key}')
|
||||
mock_redis.zcard = zcard
|
||||
|
||||
def zrange(key, start, end):
|
||||
if key == 'recording:mbid:release':
|
||||
return range(10)
|
||||
else:
|
||||
self.fail(f'Key inesperada en zrange: {key}')
|
||||
mock_redis.zrange = zrange
|
||||
|
||||
mock_redis.exists = Mock(return_value=8)
|
||||
|
||||
result, total = cache.get_releases_of_recording('mbid', 10, 0)
|
||||
self.assertEquals(result, None)
|
||||
self.assertEquals(total, 0)
|
||||
|
||||
mock_jobs.load_entities_of_recording.delay.assert_called_with('mbid')
|
||||
|
||||
@patch('fetcher.cache.jobs')
|
||||
@patch('fetcher.cache.get_redis_connection')
|
||||
def test_get_releases_of_recording_all_good(self, mock_connection, mock_jobs):
|
||||
"""Testear get releases of recording cuando esta todo"""
|
||||
mock_redis = CacheTest.mock_redis(mock_connection)
|
||||
|
||||
def __contains__(_, key):
|
||||
if key == 'recording:mbid:release':
|
||||
return True
|
||||
elif key == 'recording:mbid:release:count':
|
||||
return True
|
||||
else:
|
||||
self.fail(f'Key inesperada en __contains__: {key}')
|
||||
mock_redis.__contains__ = __contains__
|
||||
|
||||
def get(key):
|
||||
if key == 'recording:mbid:release:count':
|
||||
return 10
|
||||
else:
|
||||
self.fail(f'Key inesperada en get: {key}')
|
||||
mock_redis.get = get
|
||||
|
||||
def zcard(key):
|
||||
if key == 'recording:mbid:release':
|
||||
return 10
|
||||
else:
|
||||
self.fail(f'Key inesperada en zcard: {key}')
|
||||
mock_redis.zcard = zcard
|
||||
|
||||
def zrange(key, start, end):
|
||||
if key == 'recording:mbid:release':
|
||||
return range(10)
|
||||
else:
|
||||
self.fail(f'Key inesperada en zrange: {key}')
|
||||
mock_redis.zrange = zrange
|
||||
|
||||
mock_redis.exists = Mock(return_value=10)
|
||||
|
||||
releases = [{'id': i} for i in range(10)]
|
||||
mock_redis.mget = Mock(return_value=[json.dumps(release) for release in releases])
|
||||
|
||||
result, total = cache.get_releases_of_recording('mbid', 10, 0)
|
||||
self.assertEquals(result, releases)
|
||||
self.assertEquals(total, 10)
|
||||
|
||||
mock_jobs.load_entities_of_recording.delay.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user