From e6e2e5214f43ad4ddccd57ecd62845e3b928c9bd Mon Sep 17 00:00:00 2001 From: knoflook Date: Sat, 16 Oct 2021 13:04:57 +0200 Subject: [PATCH] test: add tests for pkg/client/client.go --- pkg/client/client_test.go | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkg/client/client_test.go diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go new file mode 100644 index 00000000..6651de73 --- /dev/null +++ b/pkg/client/client_test.go @@ -0,0 +1,46 @@ +package client_test + +import ( + "fmt" + "testing" + + "coopcloud.tech/abra/pkg/client" +) + +// use at the start to ensure testContext[0, 1, ..., amnt-1] exist and +// testContextFail[0, 1, ..., failAmnt-1] don't exist +func ensureTestState(amnt, failAmnt int) error { + for i := 0; i < amnt; i++ { + err := client.CreateContext(fmt.Sprintf("testContext%d", i), "", "") + if err != nil { + return err + } + } + for i := 0; i < failAmnt; i++ { + if _, er := client.GetContext(fmt.Sprintf("testContextFail%d", i)); er == nil { + err := client.DeleteContext(fmt.Sprintf("testContextFail%d", i)) + if err != nil { + return err + } + } + } + return nil +} + +func TestNew(t *testing.T) { + err := ensureTestState(1, 1) + if err != nil { + t.Errorf("Couldn't ensure existence/nonexistence of contexts: %s", err) + } + contextName := "testContext0" + _, err = client.New(contextName) + if err != nil { + t.Errorf("couldn't initialise a new client with context %s: %s", contextName, err) + } + contextName = "testContextFail0" + _, err = client.New(contextName) + if err == nil { + t.Errorf("client.New(\"testContextFail0\") should have failed but didn't return an error") + } + +}