diff options
author | Luke Shumaker <lukeshu@parabola.nu> | 2019-04-04 23:41:40 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@parabola.nu> | 2019-04-04 23:41:40 -0400 |
commit | f013c8d8cb06f7c993bbc41519de5ab7dd2ce0c4 (patch) | |
tree | aa1c56be991f8584b47f62d695cb88941fdce638 /mirrors | |
parent | b5ed13a7eccddf71fb48d3fe8679f70d786d3fe5 (diff) | |
parent | 7f91c4effbd96b51de2b63323a5ea63b19573f48 (diff) |
Merge branch 'archweb-generic' into lukeshu/masterHEADparabolaweb-2019-04-07masterlukeshu/master
Diffstat (limited to 'mirrors')
-rw-r--r-- | mirrors/tests.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/mirrors/tests.py b/mirrors/tests.py new file mode 100644 index 00000000..30b2d730 --- /dev/null +++ b/mirrors/tests.py @@ -0,0 +1,62 @@ +import json + +from django.test import TestCase + +from models import MirrorUrl, MirrorProtocol, Mirror + +def create_mirror_url(): + mirror = Mirror.objects.create(name='mirror1', admin_email='admin@archlinux.org') + mirror_protocol = MirrorProtocol.objects.create(protocol='http') + mirror_url = MirrorUrl.objects.create(url='https://archlinux.org', protocol=mirror_protocol, + mirror=mirror, country='US') + return mirror_url + +class MirrorUrlTest(TestCase): + def setUp(self): + self.mirror_url = create_mirror_url() + + def testAddressFamilies(self): + self.assertEqual(self.mirror_url.address_families(), [2, 10]) + + def testHostname(self): + self.assertEqual(self.mirror_url.hostname, 'archlinux.org') + + def testGetAbsoluteUrl(self): + absolute_url = self.mirror_url.get_absolute_url() + expected = '/mirrors/%s/%d/' % (self.mirror_url.mirror.name, self.mirror_url.pk) + self.assertEqual(absolute_url, expected) + + def testClean(self): + # TODO: add test for self.mirror_url.clean() + pass + + def tearDown(self): + self.mirror_url.delete() + +class MirrorStatusTest(TestCase): + def test_status(self): + response = self.client.get('/mirrors/status/') + self.assertEqual(response.status_code, 200) + + def test_json_endpoint(self): + response = self.client.get('/mirrors/status/json/') + self.assertEqual(response.status_code, 200) + data = json.loads(response.content) + self.assertEqual(data['urls'], []) + + mirror_url = create_mirror_url() + + # Verify that the cache works + response = self.client.get('/mirrors/status/json/') + self.assertEqual(response.status_code, 200) + data = json.loads(response.content) + + # Disables the cache_function's cache + with self.settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache'}}): + response = self.client.get('/mirrors/status/json/') + self.assertEqual(response.status_code, 200) + data = json.loads(response.content) + + self.assertEqual(len(data['urls']), 1) + mirror = data['urls'][0] + self.assertEqual(mirror['url'], mirror_url.url) |