summaryrefslogtreecommitdiffstats
path: root/releng/tests
diff options
context:
space:
mode:
authorjelle van der Waa <jelle@vdwaa.nl>2018-02-17 18:54:09 +0100
committerAngel Velásquez <angvp@archlinux.org>2018-02-17 12:54:09 -0500
commit15e4f75321f5c43198cc5a2a3709c817f885a08c (patch)
tree6de61cf4657bf0fe21a02e0297678767d1a57d30 /releng/tests
parent73107e0a6ad446195e0656afeec378ae27396829 (diff)
downloadarchweb-15e4f75321f5c43198cc5a2a3709c817f885a08c.tar.gz
archweb-15e4f75321f5c43198cc5a2a3709c817f885a08c.zip
releng: Add tests for a few views (#83)
Add a few simple tests for some of the releases views.
Diffstat (limited to 'releng/tests')
-rw-r--r--releng/tests/__init__.py0
-rw-r--r--releng/tests/test_models.py34
-rw-r--r--releng/tests/test_views.py32
3 files changed, 66 insertions, 0 deletions
diff --git a/releng/tests/__init__.py b/releng/tests/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/releng/tests/__init__.py
diff --git a/releng/tests/test_models.py b/releng/tests/test_models.py
new file mode 100644
index 00000000..0ed5f1fe
--- /dev/null
+++ b/releng/tests/test_models.py
@@ -0,0 +1,34 @@
+from django.test import TestCase
+
+from releng.models import Release
+
+
+class RelengTest(TestCase):
+ fixtures = ['releng/fixtures/release.json']
+
+ def setUp(self):
+ self.release = Release.objects.first()
+
+ def test_feed(self):
+ response = self.client.get('/feeds/releases/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_absolute_url(self):
+ self.assertIn(self.release.version, self.release.get_absolute_url())
+
+ def test_iso_url(self):
+ url = self.release.iso_url()
+ ver = self.release.version
+ expected = 'iso/{}/archlinux-{}-x86_64.iso'.format(ver, ver)
+ self.assertEqual(url, expected)
+
+ def test_info_html(self):
+ self.assertIn(self.release.info, self.release.info_html())
+
+ def test_dir_path(self):
+ dir_path = u'iso/{}/'.format(self.release.version)
+ self.assertEqual(dir_path, self.release.dir_path())
+
+ def test_sitemap(self):
+ response = self.client.get('/sitemap-releases.xml')
+ self.assertEqual(response.status_code, 200)
diff --git a/releng/tests/test_views.py b/releng/tests/test_views.py
new file mode 100644
index 00000000..905c2d04
--- /dev/null
+++ b/releng/tests/test_views.py
@@ -0,0 +1,32 @@
+import json
+
+from django.test import TestCase
+
+from releng.models import Release
+
+
+class RelengViewTest(TestCase):
+ fixtures = ['releng/fixtures/release.json']
+
+ def setUp(self):
+ self.release = Release.objects.first()
+
+ def test_release_json(self):
+ version = self.release.version
+ response = self.client.get('/releng/releases/json/')
+ self.assertEqual(response.status_code, 200)
+ data = json.loads(response.content)
+
+ self.assertEqual(data['version'], 1)
+ release = data['releases'][0]
+ self.assertEqual(release['version'], version)
+
+ def test_netboot_page(self):
+ response = self.client.get('/releng/netboot/')
+ self.assertEqual(response.status_code, 200)
+
+ def test_release_torrent_not_found(self):
+ # TODO: Add torrent data to release fixture
+ version = self.release.version
+ response = self.client.get('/releng/releases/{}/torrent/'.format(version))
+ self.assertEqual(response.status_code, 404)