Skip to content
This repository was archived by the owner on Sep 11, 2025. It is now read-only.

Commit a542a39

Browse files
author
Rajan Ravi
committed
Adding License export feature files
Signed-off-by: Rajan Ravi <rravi@rravi-thinkpadp1gen4i.bengluru.csb>
1 parent 4622d5d commit a542a39

File tree

2 files changed

+147
-0
lines changed

2 files changed

+147
-0
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
2+
Feature: License Explorer
3+
As a Platform Eng
4+
I want to be able to download the licenses in a csv file format from a specific SBOM
5+
6+
Background:
7+
Given User is on TPA Application
8+
And User successfully uploaded a CycloneDX SBOM from Upload SBOM page
9+
And Uploaded CycloneDX SBOM appears on Search List page under SBOMs tab
10+
11+
Scenario: Verify Download Licences option on SBOM Search Results page for CycloneDX SBOM
12+
Given User Searches for CycloneDX SBOM using Search Text box and Navigated to Search results page
13+
When User Selects CycloneDX SBOM of interest from the Search Results
14+
And User Clicks Action button
15+
Then Download Licences Option should be visible
16+
17+
Scenario: User Downloads license information for CycloneDX SBOM from SBOM Search Results page
18+
Given User Searches for CycloneDX SBOM using Search Text box and Navigated to Search results page
19+
When User Selects CycloneDX SBOM of interest from the Search Results
20+
And User Clicks Action button and Selects Download Licenses option
21+
Then Licenses associated with the SBOM should be downloaded in zip format using the SBOM name
22+
23+
Scenario: Verify Download Licences option on SBOM Explorer page for CycloneDX SBOM
24+
Given User Searches for CycloneDX SBOM using Search Text box and Navigated to Search results page
25+
When User Selects CycloneDX SBOM of interest from the Search Results
26+
And User Clicks on SBOM name hyperlink from the Search Results
27+
Then Application Navigates to SBOM Explorer page
28+
And Download Licences Option should be visible
29+
30+
Scenario: User Downloads license information for CycloneDX SBOM from SBOM Explorer page
31+
Given User is on SBOM Explorer page for the CycloneDX SBOM
32+
And User Clicks on Download Licences button
33+
Then Licenses associated with the SBOM should be downloaded in zip format using the SBOM name
34+
35+
Scenario: Verify the files on downloaded CycloneDX SBOM license zip
36+
Given User Downloaded the License information for CycloneDX SBOM
37+
When User extracts the Downloaded license zip file
38+
Then Extracted files should contain two CSVs, one for Package License combination and another one for License reference
39+
40+
Scenario: Verify the headers on CycloneDX SBOM package License CSV file
41+
Given User extracted the CycloneDX SBOM license compressed file
42+
When User Opens the package license combination file
43+
Then The file should have the headers - name, namespace, group, version, package, reference license,license name and alternate package reference
44+
45+
Scenario: Verify the headers on CycloneDX SBOM License reference CSV file
46+
Given User extracted the CycloneDX SBOM license compressed file
47+
When User Opens the license reference file
48+
Then The file should have the headers - licenseId, name, extracted text and comment
49+
50+
Scenario: Verify the license information for a package in CycloneDX SBOM with single license
51+
Given User is on package license combination file
52+
When User selects a packages with Single license information
53+
Then name column should contain the value of component.name field from SBOM json
54+
And namespace column should be empty
55+
And group column should contain the value of component.group field from SBOM json
56+
And version column should contain the value of component.version field from SBOM json
57+
And package reference column should contain the value of components.purl from SBOM json
58+
And license column should contain the value of components.license.id field from SBOM json
59+
And license name column should contain the value of components.license.name field from SBOM json
60+
And alternate package reference column should be empty
61+
62+
Scenario: Verify the license information for a package in CycloneDX SBOM with multiple licenses
63+
Given User is on package license combination file
64+
When User selects a packages with multiple license information
65+
Then Package should have Rows equivalent to number of licenses
66+
And All the package rows should loaded with identical values for the columns name, namespace, group, version, package
67+
And License column should be loaded with the unique licenses of the package from SBOM json
68+
69+
Scenario: Verify the contents on CycloneDX SBOM license reference CSV file
70+
Given User is on license reference file
71+
When User selects a license from the list of license
72+
Then The License reference CSV should be empty
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
2+
Feature: License Explorer
3+
As a Platform Eng
4+
I want to be able to download the licenses in a csv file format from a specific SBOM
5+
6+
Background:
7+
Given User is on TPA Application
8+
And User successfully uploaded a SPDX SBOM from Upload SBOM page
9+
And Uploaded SPDX SBOM appears on Search List page under SBOMs tab
10+
11+
Scenario: Verify Download Licences option on SBOM Search Results page for SPDX SBOM
12+
Given User Searches for SPDX SBOM using Search Text box and Navigated to Search results page
13+
When User Selects SPDX SBOM of interest from the Search Results
14+
And User Clicks Action button
15+
Then Download Licences Option should be visible
16+
17+
Scenario: User Downloads license information for SPDX SBOM from SBOM Search Results page
18+
Given User Searches for SPDX SBOM using Search Text box and Navigated to Search results page
19+
When User Selects SPDX SBOM of interest from the Search Results
20+
And User Clicks Action button and Selects Download Licenses option
21+
Then Licenses associated with the SBOM should be downloaded in zip format using the SBOM name
22+
23+
Scenario: Verify Download Licences option on SBOM Explorer page for SPDX SBOM
24+
Given User Searches for SPDX SBOM using Search Text box and Navigated to Search results page
25+
When User Selects SPDX SBOM of interest from the Search Results
26+
And User Clicks on SBOM name hyperlink from the Search Results
27+
Then Application Navigates to SBOM Explorer page
28+
And Download Licences Option should be visible
29+
30+
Scenario: User Downloads license information for SPDX SBOM from SBOM Explorer page
31+
Given User is on SBOM Explorer page for the SPDX SBOM
32+
And User Clicks on Download Licences button
33+
Then Licenses associated with the SBOM should be downloaded in zip format using the SBOM name
34+
35+
Scenario: Verify the files on downloaded SPDX SBOM license zip
36+
Given User Downloaded the License information for SPDX SBOM
37+
When User extracts the Downloaded license zip file
38+
Then Extracted files should contain two CSVs, one for Package License combination and another one for License reference
39+
40+
Scenario: Verify the headers on SPDX SBOM package License CSV file
41+
Given User extracted the SPDX SBOM license compressed file
42+
When User Opens the package license combination file
43+
Then The file should have the headers - name, namespace, group, version, package, reference license,license name and alternate package reference
44+
45+
Scenario: Verify the headers on SPDX SBOM License reference CSV file
46+
Given User extracted the SPDX SBOM license compressed file
47+
When User Opens the license reference file
48+
Then The file should have the headers - licenseId, name, extracted text and comment
49+
50+
Scenario: Verify the license information for a package with single license
51+
Given User is on package license combination file
52+
When User selects a packages with Single license information
53+
Then name column should contain the value of name field from SBOM json
54+
And namespace column should contain the value of documentNamespace field from SBOM json
55+
And group column should be empty
56+
And version column should be empty
57+
And package reference column should contain the value of packages.externalRefs.referenceLocator field for purl referenceType from SBOM json
58+
And license column should contain the value of packages.licenseDeclared field from SBOM json
59+
And license name column should be populated in reference to license reference CSV file
60+
And alternate package reference column should contain the arrays of values of packages.externalRefs.referenceLocator field for referenceType other than purl
61+
62+
Scenario: Verify the license information for a package with multiple licenses
63+
Given User is on package license combination file
64+
When User selects a packages with multiple license information
65+
Then Package should have Rows equivalent to number of licenses
66+
And All the package rows should loaded with identical values for the columns name, namespace, group, version, package
67+
And License column should be loaded with the unique licenses of the package from SBOM json
68+
69+
Scenario: Verify the contents on SPDX SBOM license reference CSV file
70+
Given User is on license reference file
71+
When User selects a license from the list of license
72+
Then The unique values of licenceDeclared field from SPDX SBOM file should be listed
73+
And licenseid column should be loaded with unique license id
74+
And license column should be loaded with the name of the license
75+
And extracted text and comment columns should be loaded in reference to the template file

0 commit comments

Comments
 (0)