Commit inicial

Habia trabajado un buen poco pero como vi que tenia que separar los
repositorios perdi bastante la historia :c
This commit is contained in:
Daniel Cortes
2020-05-22 00:05:27 -04:00
commit 3568abfbc7
44 changed files with 1841 additions and 0 deletions

44
fetcher/tests.py Normal file
View File

@@ -0,0 +1,44 @@
import redis
from django.test import TestCase
from fetcher import musicbrainz
class MusicBrainzTestCase(TestCase):
def setUp(self):
redis.Redis().flushall()
def test_can_do_basic_request(self):
artist_url = 'https://musicbrainz.org/ws/2/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab'
musicbrainz._do_request(artist_url)
def test_do_request_response_format(self):
artist_url = 'https://musicbrainz.org/ws/2/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab'
response = musicbrainz._do_request(artist_url)
self.assertIsInstance(response, dict)
self.assertEquals(response['status'], 200)
self.assertIsInstance(response['response'], dict)
def test_do_request_input_validation(self):
artist_url = 'https://musicbrainz.org/ws/2/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab'
self.assertRaises(ValueError, musicbrainz._do_request, None)
self.assertRaises(ValueError, musicbrainz._do_request, '')
musicbrainz._headers['user-agent'] = None
self.assertRaises(ValueError, musicbrainz._do_request, artist_url)
def test_cache(self):
def fun():
return {}
musicbrainz.cache(fun)()
self.assertTrue(redis.Redis().keys('*') is not None)
self.assertEquals(musicbrainz.cache(fun)(), {})
redis.Redis().set('fun, [[], {}]', '{"test": true}')
self.assertEquals(musicbrainz.cache(fun)(), {"test": True})
def fun(a, b):
return {}
musicbrainz.cache(fun)('word', [''])