diff --git a/junit.xml b/junit.xml new file mode 100644 index 0000000000..3b76907d2e --- /dev/null +++ b/junit.xml @@ -0,0 +1,2805 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b11aaf8983..b6f4f57463 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,8 +69,8 @@ "semver": "^6.0.0", "snyk-config": "^5.0.0", "snyk-cpp-plugin": "2.24.1", - "snyk-docker-plugin": "8.16.0", - "snyk-go-plugin": "2.0.2", + "snyk-docker-plugin": "9.0.0", + "snyk-go-plugin": "1.23.0", "snyk-gradle-plugin": "5.1.1", "snyk-module": "3.1.0", "snyk-mvn-plugin": "4.5.1", @@ -18665,13 +18665,13 @@ "license": "ISC" }, "node_modules/snyk-docker-plugin": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-8.16.0.tgz", - "integrity": "sha512-Ze2gJpcyvylPUJh8zPLXOzBkA6c0Zi7YuT3VnJPQQ0RyZc5vEfBBGt7ZwJctcpthyrFMniFNnKTw/aa+z13swQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-9.0.0.tgz", + "integrity": "sha512-3YoVLSglEtRxXgC3SkLSc4RJ9MuglRGc+UFntukK9r39NAxPbB0oQxgbF/5Y+uJ+FSL0pf7n45zCJsT2t7+XlA==", "license": "Apache-2.0", "dependencies": { "@snyk/composer-lockfile-parser": "^1.4.1", - "@snyk/dep-graph": "^2.11.0", + "@snyk/dep-graph": "^2.12.0", "@snyk/docker-registry-v2-client": "^2.24.0", "@snyk/rpm-parser": "^3.4.1", "@snyk/snyk-docker-pull": "^3.15.0", @@ -18814,34 +18814,105 @@ "license": "0BSD" }, "node_modules/snyk-go-plugin": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-2.0.2.tgz", - "integrity": "sha512-9INt/A3sHT6bxL623PVx6ciAi4vBqoMjZPp4WcZ3/SyHwqaQbfTcj4xefFaS0bcAwKFqoA7Hv98oeHBc35eYpA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-2.0.0.tgz", + "integrity": "sha512-Iq1z4t+1pkd/zuI372YgSMZMEPKC3B9vsyk4Vyim+N8UkEINKp4fxow7mZRhXWPZKN+1RVuX/BUQ5TKaOzKD2w==", + "license": "Apache-2.0", "dependencies": { - "@snyk/dep-graph": "^2.10.0", + "@snyk/dep-graph": "^1.23.1", "@snyk/graphlib": "2.1.9-patch.3", "debug": "^4.1.1", "lookpath": "^1.2.2", - "packageurl-js": "^2.0.1", "snyk-go-parser": "1.13.0", - "tmp": "0.2.5", + "tmp": "0.2.2", "tslib": "^1.10.0" }, "engines": { - "node": ">=20" + "node": ">=12" + } + }, + "node_modules/snyk-go-plugin/node_modules/brace-expansion": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/snyk-go-plugin/node_modules/glob": { + "version": "10.5.0", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/snyk-go-plugin/node_modules/minimatch": { + "version": "9.0.5", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/snyk-go-plugin/node_modules/minipass": { + "version": "7.1.2", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/snyk-go-plugin/node_modules/packageurl-js": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-2.0.1.tgz", - "integrity": "sha512-N5ixXjzTy4QDQH0Q9YFjqIWd6zH6936Djpl2m9QNFmDv5Fum8q8BjkpAcHNMzOFE0IwQrFhJWex3AN6kS0OSwg==" + "license": "MIT" + }, + "node_modules/snyk-go-plugin/node_modules/rimraf": { + "version": "5.0.10", + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/snyk-go-plugin/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/snyk-go-plugin/node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "rimraf": "^5.0.5" + }, "engines": { - "node": ">=14.14" + "node": ">=14" } }, "node_modules/snyk-gradle-plugin": { diff --git a/package.json b/package.json index 940cfcd948..6bcc5976cc 100644 --- a/package.json +++ b/package.json @@ -117,8 +117,8 @@ "semver": "^6.0.0", "snyk-config": "^5.0.0", "snyk-cpp-plugin": "2.24.1", - "snyk-docker-plugin": "8.16.0", - "snyk-go-plugin": "2.0.2", + "snyk-docker-plugin": "9.0.0", + "snyk-go-plugin": "1.23.0", "snyk-gradle-plugin": "5.1.1", "snyk-module": "3.1.0", "snyk-mvn-plugin": "4.5.1", diff --git a/test/jest/acceptance/cli-args.spec.ts b/test/jest/acceptance/cli-args.spec.ts index 08420f33b6..7af5f777dd 100644 --- a/test/jest/acceptance/cli-args.spec.ts +++ b/test/jest/acceptance/cli-args.spec.ts @@ -535,6 +535,81 @@ describe.each(userJourneyWorkflows)( expect(code).toEqual(0); }); } + + describe('container test nested-jars-depth validation', () => { + const TEST_IMAGE = + 'docker-archive:test/fixtures/docker/hello-world-linux.tar'; + + test('should fail with invalid nested-jars-depth value (non-numeric: true)', async () => { + const { code, stdout } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=true`, + { env }, + ); + + expect(code).toEqual(2); + expect(stdout).toContain( + '--nested-jars-depth accepts only numbers bigger than or equal to 0', + ); + }); + + test('should fail with invalid nested-jars-depth value (non-numeric: false)', async () => { + const { code, stdout } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=false`, + { env }, + ); + + expect(code).toEqual(2); + expect(stdout).toContain( + '--nested-jars-depth accepts only numbers bigger than or equal to 0', + ); + }); + + test('should fail with invalid nested-jars-depth value (non-numeric: Infinity)', async () => { + const { code, stdout } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=Infinity`, + { env }, + ); + + expect(code).toEqual(2); + expect(stdout).toContain( + '--nested-jars-depth accepts only numbers bigger than or equal to 0', + ); + }); + + test('should fail with invalid nested-jars-depth value (negative number)', async () => { + const { code, stdout } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=-1`, + { env }, + ); + + expect(code).toEqual(2); + expect(stdout).toContain( + '--nested-jars-depth accepts only numbers bigger than or equal to 0', + ); + }); + + test('should fail when using both nested-jars-depth and shaded-jars-depth flags', async () => { + const { code, stdout } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=5 --shaded-jars-depth=5`, + { env }, + ); + + expect(code).toEqual(2); + // Message may be line-wrapped in output, so check for key parts separately + expect(stdout).toContain( + 'Cannot use --shaded-jars-depth together with --nested-jars-depth', + ); + }); + + test('should accept valid numeric nested-jars-depth value', async () => { + const { code } = await runSnykCLI( + `container test ${TEST_IMAGE} --nested-jars-depth=5`, + { env }, + ); + + expect([0, 1]).toContain(code); + }); + }); }); }); },