diff options
author | jelle van der Waa <jelle@vdwaa.nl> | 2018-02-17 18:54:09 +0100 |
---|---|---|
committer | Angel Velásquez <angvp@archlinux.org> | 2018-02-17 12:54:09 -0500 |
commit | 15e4f75321f5c43198cc5a2a3709c817f885a08c (patch) | |
tree | 6de61cf4657bf0fe21a02e0297678767d1a57d30 /releng/tests | |
parent | 73107e0a6ad446195e0656afeec378ae27396829 (diff) | |
download | archweb-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__.py | 0 | ||||
-rw-r--r-- | releng/tests/test_models.py | 34 | ||||
-rw-r--r-- | releng/tests/test_views.py | 32 |
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) |