From d01ab9f3c9b193509d58fc47c27e88d4ee540f8d Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Sat, 14 Mar 2020 19:16:04 +0100 Subject: [PATCH 1/8] feat(k8s): add version commands Signed-off-by: Patrik Cyvoct --- internal/namespaces/k8s/v1beta4/custom.go | 5 ++ .../namespaces/k8s/v1beta4/custom_version.go | 79 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 internal/namespaces/k8s/v1beta4/custom_version.go diff --git a/internal/namespaces/k8s/v1beta4/custom.go b/internal/namespaces/k8s/v1beta4/custom.go index 58b0a6fbc2..4b47ebf011 100644 --- a/internal/namespaces/k8s/v1beta4/custom.go +++ b/internal/namespaces/k8s/v1beta4/custom.go @@ -14,6 +14,9 @@ import ( // - Apply handwritten overrides (of Command.Run) func GetCommands() *core.Commands { cmds := GetGeneratedCommands() + cmds.Merge(core.NewCommands( + k8sVersionGetCommand(), + )) human.RegisterMarshalerFunc(k8s.ClusterStatus(0), human.BindAttributesMarshalFunc(clusterStatusAttributes)) human.RegisterMarshalerFunc(k8s.PoolStatus(0), human.BindAttributesMarshalFunc(poolStatusAttributes)) @@ -32,5 +35,7 @@ func GetCommands() *core.Commands { cmds.MustFind("k8s", "node", "reboot").Override(nodeRebootBuilder) + cmds.MustFind("k8s", "version", "list").Override(versionListBuilder) + return cmds } diff --git a/internal/namespaces/k8s/v1beta4/custom_version.go b/internal/namespaces/k8s/v1beta4/custom_version.go new file mode 100644 index 0000000000..805dc3c432 --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/custom_version.go @@ -0,0 +1,79 @@ +package k8s + +import ( + "context" + "fmt" + "reflect" + + "github.com/scaleway/scaleway-cli/internal/core" + k8s "github.com/scaleway/scaleway-sdk-go/api/k8s/v1beta4" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +// +// Marshalers +// + +func versionListBuilder(c *core.Command) *core.Command { + originalRun := c.Run + + c.Run = func(ctx context.Context, argsI interface{}) (interface{}, error) { + originalRes, err := originalRun(ctx, argsI) + if err != nil { + return nil, err + } + + versionsResponse := originalRes.(*k8s.ListVersionsResponse) + return versionsResponse.Versions, nil + } + + return c +} + +type k8sVersionGetRequest struct { + Version string + Region scw.Region +} + +func k8sVersionGetCommand() *core.Command { + return &core.Command{ + Short: `Get a Kubernetes version`, + Long: `Get all the details about a specific Kubernetes version.`, + Namespace: "k8s", + Verb: "get", + Resource: "version", + ArgsType: reflect.TypeOf(k8sVersionGetRequest{}), + ArgSpecs: core.ArgSpecs{ + core.RegionArgSpec(), + { + Name: "version", + Short: "Version from which to get details", + Required: true, + Positional: true, + }, + }, + Run: k8sVersionGetRun, + } +} + +func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e error) { + args := argsI.(*k8sVersionGetRequest) + + client := core.ExtractClient(ctx) + apiK8s := k8s.NewAPI(client) + + versions, err := apiK8s.ListVersions(&k8s.ListVersionsRequest{ + Region: args.Region, + }) + + if err != nil { + return nil, err + } + + for _, version := range versions.Versions { + if version.Name == args.Version { + return version, nil + } + } + return nil, fmt.Errorf("version %s not found", args.Version) +} From 5f352a8aa80492a22bdceea37e5cf9fea2f05f86 Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Tue, 17 Mar 2020 11:03:45 +0100 Subject: [PATCH 2/8] update goldens Signed-off-by: Patrik Cyvoct --- ...all-usage-k8s-version-get-usage.stderr.golden | 16 ++++++++++++++++ ...est-all-usage-k8s-version-usage.stderr.golden | 1 + .../namespaces/k8s/v1beta4/custom_version.go | 4 ---- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden diff --git a/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden b/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden new file mode 100644 index 0000000000..18057f305a --- /dev/null +++ b/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden @@ -0,0 +1,16 @@ +Get all the details about a specific Kubernetes version. + +USAGE: + scw k8s version get [arg=value ...] + +ARGS: + [region] Region to target. If none is passed will use default region from the config + version Version from which to get details + +FLAGS: + -h, --help help for get + +GLOBAL FLAGS: + -D, --debug Enable debug mode + -o, --output string Output format: json or human + -p, --profile string The config profile to use diff --git a/cmd/scw/testdata/test-all-usage-k8s-version-usage.stderr.golden b/cmd/scw/testdata/test-all-usage-k8s-version-usage.stderr.golden index a1a52b8b71..b73fa835b8 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-version-usage.stderr.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-version-usage.stderr.golden @@ -9,6 +9,7 @@ USAGE: AVAILABLE COMMANDS: list List all available versions + get Get a Kubernetes version FLAGS: -h, --help help for version diff --git a/internal/namespaces/k8s/v1beta4/custom_version.go b/internal/namespaces/k8s/v1beta4/custom_version.go index 805dc3c432..0c811da4de 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version.go +++ b/internal/namespaces/k8s/v1beta4/custom_version.go @@ -10,10 +10,6 @@ import ( "github.com/scaleway/scaleway-sdk-go/scw" ) -// -// Marshalers -// - func versionListBuilder(c *core.Command) *core.Command { originalRun := c.Run From fcae8704d91c7936790a14afe45548f56711d24d Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Tue, 17 Mar 2020 11:46:59 +0100 Subject: [PATCH 3/8] add tests Signed-off-by: Patrik Cyvoct --- .../namespaces/k8s/v1beta4/custom_version.go | 51 ---------------- .../k8s/v1beta4/custom_version_get.go | 59 +++++++++++++++++++ .../k8s/v1beta4/custom_version_get_test.go | 30 ++++++++++ .../test-get-version-error.cassette.yaml | 37 ++++++++++++ .../test-get-version-error.stderr.golden | 1 + .../test-get-version-simple.cassette.yaml | 37 ++++++++++++ .../test-get-version-simple.stdout.golden | 22 +++++++ 7 files changed, 186 insertions(+), 51 deletions(-) create mode 100644 internal/namespaces/k8s/v1beta4/custom_version_get.go create mode 100644 internal/namespaces/k8s/v1beta4/custom_version_get_test.go create mode 100644 internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml create mode 100644 internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden create mode 100644 internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml create mode 100644 internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden diff --git a/internal/namespaces/k8s/v1beta4/custom_version.go b/internal/namespaces/k8s/v1beta4/custom_version.go index 0c811da4de..8acdc23499 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version.go +++ b/internal/namespaces/k8s/v1beta4/custom_version.go @@ -2,12 +2,9 @@ package k8s import ( "context" - "fmt" - "reflect" "github.com/scaleway/scaleway-cli/internal/core" k8s "github.com/scaleway/scaleway-sdk-go/api/k8s/v1beta4" - "github.com/scaleway/scaleway-sdk-go/scw" ) func versionListBuilder(c *core.Command) *core.Command { @@ -25,51 +22,3 @@ func versionListBuilder(c *core.Command) *core.Command { return c } - -type k8sVersionGetRequest struct { - Version string - Region scw.Region -} - -func k8sVersionGetCommand() *core.Command { - return &core.Command{ - Short: `Get a Kubernetes version`, - Long: `Get all the details about a specific Kubernetes version.`, - Namespace: "k8s", - Verb: "get", - Resource: "version", - ArgsType: reflect.TypeOf(k8sVersionGetRequest{}), - ArgSpecs: core.ArgSpecs{ - core.RegionArgSpec(), - { - Name: "version", - Short: "Version from which to get details", - Required: true, - Positional: true, - }, - }, - Run: k8sVersionGetRun, - } -} - -func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e error) { - args := argsI.(*k8sVersionGetRequest) - - client := core.ExtractClient(ctx) - apiK8s := k8s.NewAPI(client) - - versions, err := apiK8s.ListVersions(&k8s.ListVersionsRequest{ - Region: args.Region, - }) - - if err != nil { - return nil, err - } - - for _, version := range versions.Versions { - if version.Name == args.Version { - return version, nil - } - } - return nil, fmt.Errorf("version %s not found", args.Version) -} diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get.go b/internal/namespaces/k8s/v1beta4/custom_version_get.go new file mode 100644 index 0000000000..3ead446819 --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/custom_version_get.go @@ -0,0 +1,59 @@ +package k8s + +import ( + "context" + "fmt" + "reflect" + + "github.com/scaleway/scaleway-cli/internal/core" + k8s "github.com/scaleway/scaleway-sdk-go/api/k8s/v1beta4" + "github.com/scaleway/scaleway-sdk-go/scw" +) + +type k8sVersionGetRequest struct { + Version string + Region scw.Region +} + +func k8sVersionGetCommand() *core.Command { + return &core.Command{ + Short: `Get a Kubernetes version`, + Long: `Get all the details about a specific Kubernetes version.`, + Namespace: "k8s", + Verb: "get", + Resource: "version", + ArgsType: reflect.TypeOf(k8sVersionGetRequest{}), + ArgSpecs: core.ArgSpecs{ + core.RegionArgSpec(), + { + Name: "version", + Short: "Version from which to get details", + Required: true, + Positional: true, + }, + }, + Run: k8sVersionGetRun, + } +} + +func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e error) { + args := argsI.(*k8sVersionGetRequest) + + client := core.ExtractClient(ctx) + apiK8s := k8s.NewAPI(client) + + versions, err := apiK8s.ListVersions(&k8s.ListVersionsRequest{ + Region: args.Region, + }) + + if err != nil { + return nil, err + } + + for _, version := range versions.Versions { + if version.Name == args.Version { + return version, nil + } + } + return nil, fmt.Errorf("version %s not found", args.Version) +} diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get_test.go b/internal/namespaces/k8s/v1beta4/custom_version_get_test.go new file mode 100644 index 0000000000..933eb9039e --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/custom_version_get_test.go @@ -0,0 +1,30 @@ +package k8s + +import ( + "testing" + + "github.com/scaleway/scaleway-cli/internal/core" +) + +//// +// Simple use cases +//// +func Test_GetVersion(t *testing.T) { + t.Run("simple", core.Test(&core.TestConfig{ + Commands: GetCommands(), + Cmd: "scw k8s version get 1.17.4", + Check: core.TestCheckCombine( + core.TestCheckGolden(), + core.TestCheckExitCode(0), + ), + })) + + t.Run("error", core.Test(&core.TestConfig{ + Commands: GetCommands(), + Cmd: "scw k8s version get test", + Check: core.TestCheckCombine( + core.TestCheckGolden(), + core.TestCheckExitCode(1), + ), + })) +} diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml new file mode 100644 index 0000000000..6992617167 --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml @@ -0,0 +1,37 @@ +--- +version: 1 +interactions: +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.14; linux; amd64) cli-e2e-test + url: https://api.scaleway.com/k8s/v1beta4/regions/fr-par/versions + method: GET + response: + body: '{"versions":[{"region":"fr-par","name":"1.17.4","label":"Kubernetes 1.17.4","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","ServiceTopology","EndpointSlice","HPAScaleToZero","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]},{"region":"fr-par","name":"1.16.8","label":"Kubernetes + 1.16.8","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","EndpointSlice","HPAScaleToZero","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]},{"region":"fr-par","name":"1.15.11","label":"Kubernetes + 1.15.11","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]}]}' + headers: + Content-Length: + - "1348" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 17 Mar 2020 10:46:45 GMT + Server: + - scaleway_api + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - d94317bb-def1-4259-ad50-1c0b8c9dc003 + status: 200 OK + code: 200 + duration: "" diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden new file mode 100644 index 0000000000..d65636e838 --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden @@ -0,0 +1 @@ +Version test not found diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml new file mode 100644 index 0000000000..27f464ff5b --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml @@ -0,0 +1,37 @@ +--- +version: 1 +interactions: +- request: + body: "" + form: {} + headers: + User-Agent: + - scaleway-sdk-go/v1.0.0-beta.6+dev (go1.14; linux; amd64) cli-e2e-test + url: https://api.scaleway.com/k8s/v1beta4/regions/fr-par/versions + method: GET + response: + body: '{"versions":[{"region":"fr-par","name":"1.17.4","label":"Kubernetes 1.17.4","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","ServiceTopology","EndpointSlice","HPAScaleToZero","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]},{"region":"fr-par","name":"1.16.8","label":"Kubernetes + 1.16.8","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","EndpointSlice","HPAScaleToZero","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]},{"region":"fr-par","name":"1.15.11","label":"Kubernetes + 1.15.11","available_cnis":["cilium","calico","weave","flannel"],"available_ingresses":["none","nginx","traefik"],"available_container_runtimes":["docker","containerd","crio"],"available_feature_gates":["TTLAfterFinished","ServiceNodeExclusion"],"available_admission_plugins":["PodSecurityPolicy","MutatingAdmissionWebhook","PodNodeSelector","AlwaysPullImages"]}]}' + headers: + Content-Length: + - "1348" + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' + Content-Type: + - application/json + Date: + - Tue, 17 Mar 2020 10:46:45 GMT + Server: + - scaleway_api + Strict-Transport-Security: + - max-age=63072000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-Request-Id: + - fb59bc0a-a3bc-425b-9db0-4ba947bc6c30 + status: 200 OK + code: 200 + duration: "" diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden new file mode 100644 index 0000000000..6e7ca3da7b --- /dev/null +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden @@ -0,0 +1,22 @@ +region fr-par +name 1.17.4 +label Kubernetes 1.17.4 +available-cnis.0 cilium +available-cnis.1 calico +available-cnis.2 weave +available-cnis.3 flannel +available-ingresses.0 none +available-ingresses.1 nginx +available-ingresses.2 traefik +available-container-runtimes.0 docker +available-container-runtimes.1 containerd +available-container-runtimes.2 crio +available-feature-gates.0 TTLAfterFinished +available-feature-gates.1 ServiceTopology +available-feature-gates.2 EndpointSlice +available-feature-gates.3 HPAScaleToZero +available-feature-gates.4 ServiceNodeExclusion +available-admission-plugins.0 PodSecurityPolicy +available-admission-plugins.1 MutatingAdmissionWebhook +available-admission-plugins.2 PodNodeSelector +available-admission-plugins.3 AlwaysPullImages From 43deb823f928b0341167e60c6e9c897fb564fa17 Mon Sep 17 00:00:00 2001 From: Patrik Date: Tue, 17 Mar 2020 12:31:55 +0100 Subject: [PATCH 4/8] Update internal/namespaces/k8s/v1beta4/custom_version_get.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Loïc Bourgois --- internal/namespaces/k8s/v1beta4/custom_version_get.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get.go b/internal/namespaces/k8s/v1beta4/custom_version_get.go index 3ead446819..047a02f494 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version_get.go +++ b/internal/namespaces/k8s/v1beta4/custom_version_get.go @@ -24,13 +24,13 @@ func k8sVersionGetCommand() *core.Command { Resource: "version", ArgsType: reflect.TypeOf(k8sVersionGetRequest{}), ArgSpecs: core.ArgSpecs{ - core.RegionArgSpec(), { Name: "version", Short: "Version from which to get details", Required: true, Positional: true, }, + core.RegionArgSpec(), }, Run: k8sVersionGetRun, } From 15750b06c56002bef139f698d9cc31f5b5d80be7 Mon Sep 17 00:00:00 2001 From: Patrik Date: Tue, 17 Mar 2020 12:32:23 +0100 Subject: [PATCH 5/8] Update internal/namespaces/k8s/v1beta4/custom_version_get.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Loïc Bourgois --- internal/namespaces/k8s/v1beta4/custom_version_get.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get.go b/internal/namespaces/k8s/v1beta4/custom_version_get.go index 047a02f494..516dd70a2c 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version_get.go +++ b/internal/namespaces/k8s/v1beta4/custom_version_get.go @@ -55,5 +55,5 @@ func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e return version, nil } } - return nil, fmt.Errorf("version %s not found", args.Version) + return nil, fmt.Errorf("version '%s' not found", args.Version) } From 17cd11a5f63266b310f9b6f279e79efa69516ed1 Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Tue, 17 Mar 2020 12:38:53 +0100 Subject: [PATCH 6/8] fix reviews Signed-off-by: Patrik Cyvoct --- internal/namespaces/k8s/v1beta4/custom_version_get.go | 8 ++++---- .../namespaces/k8s/v1beta4/custom_version_get_test.go | 3 ++- .../v1beta4/testdata/test-get-version-error.cassette.yaml | 4 ++-- .../v1beta4/testdata/test-get-version-error.stderr.golden | 1 - .../testdata/test-get-version-simple.cassette.yaml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get.go b/internal/namespaces/k8s/v1beta4/custom_version_get.go index 516dd70a2c..ed56ac021a 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version_get.go +++ b/internal/namespaces/k8s/v1beta4/custom_version_get.go @@ -37,13 +37,13 @@ func k8sVersionGetCommand() *core.Command { } func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e error) { - args := argsI.(*k8sVersionGetRequest) + request := argsI.(*k8sVersionGetRequest) client := core.ExtractClient(ctx) apiK8s := k8s.NewAPI(client) versions, err := apiK8s.ListVersions(&k8s.ListVersionsRequest{ - Region: args.Region, + Region: request.Region, }) if err != nil { @@ -51,9 +51,9 @@ func k8sVersionGetRun(ctx context.Context, argsI interface{}) (i interface{}, e } for _, version := range versions.Versions { - if version.Name == args.Version { + if version.Name == request.Version { return version, nil } } - return nil, fmt.Errorf("version '%s' not found", args.Version) + return nil, fmt.Errorf("version '%s' not found", request.Version) } diff --git a/internal/namespaces/k8s/v1beta4/custom_version_get_test.go b/internal/namespaces/k8s/v1beta4/custom_version_get_test.go index 933eb9039e..09bbea6a61 100644 --- a/internal/namespaces/k8s/v1beta4/custom_version_get_test.go +++ b/internal/namespaces/k8s/v1beta4/custom_version_get_test.go @@ -1,6 +1,7 @@ package k8s import ( + "fmt" "testing" "github.com/scaleway/scaleway-cli/internal/core" @@ -23,7 +24,7 @@ func Test_GetVersion(t *testing.T) { Commands: GetCommands(), Cmd: "scw k8s version get test", Check: core.TestCheckCombine( - core.TestCheckGolden(), + core.TestCheckError(fmt.Errorf("version 'test' not found")), core.TestCheckExitCode(1), ), })) diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml index 6992617167..a01ef9002a 100644 --- a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.cassette.yaml @@ -21,7 +21,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 17 Mar 2020 10:46:45 GMT + - Tue, 17 Mar 2020 11:38:15 GMT Server: - scaleway_api Strict-Transport-Security: @@ -31,7 +31,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - d94317bb-def1-4259-ad50-1c0b8c9dc003 + - d3f5d4f9-44bb-4c0c-8c4a-a82d2251db18 status: 200 OK code: 200 duration: "" diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden deleted file mode 100644 index d65636e838..0000000000 --- a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-error.stderr.golden +++ /dev/null @@ -1 +0,0 @@ -Version test not found diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml index 27f464ff5b..f34d9e70e0 100644 --- a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.cassette.yaml @@ -21,7 +21,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 17 Mar 2020 10:46:45 GMT + - Tue, 17 Mar 2020 11:38:15 GMT Server: - scaleway_api Strict-Transport-Security: @@ -31,7 +31,7 @@ interactions: X-Frame-Options: - DENY X-Request-Id: - - fb59bc0a-a3bc-425b-9db0-4ba947bc6c30 + - 7d321500-a3fd-4a89-ab8c-12caab3b8f4c status: 200 OK code: 200 duration: "" From ffa08fc1179fccc18322ded58275a96a3ab2be09 Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Tue, 17 Mar 2020 12:45:45 +0100 Subject: [PATCH 7/8] fix goldn Signed-off-by: Patrik Cyvoct --- .../testdata/test-all-usage-k8s-version-get-usage.stderr.golden | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden b/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden index 18057f305a..e68b96f380 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-version-get-usage.stderr.golden @@ -4,8 +4,8 @@ USAGE: scw k8s version get [arg=value ...] ARGS: - [region] Region to target. If none is passed will use default region from the config version Version from which to get details + [region] Region to target. If none is passed will use default region from the config FLAGS: -h, --help help for get From 0af715b6763479619ca76108f2512e367dee3970 Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Tue, 17 Mar 2020 15:30:31 +0100 Subject: [PATCH 8/8] fix golden Signed-off-by: Patrik Cyvoct --- .../k8s/v1beta4/testdata/test-get-version-simple.stdout.golden | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden index 6e7ca3da7b..890f5d04fb 100644 --- a/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden +++ b/internal/namespaces/k8s/v1beta4/testdata/test-get-version-simple.stdout.golden @@ -1,6 +1,6 @@ -region fr-par name 1.17.4 label Kubernetes 1.17.4 +region fr-par available-cnis.0 cilium available-cnis.1 calico available-cnis.2 weave