From 6b41d8c5ddd61486e7eb580b43ce40eb893d7415 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 5 Jan 2026 14:49:05 +0100 Subject: [PATCH] JGC-434 - Fix undeclared arg parse --- buildtools/cli_test.go | 28 ++++++++++++++++++++++++++++ go.mod | 12 +++++++----- go.sum | 22 ++++++++++++---------- 3 files changed, 47 insertions(+), 15 deletions(-) diff --git a/buildtools/cli_test.go b/buildtools/cli_test.go index 802f1e3fb..e41a18a93 100644 --- a/buildtools/cli_test.go +++ b/buildtools/cli_test.go @@ -4,7 +4,11 @@ import ( "errors" "testing" + "github.com/jfrog/jfrog-cli-core/v2/plugins/components" + securityDocs "github.com/jfrog/jfrog-cli-security/cli/docs" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/urfave/cli" ) func TestExtractDockerBuildOptionsFromArgs(t *testing.T) { @@ -274,3 +278,27 @@ func TestExtractDockerBuildOptionsFromArgs(t *testing.T) { }) } } + +func TestDockerScanCmdArgsParse(t *testing.T) { + app := cli.NewApp() + app.Commands = overrideCommandAction(GetCommands(), "docker", func(c *cli.Context) error { + convertedCtx, err := components.ConvertContext(c, securityDocs.GetCommandFlags(securityDocs.DockerScan)...) + require.NoError(t, err) + assert.True(t, convertedCtx.GetBoolFlagValue("sca"), "sca flag should be true") + assert.True(t, convertedCtx.GetBoolFlagValue("without-contextual-analysis"), "without-contextual-analysis flag should be true") + return nil + }) + err := app.Run([]string{"jf", "docker", "scan", "--sca", "--without-contextual-analysis", "myimage:latest"}) + assert.NoError(t, err) +} + +func overrideCommandAction(commands []cli.Command, name string, action cli.ActionFunc) []cli.Command { + var newCommands []cli.Command + for _, cmd := range commands { + if cmd.Name == name { + cmd.Action = action + } + newCommands = append(newCommands, cmd) + } + return newCommands +} diff --git a/go.mod b/go.mod index 1e7f4f380..a42f09b79 100644 --- a/go.mod +++ b/go.mod @@ -18,12 +18,12 @@ require ( github.com/jfrog/archiver/v3 v3.6.1 github.com/jfrog/build-info-go v1.13.1-0.20251230063402-e9f0a3564df1 github.com/jfrog/gofrog v1.7.6 - github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f - github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7 - github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251 - github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0 + github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a + github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c + github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e + github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615 github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e - github.com/jfrog/jfrog-cli-security v1.24.1 + github.com/jfrog/jfrog-cli-security v1.25.0 github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23 github.com/jszwec/csvutil v1.10.0 github.com/manifoldco/promptui v0.9.0 @@ -282,6 +282,8 @@ replace github.com/docker/docker => github.com/docker/docker v27.5.1+incompatibl replace github.com/gfleury/go-bitbucket-v1 => github.com/gfleury/go-bitbucket-v1 v0.0.0-20230825095122-9bc1711434ab +// replace github.com/jfrog/jfrog-cli-core/v2 => ../jfrog-cli-core + // replace github.com/jfrog/jfrog-cli-core/v2 => github.com/reshmifrog/jfrog-cli-core/v2 v2.58.5-0.20251110095124-ab9a4102ec5a // replace github.com/jfrog/jfrog-cli-core/v2 => github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251104113958-abd9de5958c4 diff --git a/go.sum b/go.sum index 4619b1ffb..d04389f15 100644 --- a/go.sum +++ b/go.sum @@ -1214,18 +1214,20 @@ github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s= github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4= github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY= github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= -github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f h1:YHwPNF13Gmt65J618kEGn/4SGewXqyYuAdcyYWYdrBA= -github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f/go.mod h1:xum2HquWO5uExa/A7MQs3TgJJVEeoqTR+6Z4mfBr1Xw= -github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7 h1:UzFwA39ZTvinCbNvhr9QooeZaF1NBMkxXdBYJwTrXcU= -github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7/go.mod h1:T8BzK7jnojx74G/tFs6lTjvNjNO6ltdWaZmY0X0YOOI= -github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251 h1:WTyDOaYJUwY6zQujZuL9JQ9Q9+QWj9p31tLb4bJnu4U= -github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc= -github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0 h1:8S1vE1PeVtrzWkKL0N39cX6XLLNV0It+f6xjRKjw7Ug= -github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0/go.mod h1:Ijx7tkTp6uDxgmQW+zQKLNztMrz6dcQAoVNXHL7spsU= +github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a h1:XoJ3w2AFi7zniimALNK3idw9bzY9MwB/FM45TMgxYAY= +github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a/go.mod h1:xum2HquWO5uExa/A7MQs3TgJJVEeoqTR+6Z4mfBr1Xw= +github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c h1:M+rFtXyVuK//0zDk7dtA3Yu8cKHJrT9us2pxYPsoIq4= +github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c/go.mod h1:RneaDbEkoOAAHs6mAVxK666EB8GrNaCyNwyS452vVd0= +github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105134514-c8ec00cfd2cc h1:YOpq/LS+mQfeL2FQvyVxDvCLUx/dG1NG4Jh1QqjxRD8= +github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105134514-c8ec00cfd2cc/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc= +github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e h1:3zPWT3HDxBe9xxUZVBP77pLh9x++CR131Y9GXNeAGJM= +github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc= +github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615 h1:y5an0bojHL00ipHP1QuBUrVcP+XK+yZHHOJ/r1I0RUM= +github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615/go.mod h1:Ijx7tkTp6uDxgmQW+zQKLNztMrz6dcQAoVNXHL7spsU= github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e h1:0BDeb5lD8qgQMOZJ08E35jUMTlt2Hb0K7Wu0SqO6MrI= github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e/go.mod h1:qbu4iqBST9x8LgD8HhzUm91iOB3vHqtoGmaxOnmw0ok= -github.com/jfrog/jfrog-cli-security v1.24.1 h1:NF8SE9uzUgqvqYjuuqbduXBqj+fwE4CmkMeVKtcLkyI= -github.com/jfrog/jfrog-cli-security v1.24.1/go.mod h1:3FXD5IkKtdQOm9CZk6cR7q0iC6PaGMnjqzZqRcQp2r0= +github.com/jfrog/jfrog-cli-security v1.25.0 h1:DM29QsMkFLRD6adKCWISe3uHFVaOodIN56NH7ThpKKU= +github.com/jfrog/jfrog-cli-security v1.25.0/go.mod h1:IV/+JhaLmyeMb8IAoJZYUq4gONW5BdrxgdT4w7SXgz0= github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23 h1:tL4NUrnSiFN6MeK27z96ehiKXhYZDY2DyH95ogNRHrY= github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23/go.mod h1:sCE06+GngPoyrGO0c+vmhgMoVSP83UMNiZnIuNPzU8U= github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=