Skip to content

Commit 459a71d

Browse files
m1rmjelly
authored andcommitted
dev: add test for newly exposed fields
1 parent 4d6efbc commit 459a71d

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

releng/tests/conftest.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,20 @@
99
VERSION = '1.0'
1010
KERNEL_VERSION = '4.18'
1111

12+
# Sample signing identity; same values as releng/fixtures/release.json (PGPKeyField stores 40 hex digits).
13+
PGP_KEY_FINGERPRINT = '3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C'
14+
WKD_EMAIL = 'pierre@archlinux.de'
15+
1216

1317
@pytest.fixture
1418
def release(db):
15-
release = Release.objects.create(release_date=datetime.now(),
16-
version=VERSION,
17-
kernel_version=KERNEL_VERSION)
19+
release = Release.objects.create(
20+
release_date=datetime.now(),
21+
version=VERSION,
22+
kernel_version=KERNEL_VERSION,
23+
pgp_key=PGP_KEY_FINGERPRINT,
24+
wkd_email=WKD_EMAIL,
25+
)
1826
yield release
1927
release.delete()
2028

releng/tests/test_views.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@ def test_release_json(client, release, torrent_data):
77
assert data['version'] == 1
88
release_data = data['releases'][0]
99
assert release_data['version'] == version
10+
assert release_data['pgp_fingerprint'] == release.pgp_key
11+
assert release_data['wkd_email'] == release.wkd_email
1012

1113
# Test with torrent data
1214
release.torrent_data = torrent_data
1315
release.save()
1416
response = client.get('/releng/releases/json/')
1517
assert response.status_code == 200
18+
release_data = response.json()['releases'][0]
19+
assert release_data['pgp_fingerprint'] == release.pgp_key
20+
assert release_data['wkd_email'] == release.wkd_email
1621

1722

1823
def test_json(db, client):
@@ -23,6 +28,23 @@ def test_json(db, client):
2328
assert data['releases'] == []
2429

2530

31+
def test_release_json_null_pgp_fingerprint_and_wkd_email(client, db):
32+
from datetime import datetime
33+
34+
from releng.models import Release
35+
36+
Release.objects.create(
37+
release_date=datetime.now(),
38+
version='9.9.9',
39+
kernel_version='1.0',
40+
)
41+
response = client.get('/releng/releases/json/')
42+
assert response.status_code == 200
43+
release_data = response.json()['releases'][0]
44+
assert release_data['pgp_fingerprint'] is None
45+
assert release_data['wkd_email'] is None
46+
47+
2648
def test_netboot_page(db, client):
2749
response = client.get('/releng/netboot/')
2850
assert response.status_code == 200

0 commit comments

Comments
 (0)