Skip to content

Commit

Permalink
tests
Browse files Browse the repository at this point in the history
Update flags.go
  • Loading branch information
keroxp committed Jul 8, 2024
1 parent f55317b commit 436391b
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 5 deletions.
49 changes: 46 additions & 3 deletions cli/cage/commands/command_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package commands_test
package commands

import (
"fmt"
"strings"
"testing"

"github.com/golang/mock/gomock"
"github.com/loilo-inc/canarycage/cli/cage/commands"
"github.com/loilo-inc/canarycage/env"
"github.com/loilo-inc/canarycage/mocks/mock_types"
"github.com/loilo-inc/canarycage/test"
"github.com/loilo-inc/canarycage/types"
"github.com/stretchr/testify/assert"
"github.com/urfave/cli/v2"
Expand All @@ -25,7 +25,7 @@ func TestCommands(t *testing.T) {
stdin := strings.NewReader(input)
cagecli := mock_types.NewMockCage(ctrl)
app := cli.NewApp()
cmds := commands.NewCageCommands(stdin, func(envars *env.Envars) (types.Cage, error) {
cmds := NewCageCommands(stdin, func(envars *env.Envars) (types.Cage, error) {
return cagecli, nil
})
envars := env.Envars{CI: input == ""}
Expand Down Expand Up @@ -103,3 +103,46 @@ func TestCommands(t *testing.T) {
})
})
}

func TestSetupCage(t *testing.T) {
t.Run("basic", func(t *testing.T) {
envars := &env.Envars{Region: "us-west-2"}
cageCli := mock_types.NewMockCage(gomock.NewController(t))
cmd := NewCageCommands(nil, func(envars *env.Envars) (types.Cage, error) {
return cageCli, nil
})
v, err := cmd.setupCage(envars, "../../../fixtures")
if err != nil {
t.Fatal(err)
}
assert.Equal(t, v, cageCli)
assert.Equal(t, envars.Service, "service")
assert.Equal(t, envars.Cluster, "cluster")
assert.NotNil(t, envars.ServiceDefinitionInput)
assert.NotNil(t, envars.TaskDefinitionInput)
})
t.Run("should skip load task definition if --taskDefinitionArn provided", func(t *testing.T) {
envars := &env.Envars{Region: "us-west-2", TaskDefinitionArn: "arn"}
cageCli := mock_types.NewMockCage(gomock.NewController(t))
cmd := NewCageCommands(nil, func(envars *env.Envars) (types.Cage, error) {
return cageCli, nil
})
v, err := cmd.setupCage(envars, "../../../fixtures")
if err != nil {
t.Fatal(err)
}
assert.Equal(t, v, cageCli)
assert.Equal(t, envars.Service, "service")
assert.Equal(t, envars.Cluster, "cluster")
assert.NotNil(t, envars.ServiceDefinitionInput)
assert.Nil(t, envars.TaskDefinitionInput)
})
t.Run("should error if error returned from NewCage", func(t *testing.T) {
envars := &env.Envars{Region: "us-west-2"}
cmd := NewCageCommands(nil, func(envars *env.Envars) (types.Cage, error) {
return nil, test.Err
})
_, err := cmd.setupCage(envars, "../../../fixtures")
assert.EqualError(t, err, "error")
})
}
2 changes: 1 addition & 1 deletion cli/cage/commands/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func CanaryTaskIdleDurationFlag(dest *int) *cli.IntFlag {
EnvVars: []string{env.CanaryTaskIdleDuration},
Usage: "duration seconds for waiting canary task that isn't attached to target group considered as ready for serving traffic",
Destination: dest,
Value: 10,
Value: 15,
}
}

Expand Down
3 changes: 2 additions & 1 deletion env/env.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ func EnsureEnvars(
}
if dest.Cluster == "" {
return xerrors.Errorf("--cluster [%s] is required", ClusterKey)
} else if dest.Service == "" {
}
if dest.Service == "" {
return xerrors.Errorf("--service [%s] is required", ServiceKey)
}
if dest.TaskDefinitionArn == "" && dest.TaskDefinitionInput == nil {
Expand Down

0 comments on commit 436391b

Please sign in to comment.