forked from coop-cloud/abra
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
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")
|
|
}
|
|
|
|
}
|