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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ go run main.go flags update \
--api-token {api-token} \
--base-uri http://localhost:3000 \
-d '[{"op": "replace", "path": "/environments/production/on", "value": true}]' \
--projKey default \
--key test-flag
--project default \
--flag test-flag
```

## Running Github Actions locally
Expand Down
2 changes: 2 additions & 0 deletions cmd/cliflags/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ package cliflags
const (
APITokenFlag = "api-token"
BaseURIFlag = "base-uri"
FlagFlag = "flag"
ProjectFlag = "project"
)
10 changes: 5 additions & 5 deletions cmd/flags/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ func NewCreateCmd(client flags.Client) (*cobra.Command, error) {
return nil, err
}

cmd.Flags().String("projKey", "", "Project key")
err = cmd.MarkFlagRequired("projKey")
cmd.Flags().String(cliflags.ProjectFlag, "", "Project key")
err = cmd.MarkFlagRequired(cliflags.ProjectFlag)
if err != nil {
return nil, err
}
err = viper.BindPFlag("projKey", cmd.Flags().Lookup("projKey"))
err = viper.BindPFlag(cliflags.ProjectFlag, cmd.Flags().Lookup(cliflags.ProjectFlag))
if err != nil {
return nil, err
}
Expand All @@ -54,7 +54,7 @@ func runCreate(client flags.Client) func(*cobra.Command, []string) error {
return func(cmd *cobra.Command, args []string) error {
// rebind flags used in other subcommands
_ = viper.BindPFlag("data", cmd.Flags().Lookup("data"))
_ = viper.BindPFlag("projKey", cmd.Flags().Lookup("projKey"))
_ = viper.BindPFlag(cliflags.ProjectFlag, cmd.Flags().Lookup(cliflags.ProjectFlag))

var data inputData
err := json.Unmarshal([]byte(viper.GetString("data")), &data)
Expand All @@ -68,7 +68,7 @@ func runCreate(client flags.Client) func(*cobra.Command, []string) error {
viper.GetString(cliflags.BaseURIFlag),
data.Name,
data.Key,
viper.GetString("projKey"),
viper.GetString(cliflags.ProjectFlag),
)
if err != nil {
return err
Expand Down
8 changes: 4 additions & 4 deletions cmd/flags/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func TestCreate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "http://test.com",
"-d", `{"key": "test-key", "name": "test-name"}`,
"--projKey", "test-proj-key",
"--project", "test-proj-key",
}

output, err := cmd.CallCmd(t, &client, nil, nil, args)
Expand All @@ -49,7 +49,7 @@ func TestCreate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "http://test.com",
"-d", `{"key": "test-key", "name": "test-name"}`,
"--projKey", "test-proj-key",
"--project", "test-proj-key",
}

_, err := cmd.CallCmd(t, &client, nil, nil, args)
Expand All @@ -64,7 +64,7 @@ func TestCreate(t *testing.T) {

_, err := cmd.CallCmd(t, &flags.MockClient{}, nil, nil, args)

assert.EqualError(t, err, `required flag(s) "api-token", "data", "projKey" not set`+errorHelp)
assert.EqualError(t, err, `required flag(s) "api-token", "data", "project" not set`+errorHelp)
})

t.Run("with missing short flag value is an error", func(t *testing.T) {
Expand Down Expand Up @@ -95,7 +95,7 @@ func TestCreate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "invalid",
"-d", `{"key": "test-key", "name": "test-name"}`,
"--projKey", "test-proj-key",
"--project", "test-proj-key",
}

_, err := cmd.CallCmd(t, &flags.MockClient{}, nil, nil, args)
Expand Down
18 changes: 9 additions & 9 deletions cmd/flags/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,22 @@ func NewUpdateCmd(client flags.Client) (*cobra.Command, error) {
return nil, err
}

cmd.Flags().String("key", "", "Flag key")
err = cmd.MarkFlagRequired("key")
cmd.Flags().String(cliflags.FlagFlag, "", "Flag key")
err = cmd.MarkFlagRequired(cliflags.FlagFlag)
if err != nil {
return nil, err
}
err = viper.BindPFlag("key", cmd.Flags().Lookup("key"))
err = viper.BindPFlag(cliflags.FlagFlag, cmd.Flags().Lookup(cliflags.FlagFlag))
if err != nil {
return nil, err
}

cmd.Flags().String("projKey", "", "Project key")
err = cmd.MarkFlagRequired("projKey")
cmd.Flags().String(cliflags.ProjectFlag, "", "Project key")
err = cmd.MarkFlagRequired(cliflags.ProjectFlag)
if err != nil {
return nil, err
}
err = viper.BindPFlag("projKey", cmd.Flags().Lookup("projKey"))
err = viper.BindPFlag(cliflags.ProjectFlag, cmd.Flags().Lookup(cliflags.ProjectFlag))
if err != nil {
return nil, err
}
Expand All @@ -67,7 +67,7 @@ func runUpdate(client flags.Client) func(*cobra.Command, []string) error {
return func(cmd *cobra.Command, args []string) error {
// rebind flags used in other subcommands
_ = viper.BindPFlag("data", cmd.Flags().Lookup("data"))
_ = viper.BindPFlag("projKey", cmd.Flags().Lookup("projKey"))
_ = viper.BindPFlag(cliflags.ProjectFlag, cmd.Flags().Lookup(cliflags.ProjectFlag))

var patch []ldapi.PatchOperation
err := json.Unmarshal([]byte(viper.GetString("data")), &patch)
Expand All @@ -79,8 +79,8 @@ func runUpdate(client flags.Client) func(*cobra.Command, []string) error {
context.Background(),
viper.GetString(cliflags.APITokenFlag),
viper.GetString(cliflags.BaseURIFlag),
viper.GetString("key"),
viper.GetString("projKey"),
viper.GetString(cliflags.FlagFlag),
viper.GetString(cliflags.ProjectFlag),
patch,
)
if err != nil {
Expand Down
12 changes: 6 additions & 6 deletions cmd/flags/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ func TestUpdate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "http://test.com",
"-d", `[{"op": "replace", "path": "/name", "value": "new-name"}]`,
"--key", "test-key",
"--projKey", "test-proj-key",
"--flag", "test-key",
"--project", "test-proj-key",
}

output, err := cmd.CallCmd(t, &client, nil, nil, args)
Expand All @@ -57,8 +57,8 @@ func TestUpdate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "http://test.com",
"-d", `[{"op": "replace", "path": "/name", "value": "new-name"}]`,
"--key", "test-key",
"--projKey", "test-proj-key",
"--flag", "test-key",
"--project", "test-proj-key",
}

_, err := cmd.CallCmd(t, &client, nil, nil, args)
Expand All @@ -73,7 +73,7 @@ func TestUpdate(t *testing.T) {

_, err := cmd.CallCmd(t, &flags.MockClient{}, nil, nil, args)

assert.EqualError(t, err, `required flag(s) "api-token", "data", "key", "projKey" not set`+errorHelp)
assert.EqualError(t, err, `required flag(s) "api-token", "data", "flag", "project" not set`+errorHelp)
})

t.Run("with invalid base-uri is an error", func(t *testing.T) {
Expand All @@ -82,7 +82,7 @@ func TestUpdate(t *testing.T) {
"--api-token", "testAccessToken",
"--base-uri", "invalid",
"-d", `{"key": "test-key", "name": "test-name"}`,
"--projKey", "test-proj-key",
"--project", "test-proj-key",
}

_, err := cmd.CallCmd(t, &flags.MockClient{}, nil, nil, args)
Expand Down