mirror of https://github.com/docker/cli.git
e2e: add a test for `context ls`
I'm about to refactor the code which includes the Kubernetes support in a way which relies on something vendoring `./cli/context/kubernetes/` in order to trigger the inclusion of support for the Kubernetes endpoint in the final binary. In practice anything which is interested in Kubernetes must import that package (e.g. `./cli/command/context.list` does for the `EndpointFromContext` function). However if it was somehow possible to build without that import then the `KUBERNETES ENDPOINT` column would be mysteriously empty. Out of an abundance of caution add a specific check on the final binary. Signed-off-by: Ian Campbell <ijc@docker.com>
This commit is contained in:
parent
d84e278aac
commit
d5d693aa6e
|
@ -0,0 +1,21 @@
|
||||||
|
package context
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"gotest.tools/golden"
|
||||||
|
"gotest.tools/icmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestContextList(t *testing.T) {
|
||||||
|
cmd := icmd.Command("docker", "context", "ls")
|
||||||
|
cmd.Env = append(cmd.Env,
|
||||||
|
"DOCKER_CONFIG=./testdata/test-dockerconfig",
|
||||||
|
"KUBECONFIG=./testdata/test-kubeconfig",
|
||||||
|
)
|
||||||
|
result := icmd.RunCmd(cmd).Assert(t, icmd.Expected{
|
||||||
|
Err: icmd.None,
|
||||||
|
ExitCode: 0,
|
||||||
|
})
|
||||||
|
golden.Assert(t, result.Stdout(), "context-ls.golden")
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package context
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/docker/cli/internal/test/environment"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestMain(m *testing.M) {
|
||||||
|
if err := environment.Setup(); err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
os.Exit(3)
|
||||||
|
}
|
||||||
|
os.Exit(m.Run())
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
|
||||||
|
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock https://someserver (zoinx) swarm
|
||||||
|
remote my remote cluster ssh://someserver https://someserver (default) kubernetes
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"auths": {},
|
||||||
|
"HttpHeaders": {
|
||||||
|
"User-Agent": "Docker-Client/19.09.0-dev (linux)"
|
||||||
|
},
|
||||||
|
"credsStore": "secretservice"
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
{"Name":"remote","Metadata":{"Description":"my remote cluster","StackOrchestrator":"kubernetes"},"Endpoints":{"docker":{"Host":"ssh://someserver","SkipTLSVerify":false},"kubernetes":{"Host":"https://someserver","SkipTLSVerify":false,"DefaultNamespace":"default","Exec":{"command":"heptio-authenticator-aws","args":["token","-i","eks-cf"],"env":null,"apiVersion":"client.authentication.k8s.io/v1alpha1"}}}}
|
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: v1
|
||||||
|
clusters:
|
||||||
|
- cluster:
|
||||||
|
certificate-authority-data: dGhlLWNh
|
||||||
|
server: https://someserver
|
||||||
|
name: test-cluster
|
||||||
|
contexts:
|
||||||
|
- context:
|
||||||
|
cluster: test-cluster
|
||||||
|
user: test-user
|
||||||
|
namespace: zoinx
|
||||||
|
name: test
|
||||||
|
current-context: test
|
||||||
|
kind: Config
|
||||||
|
preferences: {}
|
||||||
|
users:
|
||||||
|
- name: test-user
|
||||||
|
user:
|
||||||
|
client-certificate-data: dGhlLWNlcnQ=
|
||||||
|
client-key-data: dGhlLWtleQ==
|
Loading…
Reference in New Issue