error en cache, no se validaba si existia el conteo de recordings

This commit is contained in:
Daniel Cortes
2020-06-16 23:09:41 -04:00
parent 8f6cf8e691
commit c01cb8e57d
2 changed files with 72 additions and 0 deletions

View File

@@ -485,6 +485,61 @@ class CacheTest(TestCase):
mock_jobs.load_entities_of_release.delay.assert_called_with('mbid')
@patch('fetcher.cache.jobs')
@patch('fetcher.cache.get_redis_connection')
def test_get_recordings_of_release_all_medias_no_recordings_count(self,
mock_connection, mock_jobs):
"""Testear get recordings of release estan las medias y hay una lista de recordings
pero no se tiene la cuenta de ellas"""
medias = [{'id': id, 'position': id} for id in range(1, 3)]
mock_redis = CacheTest.mock_redis(mock_connection)
def __contains__(_, key):
if key == 'release:mbid:media':
return True
elif key == 'release:mbid:media:1:recordings':
return True
elif key == 'release:mbid:media:2:recordings':
return True
elif key == 'release:mbid:media:1:recordings:count':
return False
elif key == 'release:mbid:media:2:recordings:count':
return False
else:
self.fail(f'Key inesperada en __contains__: {key}')
mock_redis.__contains__ = __contains__
def get(key):
if key == 'release:mbid:media:count':
return 2
elif key == 'release:mbid:media:1:recordings:count':
return None
elif key == 'release:mbid:media:2:recordings:count':
return None
else:
self.fail(f'Key inesperada en get: {key}')
mock_redis.get = get
def zcard(key):
if key == 'release:mbid:media':
return 2
else:
self.fail(f'Key inesperada en zcard: {key}')
mock_redis.zcard = zcard
def zrange(key, start, finish):
if key == 'release:mbid:media':
return [json.dumps(media) for media in medias]
else:
self.fail(f'Key inesperada en zrange: {key}')
mock_redis.zrange = zrange
response = cache.get_recordings_of_release('mbid')
self.assertEquals(response, None)
mock_jobs.load_entities_of_release.delay.assert_called_with('mbid')
@patch('fetcher.cache.jobs')
@patch('fetcher.cache.get_redis_connection')
def test_get_recordings_of_release_all_medias_bad_recording_count(self,
@@ -503,6 +558,10 @@ class CacheTest(TestCase):
return True
elif key == 'release:mbid:media:2:recordings':
return True
elif key == 'release:mbid:media:1:recordings:count':
return True
elif key == 'release:mbid:media:2:recordings:count':
return True
else:
self.fail(f'Key inesperada en __contains__: {key}')
mock_redis.__contains__ = __contains__
@@ -557,6 +616,10 @@ class CacheTest(TestCase):
return True
elif key == 'release:mbid:media:2:recordings':
return True
elif key == 'release:mbid:media:1:recordings:count':
return True
elif key == 'release:mbid:media:2:recordings:count':
return True
else:
self.fail(f'Key inesperada en __contains__: {key}')
mock_redis.__contains__ = __contains__
@@ -615,6 +678,10 @@ class CacheTest(TestCase):
return True
elif key == 'release:mbid:media:2:recordings':
return True
elif key == 'release:mbid:media:1:recordings:count':
return True
elif key == 'release:mbid:media:2:recordings:count':
return True
else:
self.fail(f'Key inesperada en __contains__: {key}')
mock_redis.__contains__ = __contains__