ad basic ci testing

This commit is contained in:
Samuel Lorch 2021-09-06 15:56:15 +02:00
parent 28e2ccf7e4
commit 54f4b4ca23
3 changed files with 118 additions and 0 deletions

30
helper/resource_test.go Normal file
View file

@ -0,0 +1,30 @@
package helper
import (
"context"
"testing"
)
func TestResourceCreate(t *testing.T) {
id, err := CreateResource(context.TODO(), client, "", "name", "username", "https://url.lan", "password123", "a password description")
if err != nil {
t.Fatalf("Creating Resource %v", err)
}
_, name, username, uri, password, description, err := GetResource(context.TODO(), client, id)
if err != nil {
t.Fatalf("Getting Resource %v", err)
}
equal(t, "Name", name, "name")
equal(t, "Username", username, "username")
equal(t, "URI", uri, "https://url.lan")
equal(t, "Password", password, "password123")
equal(t, "Description", description, "a password description")
}
func equal(t *testing.T, name, a, b string) {
if a != b {
t.Fatalf("Value %v is %v instead of %v", name, a, b)
}
}

54
helper/setup_test.go Normal file
View file

@ -0,0 +1,54 @@
package helper
import (
"context"
"crypto/tls"
"fmt"
"net/http"
"os"
"testing"
"github.com/speatzle/go-passbolt/api"
)
var client *api.Client
func TestMain(m *testing.M) {
url := os.Getenv("REG_URL")
fmt.Printf("Registering with url: %v\n", url)
userID, token, err := ParseInviteUrl(url)
if err != nil {
panic(fmt.Errorf("Unable to Parse Invite URL: %w", err))
}
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
hc := &http.Client{Transport: tr}
rc, err := api.NewClient(hc, "", "https://localhost", "", "")
if err != nil {
panic(fmt.Errorf("Creating Registration Client: %w", err))
}
ctx := context.TODO()
privkey, err := SetupAccount(ctx, rc, userID, token, "password123")
if err != nil {
panic(fmt.Errorf("Setup Account: %w", err))
}
c, err := api.NewClient(hc, "", "https://localhost", privkey, "password123")
if err != nil {
panic(fmt.Errorf("Setup Client: %w", err))
}
c.Login(ctx)
if err != nil {
panic(fmt.Errorf("Login Client: %w", err))
}
client = c
os.Exit(m.Run())
}