From 5c3961d3f1757fd7fa114ddc869aaea3b3ddf10b Mon Sep 17 00:00:00 2001 From: Jelle van der Waa Date: Sun, 11 Jun 2017 18:57:25 +0200 Subject: [PATCH] releng: Add Release model tests --- releng/fixtures/release.json | 17 +++++++++++++++++ releng/tests.py | 26 ++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 releng/fixtures/release.json diff --git a/releng/fixtures/release.json b/releng/fixtures/release.json new file mode 100644 index 00000000..94a4dd5e --- /dev/null +++ b/releng/fixtures/release.json @@ -0,0 +1,17 @@ +[ + { + "fields": { + "available": true, + "created": "2017-06-07T19:36:49.569Z", + "info": "public information", + "kernel_version": "4.12", + "last_modified": "2017-06-11T16:53:53.723Z", + "md5_sum": "f029d6004e63464b1b26c62058c4e37e", + "release_date": "2017-06-11", + "sha1_sum": "2c2c8ce676e891ac354cf4a8bac3824a4aae0c90", + "version": "juni" + }, + "model": "releng.release", + "pk": 1 + } +] diff --git a/releng/tests.py b/releng/tests.py index 6e5cf644..bc499aed 100644 --- a/releng/tests.py +++ b/releng/tests.py @@ -1,7 +1,33 @@ +import hashlib +from datetime import datetime + 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())