summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjelle van der Waa <jelle@vdwaa.nl>2018-01-04 22:23:06 +0100
committerAngel Velásquez <angvp@archlinux.org>2018-01-04 16:23:06 -0500
commit1e65142aeab9e24b8968f3915ef930386f04fed3 (patch)
treeb0f7e381f51317085284fcdb44126d4195ceaf8c
parente4ab95c56a541139703dcf7a6bce86098a9d5ef4 (diff)
downloadarchweb-1e65142aeab9e24b8968f3915ef930386f04fed3.tar.gz
archweb-1e65142aeab9e24b8968f3915ef930386f04fed3.zip
Add more basic url tests (#76)
* packages: Add test for differences view Add a simple test to check if the differences view renders. * packages: Add tests for more urls Add basic tests for /packages/ related urls. * mirrors: Add mirrorlist urls
-rw-r--r--mirrors/tests.py43
-rw-r--r--packages/tests.py56
2 files changed, 99 insertions, 0 deletions
diff --git a/mirrors/tests.py b/mirrors/tests.py
index 1261cf59..318811ef 100644
--- a/mirrors/tests.py
+++ b/mirrors/tests.py
@@ -26,6 +26,11 @@ class MirrorUrlTest(TestCase):
expected = '/mirrors/%s/%d/' % (self.mirror_url.mirror.name, self.mirror_url.pk)
self.assertEqual(absolute_url, expected)
+ def test_mirror_overview(self):
+ response = self.client.get('/mirrors/')
+ self.assertEqual(response.status_code, 200)
+ self.assertIn(self.mirror_url.mirror.name, response.content)
+
def testClean(self):
# TODO: add test for self.mirror_url.clean()
pass
@@ -60,3 +65,41 @@ class MirrorStatusTest(TestCase):
self.assertEqual(len(data['urls']), 1)
mirror = data['urls'][0]
self.assertEqual(mirror['url'], mirror_url.url)
+
+
+class MirrorListTest(TestCase):
+ def setUp(self):
+ self.mirror_url = create_mirror_url()
+
+ def test_mirrorlist(self):
+ response = self.client.get('/mirrorlist/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_mirrorlist(self):
+ response = self.client.get('/mirrorlist/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_mirrorlist_all(self):
+ response = self.client.get('/mirrorlist/all/')
+ self.assertEqual(response.status_code, 200)
+ self.assertIn(self.mirror_url.hostname, response.content)
+
+ def test_mirrorlist_all_http(self):
+ response = self.client.get('/mirrorlist/all/http/')
+ self.assertEqual(response.status_code, 200)
+ self.assertIn(self.mirror_url.hostname, response.content)
+
+ def test_mirrorlist_all_https(self):
+ response = self.client.get('/mirrorlist/all/https/')
+ self.assertEqual(response.status_code, 404)
+ # TODO: test 200 case
+
+ def test_mirrorlist_filter(self):
+ response = self.client.get('/mirrorlist/?country=all&protocol=http&ip_version=4')
+ self.assertEqual(response.status_code, 200)
+ self.assertIn(self.mirror_url.hostname, response.content)
+
+ def test_generate(self):
+ response = self.client.get('/mirrorlist/?country=all&protocol=http&ip_version=4')
+ self.assertEqual(response.status_code, 200)
+ self.assertIn(self.mirror_url.hostname, response.content)
diff --git a/packages/tests.py b/packages/tests.py
index 69ec3217..94d7c20d 100644
--- a/packages/tests.py
+++ b/packages/tests.py
@@ -177,6 +177,62 @@ class OpenSearch(TestCase):
self.assertIn('linux', response.content)
response = self.client.get('/opensearch/packages/suggest')
+
+class PackageViews(TestCase):
+ fixtures = ['main/fixtures/arches.json', 'main/fixtures/repos.json',
+ 'main/fixtures/package.json']
+
+ def test_arch_differences(self):
+ response = self.client.get('/packages/differences/')
self.assertEqual(response.status_code, 200)
+
+class PackageDisplay(TestCase):
+ fixtures = ['main/fixtures/arches.json', 'main/fixtures/repos.json',
+ 'main/fixtures/package.json']
+
+ def test_packages_detail(self):
+ response = self.client.get('/packages/core/x86_64/linux/')
+ self.assertEqual(response.status_code, 200)
+
+ response = self.client.get('/packages/core/x86_64/nope/')
+ self.assertEqual(response.status_code, 404)
+
+ # Redirect to search
+ response = self.client.get('/packages/core/x86_64/')
+ self.assertEqual(response.status_code, 302)
+
+ def test_packages_json(self):
+ response = self.client.get('/packages/core/x86_64/linux/json/')
+ self.assertEqual(response.status_code, 200)
+ data = json.loads(response.content)
+ self.assertEqual(data['pkgbase'], 'linux')
+ # TODO verify more of the structure
+
+ def test_packages_files(self):
+ response = self.client.get('/packages/core/x86_64/linux/files/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_packages_files_json(self):
+ response = self.client.get('/packages/core/x86_64/linux/files/json/')
+ self.assertEqual(response.status_code, 200)
+ data = json.loads(response.content)
+ self.assertEqual(data['pkgname'], 'linux')
+ # TODO verify more of the structure
+
+ def test_packages_download(self):
+ response = self.client.get('/packages/core/x86_64/linux/download/')
+ self.assertEqual(response.status_code, 404)
+ # TODO: Figure out how to fake a mirror
+
+ def test_groups(self):
+ response = self.client.get('/groups/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_groups_detail(self):
+ response = self.client.get('/groups/x86_64/base/')
+ self.assertEqual(response.status_code, 404)
+ # FIXME: add group fixtures.
+
+
# vim: set ts=4 sw=4 et: