|
| 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