Skip to content
Open
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
26 changes: 20 additions & 6 deletions apptrust/commands/application/create_app_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package application

import (
"encoding/json"
"os"

pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common"

"github.com/jfrog/jfrog-cli-application/apptrust/commands/utils"
"github.com/jfrog/jfrog-cli-application/apptrust/model"
"github.com/jfrog/jfrog-cli-application/apptrust/service"
commonCLiCommands "github.com/jfrog/jfrog-cli-core/v2/common/commands"
coreformat "github.com/jfrog/jfrog-cli-core/v2/common/format"
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
Expand All @@ -25,6 +27,7 @@ type createAppCommand struct {
serverDetails *coreConfig.ServerDetails
applicationService applications.ApplicationService
requestBody *model.AppDescriptor
responseBody []byte
}

func (cac *createAppCommand) Run() error {
Expand All @@ -33,7 +36,8 @@ func (cac *createAppCommand) Run() error {
return err
}

return cac.applicationService.CreateApplication(ctx, cac.requestBody)
cac.responseBody, err = cac.applicationService.CreateApplication(ctx, cac.requestBody)
return err
}

func (cac *createAppCommand) ServerDetails() (*coreConfig.ServerDetails, error) {
Expand Down Expand Up @@ -127,7 +131,16 @@ func (cac *createAppCommand) prepareAndRunCommand(ctx *components.Context) error
return err
}

return commonCLiCommands.Exec(cac)
outputFormat, err := ctx.GetOutputFormat()
if err != nil {
return err
}

if err = commonCLiCommands.Exec(cac); err != nil {
return err
}

return common.PrintResponse(cac.responseBody, outputFormat, os.Stdout, common.OrderedAppKeys)
}

func validateCreateAppContext(ctx *components.Context) error {
Expand Down Expand Up @@ -166,10 +179,11 @@ func GetCreateAppCommand(appContext app.Context) components.Command {
applicationService: appContext.GetApplicationService(),
}
return components.Command{
Name: commands.AppCreate,
Description: "Create a new application.",
Category: common.CategoryApplication,
Aliases: []string{"ac"},
Name: commands.AppCreate,
Description: "Create a new application.",
Category: common.CategoryApplication,
Aliases: []string{"ac"},
SupportedFormats: []coreformat.OutputFormat{coreformat.Table, coreformat.Json},
Arguments: []components.Argument{
{
Name: "application-key",
Expand Down
16 changes: 8 additions & 8 deletions apptrust/commands/application/create_app_cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func TestCreateAppCommand_Run_Flags(t *testing.T) {
}

mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().CreateApplication(gomock.Any(), requestPayload).Return(nil).Times(1)
mockAppService.EXPECT().CreateApplication(gomock.Any(), requestPayload).Return(nil, nil).Times(1)

cmd := &createAppCommand{
applicationService: mockAppService,
Expand All @@ -75,7 +75,7 @@ func TestCreateAppCommand_Error(t *testing.T) {
}

mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().CreateApplication(gomock.Any(), requestPayload).Return(errors.New("failed to create an application. Status code: 500")).Times(1)
mockAppService.EXPECT().CreateApplication(gomock.Any(), requestPayload).Return(nil, errors.New("failed to create an application. Status code: 500")).Times(1)

cmd := &createAppCommand{
applicationService: mockAppService,
Expand Down Expand Up @@ -162,9 +162,9 @@ func TestCreateAppCommand_Run_FullSpecFile(t *testing.T) {
var actualPayload *model.AppDescriptor
mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().CreateApplication(gomock.Any(), gomock.Any()).
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) error {
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) ([]byte, error) {
actualPayload = req
return nil
return nil, nil
}).Times(1)

cmd := &createAppCommand{
Expand Down Expand Up @@ -243,9 +243,9 @@ func TestCreateAppCommand_Run_SpecFile(t *testing.T) {
mockAppService := mockapps.NewMockApplicationService(ctrl)
if !tt.expectsError {
mockAppService.EXPECT().CreateApplication(gomock.Any(), gomock.Any()).
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) error {
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) ([]byte, error) {
actualPayload = req
return nil
return nil, nil
}).Times(1)
}

Expand Down Expand Up @@ -298,9 +298,9 @@ func TestCreateAppCommand_Run_SpecVars(t *testing.T) {
var actualPayload *model.AppDescriptor
mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().CreateApplication(gomock.Any(), gomock.Any()).
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) error {
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) ([]byte, error) {
actualPayload = req
return nil
return nil, nil
}).Times(1)

cmd := &createAppCommand{
Expand Down
28 changes: 22 additions & 6 deletions apptrust/commands/application/update_app_cmd.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package application

import (
"os"

pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common"

"github.com/jfrog/jfrog-cli-application/apptrust/app"
Expand All @@ -11,6 +13,7 @@ import (
"github.com/jfrog/jfrog-cli-application/apptrust/service"
"github.com/jfrog/jfrog-cli-application/apptrust/service/applications"
commonCLiCommands "github.com/jfrog/jfrog-cli-core/v2/common/commands"
coreformat "github.com/jfrog/jfrog-cli-core/v2/common/format"
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
)
Expand All @@ -19,6 +22,7 @@ type updateAppCommand struct {
serverDetails *coreConfig.ServerDetails
applicationService applications.ApplicationService
requestBody *model.AppDescriptor
responseBody []byte
}

func (uac *updateAppCommand) Run() error {
Expand All @@ -27,7 +31,8 @@ func (uac *updateAppCommand) Run() error {
return err
}

return uac.applicationService.UpdateApplication(ctx, uac.requestBody)
uac.responseBody, err = uac.applicationService.UpdateApplication(ctx, uac.requestBody)
return err
}

func (uac *updateAppCommand) ServerDetails() (*coreConfig.ServerDetails, error) {
Expand Down Expand Up @@ -69,18 +74,29 @@ func (uac *updateAppCommand) prepareAndRunCommand(ctx *components.Context) error
return err
}

return commonCLiCommands.Exec(uac)
outputFormat, err := ctx.GetOutputFormat()
if err != nil {
return err
}

if err = commonCLiCommands.Exec(uac); err != nil {
return err
}

return common.PrintResponse(uac.responseBody, outputFormat, os.Stdout, common.OrderedAppKeys)
}


func GetUpdateAppCommand(appContext app.Context) components.Command {
cmd := &updateAppCommand{
applicationService: appContext.GetApplicationService(),
}
return components.Command{
Name: commands.AppUpdate,
Description: "Update an existing application",
Category: common.CategoryApplication,
Aliases: []string{"au"},
Name: commands.AppUpdate,
Description: "Update an existing application",
Category: common.CategoryApplication,
Aliases: []string{"au"},
SupportedFormats: []coreformat.OutputFormat{coreformat.Table, coreformat.Json},
Arguments: []components.Argument{
{
Name: "application-key",
Expand Down
8 changes: 4 additions & 4 deletions apptrust/commands/application/update_app_cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func TestUpdateAppCommand_Run(t *testing.T) {
}

mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().UpdateApplication(gomock.Any(), requestPayload).Return(nil).Times(1)
mockAppService.EXPECT().UpdateApplication(gomock.Any(), requestPayload).Return(nil, nil).Times(1)

cmd := &updateAppCommand{
applicationService: mockAppService,
Expand Down Expand Up @@ -76,7 +76,7 @@ func TestUpdateAppCommand_Run_Error(t *testing.T) {
}

mockAppService := mockapps.NewMockApplicationService(ctrl)
mockAppService.EXPECT().UpdateApplication(gomock.Any(), requestPayload).Return(errors.New("failed to update application. Status code: 500")).Times(1)
mockAppService.EXPECT().UpdateApplication(gomock.Any(), requestPayload).Return(nil, errors.New("failed to update application. Status code: 500")).Times(1)

cmd := &updateAppCommand{
applicationService: mockAppService,
Expand Down Expand Up @@ -338,9 +338,9 @@ func TestUpdateAppCommand_FlagsSuite(t *testing.T) {
mockAppService := mockapps.NewMockApplicationService(ctrl)
if !tt.expectsError {
mockAppService.EXPECT().UpdateApplication(gomock.Any(), gomock.Any()).
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) error {
DoAndReturn(func(_ interface{}, req *model.AppDescriptor) ([]byte, error) {
actualPayload = req
return nil
return nil, nil
}).Times(1)
}

Expand Down
33 changes: 29 additions & 4 deletions apptrust/commands/package/bind_package_cmd.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package packagecmds

import (
"os"

"github.com/jfrog/jfrog-cli-application/apptrust/app"
"github.com/jfrog/jfrog-cli-application/apptrust/commands"
"github.com/jfrog/jfrog-cli-application/apptrust/commands/utils"
Expand All @@ -9,24 +11,36 @@ import (
"github.com/jfrog/jfrog-cli-application/apptrust/service"
"github.com/jfrog/jfrog-cli-application/apptrust/service/packages"
commonCLiCommands "github.com/jfrog/jfrog-cli-core/v2/common/commands"
coreformat "github.com/jfrog/jfrog-cli-core/v2/common/format"
pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common"
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
)

// orderedBindPackageKeys defines the display order for package-bind table output.
var orderedBindPackageKeys = []string{
"application_key",
"package_type",
"package_name",
"package_version",
"status",
}

type bindPackageCommand struct {
packageService packages.PackageService
serverDetails *coreConfig.ServerDetails
applicationKey string
requestPayload *model.BindPackageRequest
responseBody []byte
}

func (bp *bindPackageCommand) Run() error {
ctx, err := service.NewContext(*bp.serverDetails)
if err != nil {
return err
}
return bp.packageService.BindPackage(ctx, bp.applicationKey, bp.requestPayload)
bp.responseBody, err = bp.packageService.BindPackage(ctx, bp.applicationKey, bp.requestPayload)
return err
}

func (bp *bindPackageCommand) ServerDetails() (*coreConfig.ServerDetails, error) {
Expand All @@ -49,7 +63,16 @@ func (bp *bindPackageCommand) prepareAndRunCommand(ctx *components.Context) erro
}
bp.extractFromArgs(ctx)

return commonCLiCommands.Exec(bp)
outputFormat, err := ctx.GetOutputFormat()
if err != nil {
return err
}

if err = commonCLiCommands.Exec(bp); err != nil {
return err
}

return common.PrintResponse(bp.responseBody, outputFormat, os.Stdout, orderedBindPackageKeys)
}

func (bp *bindPackageCommand) extractFromArgs(ctx *components.Context) {
Expand All @@ -65,6 +88,7 @@ func (bp *bindPackageCommand) extractFromArgs(ctx *components.Context) {
}
}


func GetBindPackageCommand(appContext app.Context) components.Command {
cmd := &bindPackageCommand{packageService: appContext.GetPackageService()}
return components.Command{
Expand All @@ -90,7 +114,8 @@ func GetBindPackageCommand(appContext app.Context) components.Command {
Description: "Package version.",
},
},
Flags: commands.GetCommandFlags(commands.PackageBind),
Action: cmd.prepareAndRunCommand,
Flags: commands.GetCommandFlags(commands.PackageBind),
SupportedFormats: []coreformat.OutputFormat{coreformat.Table, coreformat.Json},
Action: cmd.prepareAndRunCommand,
}
}
4 changes: 2 additions & 2 deletions apptrust/commands/package/bind_package_cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func TestBindPackageCommand_Run(t *testing.T) {

mockPackageService := mockpackages.NewMockPackageService(ctrl)
mockPackageService.EXPECT().BindPackage(gomock.Any(), applicationKey, requestPayload).
Return(nil).Times(1)
Return(nil, nil).Times(1)

cmd := &bindPackageCommand{
packageService: mockPackageService,
Expand All @@ -52,7 +52,7 @@ func TestBindPackageCommand_Run_Error(t *testing.T) {

mockPackageService := mockpackages.NewMockPackageService(ctrl)
mockPackageService.EXPECT().BindPackage(gomock.Any(), applicationKey, requestPayload).
Return(errors.New("bind error")).Times(1)
Return(nil, errors.New("bind error")).Times(1)

cmd := &bindPackageCommand{
packageService: mockPackageService,
Expand Down
24 changes: 20 additions & 4 deletions apptrust/commands/version/create_app_version_cmd.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package version

import (
"os"

"github.com/jfrog/jfrog-cli-application/apptrust/service/versions"

"github.com/jfrog/jfrog-cli-application/apptrust/app"
Expand All @@ -10,6 +12,7 @@ import (
"github.com/jfrog/jfrog-cli-application/apptrust/model"
"github.com/jfrog/jfrog-cli-application/apptrust/service"
commonCLiCommands "github.com/jfrog/jfrog-cli-core/v2/common/commands"
coreformat "github.com/jfrog/jfrog-cli-core/v2/common/format"
pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common"
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
Expand All @@ -22,6 +25,7 @@ type createAppVersionCommand struct {
requestPayload *model.CreateAppVersionRequest
sync bool
dryRun bool
responseBody []byte
}

func (cv *createAppVersionCommand) Run() error {
Expand All @@ -30,7 +34,8 @@ func (cv *createAppVersionCommand) Run() error {
return err
}

return cv.versionService.CreateAppVersion(ctx, cv.requestPayload, cv.sync, cv.dryRun)
cv.responseBody, err = cv.versionService.CreateAppVersion(ctx, cv.requestPayload, cv.sync, cv.dryRun)
return err
}

func (cv *createAppVersionCommand) ServerDetails() (*coreConfig.ServerDetails, error) {
Expand All @@ -56,7 +61,17 @@ func (cv *createAppVersionCommand) prepareAndRunCommand(ctx *components.Context)
return err
}
cv.dryRun = ctx.GetBoolFlagValue(commands.DryRunFlag)
return commonCLiCommands.Exec(cv)

outputFormat, err := ctx.GetOutputFormat()
if err != nil {
return err
}

if err = commonCLiCommands.Exec(cv); err != nil {
return err
}

return common.PrintResponse(cv.responseBody, outputFormat, os.Stdout, common.OrderedAppVersionKeys)
}

func (cv *createAppVersionCommand) buildRequestPayload(ctx *components.Context) (*model.CreateAppVersionRequest, error) {
Expand Down Expand Up @@ -104,7 +119,8 @@ func GetCreateAppVersionCommand(appContext app.Context) components.Command {
Optional: false,
},
},
Flags: commands.GetCommandFlags(commands.VersionCreate),
Action: cmd.prepareAndRunCommand,
Flags: commands.GetCommandFlags(commands.VersionCreate),
SupportedFormats: []coreformat.OutputFormat{coreformat.Table, coreformat.Json},
Action: cmd.prepareAndRunCommand,
}
}
Loading
Loading