From a2bb0ed0279d5f36192e6fb9c52376997610c4d7 Mon Sep 17 00:00:00 2001 From: Roxie Gibson Date: Sun, 18 Jul 2021 06:31:09 +0100 Subject: [PATCH] test: added the first test I am not very good at unit testing but we need to start writing them --- client/client_test.go | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 client/client_test.go diff --git a/client/client_test.go b/client/client_test.go new file mode 100644 index 00000000..8a897fd1 --- /dev/null +++ b/client/client_test.go @@ -0,0 +1,52 @@ +package client_test + +import ( + "testing" + + "coopcloud.tech/abra/client" + dContext "github.com/docker/cli/cli/context" + dCliContextStore "github.com/docker/cli/cli/context/store" +) + +type TestContext struct { + context dCliContextStore.Metadata + expected_endpoint string +} + +func dockerContext(host, key string) TestContext { + dockerContext := dCliContextStore.Metadata{ + Name: "foo", + Metadata: nil, + Endpoints: map[string]interface{}{ + key: dContext.EndpointMetaBase{ + Host: host, + SkipTLSVerify: false, + }, + }, + } + return TestContext{ + context: dockerContext, + expected_endpoint: host, + } +} + +func TestGetContextEndpoint(t *testing.T) { + var testDockerContexts = []TestContext{ + dockerContext("ssh://foobar", "docker"), + dockerContext("ssh://foobar", "k8"), + } + for _, context := range testDockerContexts { + endpoint, err := client.GetContextEndpoint(context.context) + if err != nil { + if err.Error() != "context lacks Docker endpoint" { + t.Error(err) + } + } else { + if endpoint != context.expected_endpoint { + t.Errorf("did not get correct context endpoint. Expected: %s, received: %s", context.expected_endpoint, endpoint) + } + } + + } + +}