Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions buildtools/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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
}
12 changes: 7 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
22 changes: 12 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -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=
Expand Down
Loading