2024-06-11 17:28:20 -04:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"codeberg.org/vlbeaudoin/voki/v3"
|
|
|
|
"github.com/spf13/viper"
|
|
|
|
)
|
|
|
|
|
2024-06-17 14:07:49 -04:00
|
|
|
func init() {
|
|
|
|
initConfig()
|
|
|
|
}
|
|
|
|
|
2024-06-11 17:28:20 -04:00
|
|
|
func TestAPI(t *testing.T) {
|
|
|
|
var cfg Config
|
|
|
|
if err := viper.Unmarshal(&cfg); err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
httpClient := http.DefaultClient
|
|
|
|
defer httpClient.CloseIdleConnections()
|
|
|
|
|
|
|
|
vokiClient := voki.New(httpClient, "localhost", cfg.API.Key, cfg.API.Port, "http")
|
|
|
|
apiClient := APIClient{vokiClient}
|
|
|
|
|
|
|
|
t.Run("get API health", func(t *testing.T) {
|
|
|
|
health, err := apiClient.GetHealth()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
want := "ok"
|
|
|
|
got := health
|
|
|
|
|
|
|
|
if want != got {
|
|
|
|
t.Errorf("want=%s got=%s", want, got)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2024-06-17 14:07:49 -04:00
|
|
|
//TODO create or replace schema
|
|
|
|
t.Run("insert programmes",
|
|
|
|
func(t *testing.T) {
|
|
|
|
programmes := []Programme{
|
|
|
|
{"404.42", "Cool programme"},
|
|
|
|
{"200.10", "Autre programme"},
|
|
|
|
}
|
|
|
|
t.Log("programmes:", programmes)
|
|
|
|
_, err := apiClient.InsertProgrammes(programmes...)
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
//TODO insert membres
|
2024-06-17 17:25:53 -04:00
|
|
|
t.Run("insert membres",
|
|
|
|
func(t *testing.T) {
|
|
|
|
membres := []Membre{
|
|
|
|
{
|
|
|
|
ID: "0000000",
|
|
|
|
FirstName: "Test",
|
|
|
|
LastName: "User",
|
|
|
|
ProgrammeID: "404.42",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ID: "1234567",
|
|
|
|
FirstName: "Deadname",
|
|
|
|
LastName: "User",
|
|
|
|
PreferedName: "User, Test-Name",
|
|
|
|
ProgrammeID: "200.10",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
_, err := apiClient.InsertMembres(membres...)
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
}
|
|
|
|
})
|
2024-06-17 14:07:49 -04:00
|
|
|
//TODO get membre
|
|
|
|
//TODO update membre prefered name
|
|
|
|
//TODO get membres
|
|
|
|
|
2024-06-11 17:28:20 -04:00
|
|
|
}
|