From 18fd0b0cdf52ea805214de22589705f8abca720f Mon Sep 17 00:00:00 2001 From: Jonathan Yu Date: Fri, 12 Feb 2021 10:19:25 -0800 Subject: [PATCH 1/3] test: move sdk config_test to integration This change allows us to add SDK unit tests, and clarifies that config_test is an integration test requiring a Coder server. --- Makefile | 4 ++-- {coder-sdk => ci/integration}/config_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename {coder-sdk => ci/integration}/config_test.go (98%) diff --git a/Makefile b/Makefile index 6703f8fa..44657336 100644 --- a/Makefile +++ b/Makefile @@ -32,13 +32,13 @@ gendocs: go run ./cmd/coder gen-docs ./docs test/go: - go test $$(go list ./... | grep -v pkg/tcli | grep -v ci/integration | grep -v coder-sdk) + go test $$(go list ./... | grep -v pkg/tcli | grep -v ci/integration) test/coverage: go test \ -race \ -covermode atomic \ -coverprofile coverage \ - $$(go list ./... | grep -v pkg/tcli | grep -v ci/integration | grep -v coder-sdk) + $$(go list ./... | grep -v pkg/tcli | grep -v ci/integration) goveralls -coverprofile=coverage -service=github diff --git a/coder-sdk/config_test.go b/ci/integration/config_test.go similarity index 98% rename from coder-sdk/config_test.go rename to ci/integration/config_test.go index 511f339f..9773d2d8 100644 --- a/coder-sdk/config_test.go +++ b/ci/integration/config_test.go @@ -1,4 +1,4 @@ -package coder_test +package integration import ( "context" From f783f2cbce7afd67a45458c921c216b77f6b673a Mon Sep 17 00:00:00 2001 From: Jonathan Yu Date: Fri, 12 Feb 2021 11:01:57 -0800 Subject: [PATCH 2/3] i can haz token --- ci/integration/config_test.go | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/ci/integration/config_test.go b/ci/integration/config_test.go index 9773d2d8..66631fb0 100644 --- a/ci/integration/config_test.go +++ b/ci/integration/config_test.go @@ -3,40 +3,30 @@ package integration import ( "context" "net/url" - "os" "testing" "time" "cdr.dev/slog" "cdr.dev/slog/sloggers/slogtest" "cdr.dev/slog/sloggers/slogtest/assert" + "github.com/stretchr/testify/require" "cdr.dev/coder-cli/coder-sdk" ) -func newClient(t *testing.T) *coder.Client { - token := os.Getenv("CODER_TOKEN") - if token == "" { - slogtest.Fatal(t, `"CODER_TOKEN" env var is empty`) - } - raw := os.Getenv("CODER_URL") - u, err := url.Parse(raw) - if err != nil { - slogtest.Fatal(t, `"CODER_URL" env var is invalid`, slog.Error(err)) - } - - return &coder.Client{ - BaseURL: u, - Token: token, - } -} - func TestConfig(t *testing.T) { t.Parallel() ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) defer cancel() - client := newClient(t) + creds := login(ctx, t) + baseURL, err := url.Parse(creds.url) + require.NoError(t, err, "error parsing baseURL") + require.NotEmpty(t, creds.token, "session token is empty") + client := &coder.Client{ + BaseURL: baseURL, + Token: creds.token, + } version, err := client.APIVersion(ctx) assert.Success(t, "get api version", err) From f29af74e2cc1a492cf51e82adab3ed39e742b12d Mon Sep 17 00:00:00 2001 From: Jonathan Yu Date: Wed, 17 Feb 2021 01:14:29 +0000 Subject: [PATCH 3/3] remove config_test.go --- ci/integration/config_test.go | 57 ----------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 ci/integration/config_test.go diff --git a/ci/integration/config_test.go b/ci/integration/config_test.go deleted file mode 100644 index 66631fb0..00000000 --- a/ci/integration/config_test.go +++ /dev/null @@ -1,57 +0,0 @@ -package integration - -import ( - "context" - "net/url" - "testing" - "time" - - "cdr.dev/slog" - "cdr.dev/slog/sloggers/slogtest" - "cdr.dev/slog/sloggers/slogtest/assert" - "github.com/stretchr/testify/require" - - "cdr.dev/coder-cli/coder-sdk" -) - -func TestConfig(t *testing.T) { - t.Parallel() - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) - defer cancel() - - creds := login(ctx, t) - baseURL, err := url.Parse(creds.url) - require.NoError(t, err, "error parsing baseURL") - require.NotEmpty(t, creds.token, "session token is empty") - client := &coder.Client{ - BaseURL: baseURL, - Token: creds.token, - } - - version, err := client.APIVersion(ctx) - assert.Success(t, "get api version", err) - slogtest.Info(t, "got api version", slog.F("version", version)) - - authConfig, err := client.SiteConfigAuth(ctx) - assert.Success(t, "auth config", err) - slogtest.Info(t, "got site auth config", slog.F("config", authConfig)) - - oauthConf, err := client.SiteConfigOAuth(ctx) - assert.Success(t, "auth config", err) - slogtest.Info(t, "got site oauth config", slog.F("config", oauthConf)) - - putOAuth := &coder.ConfigOAuth{ - GitHub: coder.ConfigOAuthGitHub{ - BaseURL: "github.com", - ClientID: "fake client id", - ClientSecret: "fake secrets", - }, - } - - err = client.PutSiteConfigOAuth(ctx, *putOAuth) - assert.Success(t, "put site oauth", err) - - oauthConf, err = client.SiteConfigOAuth(ctx) - assert.Success(t, "auth config", err) - assert.Equal(t, "oauth was updated", putOAuth, oauthConf) -}