Files
query-orchestration/internal/database/repository/client_test.go
T
Michael McGuinness 7ce7c9df4d Merged in feature/ecr (pull request #161)
Feature/ecr

* nosave

* repo

* awscli

* unzip

* ignore

* moreram

* 14k

* ref

* deployment

* 12k

* uselocal

* go

* dockercomd

* reorder

* iamgename

* installs

* tart

* cli

* clideps

* y

* dockerce

* nodock

* multi

* rmecr

* dev
2025-06-03 13:52:10 +00:00

92 lines
2.1 KiB
Go

package repository_test
import (
"testing"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/test"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestClientQueries(t *testing.T) {
t.Parallel()
if testing.Short() {
t.SkipNow()
}
ctx := t.Context()
cfg := &serviceconfig.BaseConfig{}
test.CreateDB(t, cfg)
queries := cfg.GetDBQueries()
name := "example_name"
clientId := "EXAMPLE"
err := queries.CreateClient(ctx, &repository.CreateClientParams{
Name: name,
Clientid: clientId,
})
require.NoError(t, err)
client, err := queries.GetClient(ctx, clientId)
require.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullclient{
Clientid: clientId,
Name: name,
Cansync: false,
}, client)
name = "updated_client"
err = queries.UpdateClient(ctx, &repository.UpdateClientParams{
Clientid: clientId,
Name: name,
})
require.NoError(t, err)
client, err = queries.GetClient(ctx, clientId)
require.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullclient{
Clientid: clientId,
Name: name,
Cansync: false,
}, client)
err = queries.AddClientCanSync(ctx, &repository.AddClientCanSyncParams{
Clientid: clientId,
Cansync: true,
})
require.NoError(t, err)
client, err = queries.GetClient(ctx, clientId)
require.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullclient{
Clientid: clientId,
Name: name,
Cansync: true,
}, client)
err = queries.CreateClient(ctx, &repository.CreateClientParams{
Name: name,
Clientid: clientId,
})
assert.Error(t, err)
err = queries.CreateClient(ctx, &repository.CreateClientParams{
Name: name,
Clientid: "definitely different",
})
assert.Error(t, err)
err = queries.CreateClient(ctx, &repository.CreateClientParams{
Name: "100 different",
Clientid: clientId,
})
assert.Error(t, err)
err = queries.CreateClient(ctx, &repository.CreateClientParams{
Name: "sameid",
Clientid: "sameid",
})
require.NoError(t, err)
}