Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.

Commit e1a0ccf

Browse files
committed
Added functional tests for verifying image content
Signed-off-by: Zane Burstein <zane.burstein@anchore.com>
1 parent 8625982 commit e1a0ccf

23 files changed

Lines changed: 10341 additions & 0 deletions

File tree

tests/functional/services/api/conftest.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,3 +247,31 @@ def _add_image_for_analysis(tag):
247247
return http_post(["images"], {"tag": tag}, config=request.param)
248248

249249
return _add_image_for_analysis
250+
251+
252+
@pytest.fixture(scope="class")
253+
def add_image_with_teardown(request):
254+
def _add_image_wit_teardown(tag):
255+
add_response = http_post(["images"], {"tag": tag}, config=get_api_conf)
256+
if add_response.code != 200:
257+
raise RequestFailedError(
258+
add_response.url, add_response.code, add_response.body
259+
)
260+
261+
image_id = get_image_id(add_response)
262+
263+
def _delete_image():
264+
remove_resp = http_del(
265+
["images", "by_id", image_id],
266+
query={"force": True},
267+
config=get_api_conf,
268+
)
269+
if remove_resp.code != 200:
270+
raise RequestFailedError(
271+
remove_resp.url, remove_resp.code, remove_resp.body
272+
)
273+
274+
request.addfinalizer(_delete_image)
275+
return add_response
276+
277+
return _add_image_wit_teardown

tests/functional/services/api/images/content/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"content": [
3+
{
4+
"cpes": [
5+
"cpe:2.3:a:wayne_conrad:ftpd:0.2.1:*:*:*:*:*:*:*",
6+
"cpe:2.3:a:wayne-conrad:ftpd:0.2.1:*:*:*:*:*:*:*",
7+
"cpe:2.3:a:ruby-lang:ftpd:0.2.1:*:*:*:*:*:*:*",
8+
"cpe:2.3:a:ruby_lang:ftpd:0.2.1:*:*:*:*:*:*:*",
9+
"cpe:2.3:a:ftpd:ftpd:0.2.1:*:*:*:*:*:*:*",
10+
"cpe:2.3:a:ruby:ftpd:0.2.1:*:*:*:*:*:*:*",
11+
"cpe:2.3:a:*:ftpd:0.2.1:*:*:*:*:*:*:*"
12+
],
13+
"license": "MIT",
14+
"licenses": [
15+
"MIT"
16+
],
17+
"location": "/var/lib/gems/2.5.0/specifications/ftpd-0.2.1.gemspec",
18+
"origin": "Wayne Conrad",
19+
"package": "ftpd",
20+
"type": "GEM",
21+
"version": "0.2.1"
22+
},
23+
{
24+
"cpes": [
25+
"cpe:2.3:a:barun_singh:memoizer:1.0.3:*:*:*:*:*:*:*",
26+
"cpe:2.3:a:barun-singh:memoizer:1.0.3:*:*:*:*:*:*:*",
27+
"cpe:2.3:a:ruby_lang:memoizer:1.0.3:*:*:*:*:*:*:*",
28+
"cpe:2.3:a:ruby-lang:memoizer:1.0.3:*:*:*:*:*:*:*",
29+
"cpe:2.3:a:memoizer:memoizer:1.0.3:*:*:*:*:*:*:*",
30+
"cpe:2.3:a:ruby:memoizer:1.0.3:*:*:*:*:*:*:*",
31+
"cpe:2.3:a:*:memoizer:1.0.3:*:*:*:*:*:*:*"
32+
],
33+
"license": "MIT",
34+
"licenses": [
35+
"MIT"
36+
],
37+
"location": "/var/lib/gems/2.5.0/specifications/memoizer-1.0.3.gemspec",
38+
"origin": "Barun Singh",
39+
"package": "memoizer",
40+
"type": "GEM",
41+
"version": "1.0.3"
42+
}
43+
],
44+
"content_type": "gem",
45+
"imageDigest": "sha256:406413437f26223183d133ccc7186f24c827729e1b21adc7330dd43fcdc030b3"
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"content": [
3+
{
4+
"cpes": [
5+
"cpe:2.3:a:*:ftpd:0.2.1:*:*:*:*:*:*:*",
6+
"cpe:2.3:a:ftpd:ftpd:0.2.1:*:*:*:*:*:*:*",
7+
"cpe:2.3:a:ruby-lang:ftpd:0.2.1:*:*:*:*:*:*:*",
8+
"cpe:2.3:a:ruby:ftpd:0.2.1:*:*:*:*:*:*:*",
9+
"cpe:2.3:a:ruby_lang:ftpd:0.2.1:*:*:*:*:*:*:*",
10+
"cpe:2.3:a:wayne-conrad:ftpd:0.2.1:*:*:*:*:*:*:*",
11+
"cpe:2.3:a:wayne_conrad:ftpd:0.2.1:*:*:*:*:*:*:*"
12+
],
13+
"license": "MIT",
14+
"licenses": [
15+
"MIT"
16+
],
17+
"location": "/usr/lib/ruby/gems/2.7.0/specifications/ftpd-0.2.1.gemspec",
18+
"origin": "Wayne Conrad",
19+
"package": "ftpd",
20+
"type": "GEM",
21+
"version": "0.2.1"
22+
},
23+
{
24+
"cpes": [
25+
"cpe:2.3:a:*:memoizer:1.0.3:*:*:*:*:*:*:*",
26+
"cpe:2.3:a:barun-singh:memoizer:1.0.3:*:*:*:*:*:*:*",
27+
"cpe:2.3:a:barun_singh:memoizer:1.0.3:*:*:*:*:*:*:*",
28+
"cpe:2.3:a:memoizer:memoizer:1.0.3:*:*:*:*:*:*:*",
29+
"cpe:2.3:a:ruby-lang:memoizer:1.0.3:*:*:*:*:*:*:*",
30+
"cpe:2.3:a:ruby:memoizer:1.0.3:*:*:*:*:*:*:*",
31+
"cpe:2.3:a:ruby_lang:memoizer:1.0.3:*:*:*:*:*:*:*"
32+
],
33+
"license": "MIT",
34+
"licenses": [
35+
"MIT"
36+
],
37+
"location": "/usr/lib/ruby/gems/2.7.0/specifications/memoizer-1.0.3.gemspec",
38+
"origin": "Barun Singh",
39+
"package": "memoizer",
40+
"type": "GEM",
41+
"version": "1.0.3"
42+
}
43+
],
44+
"content_type": "gem",
45+
"imageDigest": "sha256:80a31c3ce2e99c3691c27ac3b1753163214494e9b2ca07bfdccf29a5cca2bfbe"
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"content": [
3+
{
4+
"cpes": [
5+
"cpe:2.3:a:steve-richert:figaro:1.2.0:*:*:*:*:*:*:*",
6+
"cpe:2.3:a:steve_richert:figaro:1.2.0:*:*:*:*:*:*:*",
7+
"cpe:2.3:a:ruby-lang:figaro:1.2.0:*:*:*:*:*:*:*",
8+
"cpe:2.3:a:ruby_lang:figaro:1.2.0:*:*:*:*:*:*:*",
9+
"cpe:2.3:a:figaro:figaro:1.2.0:*:*:*:*:*:*:*",
10+
"cpe:2.3:a:ruby:figaro:1.2.0:*:*:*:*:*:*:*",
11+
"cpe:2.3:a:*:figaro:1.2.0:*:*:*:*:*:*:*"
12+
],
13+
"license": "MIT",
14+
"licenses": [
15+
"MIT"
16+
],
17+
"location": "/var/lib/gems/2.7.0/specifications/figaro-1.2.0.gemspec",
18+
"origin": "Steve Richert",
19+
"package": "figaro",
20+
"type": "GEM",
21+
"version": "1.2.0"
22+
},
23+
{
24+
"cpes": [
25+
"cpe:2.3:a:yehuda-katz:thor:1.1.0:*:*:*:*:*:*:*",
26+
"cpe:2.3:a:jos\u00e9_valim:thor:1.1.0:*:*:*:*:*:*:*",
27+
"cpe:2.3:a:jos\u00e9-valim:thor:1.1.0:*:*:*:*:*:*:*",
28+
"cpe:2.3:a:yehuda_katz:thor:1.1.0:*:*:*:*:*:*:*",
29+
"cpe:2.3:a:ruby-lang:thor:1.1.0:*:*:*:*:*:*:*",
30+
"cpe:2.3:a:ruby_lang:thor:1.1.0:*:*:*:*:*:*:*",
31+
"cpe:2.3:a:thor:thor:1.1.0:*:*:*:*:*:*:*",
32+
"cpe:2.3:a:ruby:thor:1.1.0:*:*:*:*:*:*:*",
33+
"cpe:2.3:a:*:thor:1.1.0:*:*:*:*:*:*:*"
34+
],
35+
"license": "MIT",
36+
"licenses": [
37+
"MIT"
38+
],
39+
"location": "/var/lib/gems/2.7.0/specifications/thor-1.1.0.gemspec",
40+
"origin": "Yehuda Katz,Jos\u00e9 Valim",
41+
"package": "thor",
42+
"type": "GEM",
43+
"version": "1.1.0"
44+
}
45+
],
46+
"content_type": "gem",
47+
"imageDigest": "sha256:ee7e86bed95c7d2eb2f106f7706d57cdeb1909a20f9f3f17cba361f778df79e4"
48+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"content": [
3+
{
4+
"cpes": [
5+
"cpe:2.3:a:*:ftpd:0.2.1:*:*:*:*:*:*:*",
6+
"cpe:2.3:a:ftpd:ftpd:0.2.1:*:*:*:*:*:*:*",
7+
"cpe:2.3:a:ruby-lang:ftpd:0.2.1:*:*:*:*:*:*:*",
8+
"cpe:2.3:a:ruby:ftpd:0.2.1:*:*:*:*:*:*:*",
9+
"cpe:2.3:a:ruby_lang:ftpd:0.2.1:*:*:*:*:*:*:*",
10+
"cpe:2.3:a:wayne-conrad:ftpd:0.2.1:*:*:*:*:*:*:*",
11+
"cpe:2.3:a:wayne_conrad:ftpd:0.2.1:*:*:*:*:*:*:*"
12+
],
13+
"license": "MIT",
14+
"licenses": [
15+
"MIT"
16+
],
17+
"location": "/usr/local/share/gems/specifications/ftpd-0.2.1.gemspec",
18+
"origin": "Wayne Conrad",
19+
"package": "ftpd",
20+
"type": "GEM",
21+
"version": "0.2.1"
22+
},
23+
{
24+
"cpes": [
25+
"cpe:2.3:a:*:memoizer:1.0.3:*:*:*:*:*:*:*",
26+
"cpe:2.3:a:barun-singh:memoizer:1.0.3:*:*:*:*:*:*:*",
27+
"cpe:2.3:a:barun_singh:memoizer:1.0.3:*:*:*:*:*:*:*",
28+
"cpe:2.3:a:memoizer:memoizer:1.0.3:*:*:*:*:*:*:*",
29+
"cpe:2.3:a:ruby-lang:memoizer:1.0.3:*:*:*:*:*:*:*",
30+
"cpe:2.3:a:ruby:memoizer:1.0.3:*:*:*:*:*:*:*",
31+
"cpe:2.3:a:ruby_lang:memoizer:1.0.3:*:*:*:*:*:*:*"
32+
],
33+
"license": "MIT",
34+
"licenses": [
35+
"MIT"
36+
],
37+
"location": "/usr/local/share/gems/specifications/memoizer-1.0.3.gemspec",
38+
"origin": "Barun Singh",
39+
"package": "memoizer",
40+
"type": "GEM",
41+
"version": "1.0.3"
42+
}
43+
],
44+
"content_type": "gem",
45+
"imageDigest": "sha256:fe3ca35038008b0eac0fa4e686bd072c9430000ab7d7853001bde5f5b8ccf60c"
46+
}

0 commit comments

Comments
 (0)