@@ -3,6 +3,7 @@ import io.stackrox.proto.storage.Cve.VulnerabilitySeverity
33import org.junit.Assume
44import services.GraphQLService
55import services.ImageService
6+ import util.Helpers
67
78import spock.lang.Tag
89import spock.lang.Unroll
@@ -29,6 +30,9 @@ class VulnMgmtTest extends BaseSpecification {
2930 static final private String UBUNTU_IMAGE =
3031 " quay.io/rhacs-eng/qa:ubuntu-22.04-amd64"
3132
33+ static final private MODERATE = VulnerabilitySeverity . MODERATE_VULNERABILITY_SEVERITY
34+ static final private LOW = VulnerabilitySeverity . LOW_VULNERABILITY_SEVERITY
35+
3236 private static final EMBEDDED_IMAGE_QUERY = """
3337 query getImage(\$ id: ID!, \$ query: String) {
3438 result: fullImage(id: \$ id) {
@@ -187,14 +191,14 @@ query getComponentId(\$imageId: ID!, \$componentQuery: String) {
187191 Assume . assumeFalse(scannerV4Enabled)
188192
189193 expect :
190- verifySeveritiesAndCvss(imageDigest, component, cve, severity, cvss)
194+ verifySeveritiesAndCvss(imageDigest, imageName, component, cve, severity, cvss)
191195
192196 where :
193197 " Data inputs are: "
194198
195- imageDigest | component | cve | severity | cvss
196- RHEL_IMAGE_LEGACY_DIGEST | " glib2" | " CVE-2019-13012" | VulnerabilitySeverity . LOW_VULNERABILITY_SEVERITY | 4.4
197- UBUNTU_IMAGE_DIGEST | " gnupg2" | " CVE-2022-3219" | VulnerabilitySeverity . LOW_VULNERABILITY_SEVERITY | 3.3
199+ imageDigest | imageName | component | cve | severity | cvss
200+ RHEL_IMAGE_LEGACY_DIGEST | RHEL_IMAGE_LEGACY | " glib2" | " CVE-2019-13012" | LOW | 4.4
201+ UBUNTU_IMAGE_DIGEST | UBUNTU_IMAGE | " gnupg2" | " CVE-2022-3219" | LOW | 3.3
198202 }
199203
200204 @Unroll
@@ -203,27 +207,28 @@ query getComponentId(\$imageId: ID!, \$componentQuery: String) {
203207 Assume . assumeTrue(scannerV4Enabled)
204208
205209 expect :
206- verifySeveritiesAndCvss(imageDigest, component, cve, severity, cvss)
210+ verifySeveritiesAndCvss(imageDigest, imageName, component, cve, severity, cvss)
207211
208212 where :
209213 " Data inputs are: "
210214
211- imageDigest | component | cve | severity | cvss
212- RHEL_IMAGE_DIGEST | " python3" | " CVE-2025-11468" | VulnerabilitySeverity . MODERATE_VULNERABILITY_SEVERITY | 4.5
213- UBUNTU_IMAGE_DIGEST | " gpgv" | " CVE-2022-3219" | VulnerabilitySeverity . LOW_VULNERABILITY_SEVERITY | 3.3
215+ imageDigest | imageName | component | cve | severity | cvss
216+ RHEL_IMAGE_DIGEST | RHEL_IMAGE | " python3" | " CVE-2025-11468" | MODERATE | 4.5
217+ UBUNTU_IMAGE_DIGEST | UBUNTU_IMAGE | " gpgv" | " CVE-2022-3219" | LOW | 3.3
214218 }
215219
216- private void verifySeveritiesAndCvss (String imageDigest , String component , String cve ,
220+ private void verifySeveritiesAndCvss (String imageDigest , String imageName , String component , String cve ,
217221 VulnerabilitySeverity severity , double cvss ) {
218222 def gqlService = new GraphQLService ()
219223
220224 def query = " CVE:${ cve} "
225+ def imageId = flattenImageDataEnabled ? Helpers . generateImageV2ID(imageName, imageDigest) : imageDigest
221226
222227 // Fetch the component ID dynamically since IDs now include image ID and index
223- def componentID = getComponentIDForImage(gqlService, imageDigest , component)
228+ def componentID = getComponentIDForImage(gqlService, imageId , component)
224229
225230 def embeddedImageRes = gqlService.Call (getEmbeddedImageQuery(),
226- [id : imageDigest , query : query])
231+ [id : imageId , query : query])
227232
228233 // Expanded instead of using hasErrors() for easier debugging if there are errors
229234 // as the test framework will actually print out the errors now
@@ -235,12 +240,12 @@ query getComponentId(\$imageId: ID!, \$componentQuery: String) {
235240 def embeddedImageResVuln = embeddedImageRes. value. result. scan. imageComponents[0 ]. imageVulnerabilities[0 ]
236241
237242 def topLevelImageRes = gqlService.Call (getTopLevelImageQuery(),
238- [id : imageDigest , query : query])
243+ [id : imageId , query : query])
239244 assert topLevelImageRes. hasNoErrors()
240245 def topLevelImageResVuln = topLevelImageRes. value. result. vulns[0 ]
241246
242247 def fixableCVEImageRes = gqlService.Call (getImageFixableCVEQuery(),
243- [id : imageDigest , vulnQuery : query, scopeQuery : " Image SHA:${ imageDigest} " ])
248+ [id : imageId , vulnQuery : query, scopeQuery : " Image SHA:${ imageDigest} " ])
244249 assert fixableCVEImageRes. hasNoErrors()
245250 def fixableCVEImageResVuln = fixableCVEImageRes. value. result. vulnerabilities[0 ]
246251
0 commit comments