Skip to content

Commit 5cf8869

Browse files
jellyanthraxx
authored andcommitted
test: Add package related test file
Add a new file for tests related to packages and test the package json feed in it's basic form.
1 parent 9165ce0 commit 5cf8869

2 files changed

Lines changed: 32 additions & 3 deletions

File tree

test/test_group.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import json
2-
31
from flask import url_for
42
from werkzeug.exceptions import Forbidden
53
from werkzeug.exceptions import NotFound
@@ -314,8 +312,9 @@ def test_forbid_delete_with_advisory(db, client):
314312
def test_show_group_json(db, client):
315313
resp = client.get(url_for('tracker.show_group_json', avg=DEFAULT_GROUP_NAME, postfix='/json'), follow_redirects=True)
316314
assert 200 == resp.status_code
317-
data = json.loads(resp.data.decode())
315+
data = resp.get_json()
318316
assert data['name'] == DEFAULT_GROUP_NAME
317+
assert data['issues'] == [DEFAULT_ISSUE_ID]
319318
assert data['packages'] == ['foo']
320319
assert data['affected'] == '1.2.3-3'
321320
assert data['fixed'] == '1.2.3-4'

test/test_package.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from flask import url_for
2+
from werkzeug.exceptions import NotFound
3+
4+
from tracker.model.cve import issue_types
5+
from tracker.model.enum import Publication
6+
7+
from .conftest import DEFAULT_ADVISORY_ID
8+
from .conftest import DEFAULT_GROUP_ID
9+
from .conftest import create_advisory
10+
from .conftest import create_group
11+
from .conftest import create_package
12+
13+
14+
@create_package(name='foo', version='1.2.3-4')
15+
@create_group(id=DEFAULT_GROUP_ID, packages=['foo'], affected='1.2.3-3', fixed='1.2.3-4')
16+
@create_advisory(id=DEFAULT_ADVISORY_ID, group_package_id=DEFAULT_GROUP_ID, advisory_type=issue_types[1], reference='https://security.archlinux.org', publication=Publication.published)
17+
def test_show_package_json(db, client):
18+
resp = client.get(url_for('tracker.show_package_json', pkgname='foo', suffix='/json'), follow_redirects=True)
19+
assert 200 == resp.status_code
20+
data = resp.get_json()
21+
assert len(data['groups']) == 1
22+
assert len(data['versions']) == 1
23+
assert len(data['advisories']) == 1
24+
assert len(data['issues']) == 1
25+
assert data['name'] == 'foo'
26+
27+
28+
def test_show_package_json_not_found(db, client):
29+
resp = client.get(url_for('tracker.show_package_json', pkgname='foo', suffix='/json'), follow_redirects=True)
30+
assert NotFound.code == resp.status_code

0 commit comments

Comments
 (0)