Skip to content

Commit ed99e1d

Browse files
ehl-jfactions-user
andauthored
JGC-434 - Fix undeclared arg parse (#3297)
Co-authored-by: github-actions[bot] <[email protected]>
1 parent cb4891a commit ed99e1d

File tree

3 files changed

+47
-15
lines changed

3 files changed

+47
-15
lines changed

buildtools/cli_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ import (
44
"errors"
55
"testing"
66

7+
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
8+
securityDocs "github.com/jfrog/jfrog-cli-security/cli/docs"
79
"github.com/stretchr/testify/assert"
10+
"github.com/stretchr/testify/require"
11+
"github.com/urfave/cli"
812
)
913

1014
func TestExtractDockerBuildOptionsFromArgs(t *testing.T) {
@@ -274,3 +278,27 @@ func TestExtractDockerBuildOptionsFromArgs(t *testing.T) {
274278
})
275279
}
276280
}
281+
282+
func TestDockerScanCmdArgsParse(t *testing.T) {
283+
app := cli.NewApp()
284+
app.Commands = overrideCommandAction(GetCommands(), "docker", func(c *cli.Context) error {
285+
convertedCtx, err := components.ConvertContext(c, securityDocs.GetCommandFlags(securityDocs.DockerScan)...)
286+
require.NoError(t, err)
287+
assert.True(t, convertedCtx.GetBoolFlagValue("sca"), "sca flag should be true")
288+
assert.True(t, convertedCtx.GetBoolFlagValue("without-contextual-analysis"), "without-contextual-analysis flag should be true")
289+
return nil
290+
})
291+
err := app.Run([]string{"jf", "docker", "scan", "--sca", "--without-contextual-analysis", "myimage:latest"})
292+
assert.NoError(t, err)
293+
}
294+
295+
func overrideCommandAction(commands []cli.Command, name string, action cli.ActionFunc) []cli.Command {
296+
var newCommands []cli.Command
297+
for _, cmd := range commands {
298+
if cmd.Name == name {
299+
cmd.Action = action
300+
}
301+
newCommands = append(newCommands, cmd)
302+
}
303+
return newCommands
304+
}

go.mod

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ require (
1818
github.com/jfrog/archiver/v3 v3.6.1
1919
github.com/jfrog/build-info-go v1.13.1-0.20251230063402-e9f0a3564df1
2020
github.com/jfrog/gofrog v1.7.6
21-
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f
22-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7
23-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251
24-
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0
21+
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a
22+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c
23+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e
24+
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615
2525
github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e
26-
github.com/jfrog/jfrog-cli-security v1.24.1
26+
github.com/jfrog/jfrog-cli-security v1.25.0
2727
github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23
2828
github.com/jszwec/csvutil v1.10.0
2929
github.com/manifoldco/promptui v0.9.0
@@ -282,6 +282,8 @@ replace github.com/docker/docker => github.com/docker/docker v27.5.1+incompatibl
282282

283283
replace github.com/gfleury/go-bitbucket-v1 => github.com/gfleury/go-bitbucket-v1 v0.0.0-20230825095122-9bc1711434ab
284284

285+
// replace github.com/jfrog/jfrog-cli-core/v2 => ../jfrog-cli-core
286+
285287
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/reshmifrog/jfrog-cli-core/v2 v2.58.5-0.20251110095124-ab9a4102ec5a
286288

287289
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251104113958-abd9de5958c4

go.sum

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,18 +1214,20 @@ github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s=
12141214
github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
12151215
github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY=
12161216
github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
1217-
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f h1:YHwPNF13Gmt65J618kEGn/4SGewXqyYuAdcyYWYdrBA=
1218-
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f/go.mod h1:xum2HquWO5uExa/A7MQs3TgJJVEeoqTR+6Z4mfBr1Xw=
1219-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7 h1:UzFwA39ZTvinCbNvhr9QooeZaF1NBMkxXdBYJwTrXcU=
1220-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251230064405-049e011b0bb7/go.mod h1:T8BzK7jnojx74G/tFs6lTjvNjNO6ltdWaZmY0X0YOOI=
1221-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251 h1:WTyDOaYJUwY6zQujZuL9JQ9Q9+QWj9p31tLb4bJnu4U=
1222-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251223102649-e659f6937251/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc=
1223-
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0 h1:8S1vE1PeVtrzWkKL0N39cX6XLLNV0It+f6xjRKjw7Ug=
1224-
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0/go.mod h1:Ijx7tkTp6uDxgmQW+zQKLNztMrz6dcQAoVNXHL7spsU=
1217+
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a h1:XoJ3w2AFi7zniimALNK3idw9bzY9MwB/FM45TMgxYAY=
1218+
github.com/jfrog/jfrog-cli-application v1.0.2-0.20251231144110-a68c3ac11c7a/go.mod h1:xum2HquWO5uExa/A7MQs3TgJJVEeoqTR+6Z4mfBr1Xw=
1219+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c h1:M+rFtXyVuK//0zDk7dtA3Yu8cKHJrT9us2pxYPsoIq4=
1220+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260102083738-35bd3de75e6c/go.mod h1:RneaDbEkoOAAHs6mAVxK666EB8GrNaCyNwyS452vVd0=
1221+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105134514-c8ec00cfd2cc h1:YOpq/LS+mQfeL2FQvyVxDvCLUx/dG1NG4Jh1QqjxRD8=
1222+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105134514-c8ec00cfd2cc/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc=
1223+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e h1:3zPWT3HDxBe9xxUZVBP77pLh9x++CR131Y9GXNeAGJM=
1224+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260105150109-78d708a6d70e/go.mod h1:REkU0OfnLYZbQIjD2Cg85DAVP0SRZuV/PxiDfCJiJOc=
1225+
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615 h1:y5an0bojHL00ipHP1QuBUrVcP+XK+yZHHOJ/r1I0RUM=
1226+
github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251225153025-9d8ac181d615/go.mod h1:Ijx7tkTp6uDxgmQW+zQKLNztMrz6dcQAoVNXHL7spsU=
12251227
github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e h1:0BDeb5lD8qgQMOZJ08E35jUMTlt2Hb0K7Wu0SqO6MrI=
12261228
github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e/go.mod h1:qbu4iqBST9x8LgD8HhzUm91iOB3vHqtoGmaxOnmw0ok=
1227-
github.com/jfrog/jfrog-cli-security v1.24.1 h1:NF8SE9uzUgqvqYjuuqbduXBqj+fwE4CmkMeVKtcLkyI=
1228-
github.com/jfrog/jfrog-cli-security v1.24.1/go.mod h1:3FXD5IkKtdQOm9CZk6cR7q0iC6PaGMnjqzZqRcQp2r0=
1229+
github.com/jfrog/jfrog-cli-security v1.25.0 h1:DM29QsMkFLRD6adKCWISe3uHFVaOodIN56NH7ThpKKU=
1230+
github.com/jfrog/jfrog-cli-security v1.25.0/go.mod h1:IV/+JhaLmyeMb8IAoJZYUq4gONW5BdrxgdT4w7SXgz0=
12291231
github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23 h1:tL4NUrnSiFN6MeK27z96ehiKXhYZDY2DyH95ogNRHrY=
12301232
github.com/jfrog/jfrog-client-go v1.55.1-0.20251230061734-d954605bdb23/go.mod h1:sCE06+GngPoyrGO0c+vmhgMoVSP83UMNiZnIuNPzU8U=
12311233
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=

0 commit comments

Comments
 (0)