[Bugfix] duplicating flag registration (#7853)

master
mizuno-keyence 5 years ago committed by kannappanr
parent c43f745449
commit 09103991ea
  1. 2
      cmd/gateway-main.go
  2. 31
      cmd/gateway-main_test.go
  3. 4
      docs/gateway/gcs.md

@ -48,7 +48,7 @@ var (
// RegisterGatewayCommand registers a new command for gateway. // RegisterGatewayCommand registers a new command for gateway.
func RegisterGatewayCommand(cmd cli.Command) error { func RegisterGatewayCommand(cmd cli.Command) error {
cmd.Flags = append(append(cmd.Flags, append(cmd.Flags, ServerFlags...)...), GlobalFlags...) cmd.Flags = append(append(cmd.Flags, ServerFlags...), GlobalFlags...)
gatewayCmd.Subcommands = append(gatewayCmd.Subcommands, cmd) gatewayCmd.Subcommands = append(gatewayCmd.Subcommands, cmd)
return nil return nil
} }

@ -17,6 +17,7 @@
package cmd package cmd
import ( import (
"fmt"
"strings" "strings"
"testing" "testing"
@ -34,6 +35,36 @@ func TestRegisterGatewayCommand(t *testing.T) {
} }
} }
// Test running a registered gateway command with a flag
func TestRunRegisteredGatewayCommand(t *testing.T) {
var err error
flagName := "test-flag"
flagValue := "foo"
cmd := cli.Command{
Name: "test-run-with-flag",
Flags: []cli.Flag{
cli.StringFlag{Name: flagName},
},
Action: func(ctx *cli.Context) {
if actual := ctx.String(flagName); actual != flagValue {
t.Errorf("value of %s expects %s, but got %s", flagName, flagValue, actual)
}
},
}
err = RegisterGatewayCommand(cmd)
if err != nil {
t.Errorf("RegisterGatewayCommand got unexpected error: %s", err)
}
if err = newApp("minio").Run(
[]string{"minio", "gateway", cmd.Name, fmt.Sprintf("--%s", flagName), flagValue}); err != nil {
t.Errorf("running registered gateway command got unexpected error: %s", err)
}
}
// Test parseGatewayEndpoint // Test parseGatewayEndpoint
func TestParseGatewayEndpoint(t *testing.T) { func TestParseGatewayEndpoint(t *testing.T) {
testCases := []struct { testCases := []struct {

@ -19,7 +19,7 @@ MinIO GCS Gateway allows you to access Google Cloud Storage (GCS) with Amazon S3
**Note:** For alternate ways to set up *Application Default Credentials*, see [Setting Up Authentication for Server to Server Production Applications](https://developers.google.com/identity/protocols/application-default-credentials). **Note:** For alternate ways to set up *Application Default Credentials*, see [Setting Up Authentication for Server to Server Production Applications](https://developers.google.com/identity/protocols/application-default-credentials).
### 1.1 Run MinIO GCS Gateway Using Docker ### 1.2 Run MinIO GCS Gateway Using Docker
```sh ```sh
docker run -p 9000:9000 --name gcs-s3 \ docker run -p 9000:9000 --name gcs-s3 \
-v /path/to/credentials.json:/credentials.json \ -v /path/to/credentials.json:/credentials.json \
@ -29,7 +29,7 @@ docker run -p 9000:9000 --name gcs-s3 \
minio/minio gateway gcs yourprojectid minio/minio gateway gcs yourprojectid
``` ```
### 1.2 Run MinIO GCS Gateway Using the MinIO Binary ### 1.3 Run MinIO GCS Gateway Using the MinIO Binary
```sh ```sh
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json

Loading…
Cancel
Save