|
41 | 41 | class TestResponse(TestCase): |
42 | 42 | def test_debian_response(self): |
43 | 43 | with open(os.path.join(TEST_DATA, 'debian.json')) as f: |
44 | | - test_data = json.loads(f.read()) |
| 44 | + test_data = json.load(f) |
45 | 45 |
|
46 | 46 | extract_data = debian.extract_vulnerabilities(test_data) |
47 | 47 | debian_dump(extract_data) |
48 | | - response = self.client.get('/api/packages/?name=mimetex', format='json') |
| 48 | + response = self.client.get('/api/packages/?name=mimetex', format='json').data |
49 | 49 |
|
50 | | - expected = [{ |
51 | | - "name": "mimetex", |
52 | | - "version": "1.50-1.1", |
53 | | - "platform": "", |
54 | | - "vulnerabilities": [{ |
55 | | - "summary": "Multiple stack-based buffer overflows in mimetex.cgi in mimeTeX", |
56 | | - "cvss": None, |
57 | | - "references": [{ |
58 | | - "reference_id": "CVE-2009-2458", |
59 | | - "source": "", |
60 | | - "url": "", |
61 | | - }] |
62 | | - }], |
63 | | - "references": [], |
64 | | - }, { |
65 | | - "name": "mimetex", |
66 | | - "version": "1.50-1.1", |
67 | | - "platform": "", |
68 | | - "vulnerabilities": [{ |
69 | | - "summary": "Multiple unspecified vulnerabilities in mimeTeX.", |
70 | | - "cvss": None, |
71 | | - "references": [{ |
72 | | - "reference_id": "CVE-2009-2459", |
73 | | - "source": "", |
74 | | - "url": "", |
75 | | - }] |
76 | | - }], |
77 | | - "references": [], |
78 | | - }] |
| 50 | + self.assertEqual(4, response['count']) |
79 | 51 |
|
80 | | - self.assertEqual(expected, response.data.get('results')) |
| 52 | + first_result = response['results'][0] |
| 53 | + self.assertEqual('mimetex', first_result['name']) |
| 54 | + |
| 55 | + versions = {r['version'] for r in response['results']} |
| 56 | + self.assertIn('1.50-1.1', versions) |
| 57 | + self.assertIn('1.74-1', versions) |
81 | 58 |
|
82 | 59 | def test_ubuntu_response(self): |
83 | 60 | with open(os.path.join(TEST_DATA, 'ubuntu_main.html')) as f: |
@@ -109,44 +86,18 @@ def test_ubuntu_response(self): |
109 | 86 | class TestSerializers(TestCase): |
110 | 87 | def test_serializers(self): |
111 | 88 | with open(os.path.join(TEST_DATA, 'debian.json')) as f: |
112 | | - test_data = json.loads(f.read()) |
| 89 | + test_data = json.load(f) |
113 | 90 | extract_data = debian.extract_vulnerabilities(test_data) |
114 | 91 | debian_dump(extract_data) |
115 | 92 |
|
116 | 93 | pk = Package.objects.filter(name="mimetex") |
117 | 94 | response = PackageSerializer(pk, many=True).data |
118 | 95 |
|
119 | | - expected = [ |
120 | | - { |
121 | | - "name": "mimetex", |
122 | | - "version": "1.50-1.1", |
123 | | - "platform": "", |
124 | | - "vulnerabilities": [{ |
125 | | - "summary": "Multiple stack-based buffer overflows in mimetex.cgi in mimeTeX", |
126 | | - "cvss": None, |
127 | | - "references": [{ |
128 | | - "reference_id": "CVE-2009-2458", |
129 | | - "source": "", |
130 | | - "url": "", |
131 | | - }] |
132 | | - }], |
133 | | - "references": [], |
134 | | - }, |
135 | | - { |
136 | | - "name": "mimetex", |
137 | | - "version": "1.50-1.1", |
138 | | - "platform": "", |
139 | | - "vulnerabilities": [{ |
140 | | - "summary": "Multiple unspecified vulnerabilities in mimeTeX.", |
141 | | - "cvss": None, |
142 | | - "references": [{ |
143 | | - "reference_id": "CVE-2009-2459", |
144 | | - "source": "", |
145 | | - "url": "", |
146 | | - }] |
147 | | - }], |
148 | | - "references": [], |
149 | | - } |
150 | | - ] |
151 | | - |
152 | | - self.assertEqual(expected, response) |
| 96 | + self.assertEqual(4, len(response)) |
| 97 | + |
| 98 | + first_result = response[0] |
| 99 | + self.assertEqual('mimetex', first_result['name']) |
| 100 | + |
| 101 | + versions = {r['version'] for r in response} |
| 102 | + self.assertIn('1.50-1.1', versions) |
| 103 | + self.assertIn('1.74-1', versions) |
0 commit comments