forked from trustification/trustify-tests
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsbom-explorer.feature
More file actions
127 lines (110 loc) · 5.16 KB
/
sbom-explorer.feature
File metadata and controls
127 lines (110 loc) · 5.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Feature: SBOM Explorer - View SBOM details
Background: Authentication
Given User is authenticated
Scenario Outline: View SBOM Overview
Given An ingested SBOM "<sbomName>" is available
When User visits SBOM details Page of "<sbomName>"
Then The page title is "<sbomName>"
And Tab "Info" is visible
And Tab "Packages" is visible
And Tab "Vulnerabilities" is visible
But Tab "Dependency Analytics Report" is not visible
Examples:
| sbomName |
| quarkus-bom |
Scenario Outline: View SBOM Info (Metadata)
Given An ingested SBOM "<sbomName>" is available
When User visits SBOM details Page of "<sbomName>"
Then Tab "Info" is selected
Then "SBOM's name" is visible
And "SBOM's namespace" is visible
And "SBOM's license" is visible
And "SBOM's creation date" is visible
And "SBOM's creator" is visible
Examples:
| sbomName |
| quarkus-bom |
Scenario Outline: Downloading SBOM file
Given An ingested SBOM "<sbomName>" is available
When User visits SBOM details Page of "<sbomName>"
Then "Download SBOM" action is invoked and downloaded filename is "<expectedSbomFilename>"
Then "Download License Report" action is invoked and downloaded filename is "<expectedLicenseFilename>"
Examples:
| sbomName | expectedSbomFilename | expectedLicenseFilename |
| quarkus-bom | quarkus-bom.json | quarkus-bom_licenses.tar.gz |
Scenario Outline: View list of SBOM Packages
Given An ingested SBOM "<sbomName>" is available
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Packages"
# confirms its visible for all tabs
Then The page title is "<sbomName>"
Then The Package table is sorted by "Name"
When Search by FilterText "<packageName>"
Then The Package table is sorted by "Name"
Then The Package table total results is 1
Then The "Name" column of the Package table table contains "<packageName>"
When Search by FilterText "nothing matches"
Then The Package table total results is 0
When User clear all filters
Then The Package table total results is greather than 1
Examples:
| sbomName | packageName |
| quarkus-bom | jdom |
Scenario Outline: View SBOM Vulnerabilities
Given An ingested SBOM "<sbomName>" containing Vulnerabilities
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Vulnerabilities"
When User Clicks on Vulnerabilities Tab Action
Then Vulnerability Popup menu appears with message
Then Vulnerability Risk Profile circle should be visible
Then Vulnerability Risk Profile shows summary of vulnerabilities
Then SBOM Name "<sbomName>" should be visible inside the tab
Then SBOM Version should be visible inside the tab
Then SBOM Creation date should be visible inside the tab
Then List of related Vulnerabilities should be sorted by "Id" in ascending order
Examples:
| sbomName |
| quarkus-bom |
@slow
Scenario Outline: Pagination of SBOM Vulnerabilities table
Given An ingested SBOM "<sbomName>" containing Vulnerabilities
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Vulnerabilities"
Then Pagination of Vulnerabilities list works
Examples:
| sbomName |
| quarkus-bom |
@slow
Scenario Outline: View paginated list of SBOM Packages
Given An ingested SBOM "<sbomName>" is available
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Packages"
Then Pagination of Packages list works
Examples:
| sbomName |
| quarkus-bom |
Scenario Outline: Check Column Headers of SBOM Explorer Vulnerabilities table
Given An ingested SBOM "<sbomName>" containing Vulnerabilities
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Vulnerabilities"
Then List of Vulnerabilities has column "Id"
Then List of Vulnerabilities has column "Description"
Then List of Vulnerabilities has column "CVSS"
Then List of Vulnerabilities has column "Affected dependencies"
Then List of Vulnerabilities has column "Published"
Then List of Vulnerabilities has column "Updated"
Examples:
| sbomName |
| quarkus-bom |
@slow
Scenario Outline: Sorting SBOM Vulnerabilities
Given An ingested SBOM "<sbomName>" containing Vulnerabilities
When User visits SBOM details Page of "<sbomName>"
When User selects the Tab "Vulnerabilities"
Then Table column "Description" is not sortable
Then Sorting of "Id, Affected dependencies, Published, Updated" Columns Works
#Then Sorting of "CVSS" Columns works
# Bug: https://issues.redhat.com/browse/TC-2598
Examples:
| sbomName |
| quarkus-bom |