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:
44
fetcher/tests.py
Normal file
44
fetcher/tests.py
Normal 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', [''])
|
||||
Reference in New Issue
Block a user