Files
query-orchestration/internal/client/serviceprivate_test.go
T
Michael McGuinness 6648cdf1cb Merged in feature/clientexternalid (pull request #99)
Client External ID

* normalizeexternalid

* cleanopenapi

* cleanopenapi

* changingpublic

* noprecommit

* testing

* precommit

* processtest

* nodb

* tests

* tests
2025-03-11 16:31:06 +00:00

85 lines
1.7 KiB
Go

package client
import (
"testing"
"github.com/google/uuid"
"github.com/stretchr/testify/assert"
)
func TestNormalizeName(t *testing.T) {
names := map[string]string{
"name": "name",
" name\t": "name",
"name second": "name second",
"name\t second": "name second",
"name_second": "name_second",
"name-second": "name-second",
"name123": "name123",
"Name One - Two": "Name One - Two",
"Name, Inc.": "Name, Inc.",
"Namer - Two": "Namer - Two",
"Name (Hello One)": "Name (Hello One)",
"Name (Hello One) Bye": "Name (Hello One) Bye",
}
for key, value := range names {
err := normalizeName(&key)
assert.NoError(t, err)
assert.Equal(t, value, key)
}
name := ""
err := normalizeName(&name)
assert.Error(t, err)
}
func TestNormalizeCanSyncUpdate(t *testing.T) {
c := Client{
ID: uuid.New(),
CanSync: true,
}
c.normalizeCanSyncUpdate(nil)
var val *bool
c.normalizeCanSyncUpdate(&val)
assert.Nil(t, val)
v := true
val = &v
c.normalizeCanSyncUpdate(&val)
assert.Nil(t, val)
v = false
val = &v
c.normalizeCanSyncUpdate(&val)
assert.NotNil(t, *val)
}
func TestNormalizeNameUpdate(t *testing.T) {
c := Client{
ID: uuid.New(),
Name: "example_name",
}
err := c.normalizeNameUpdate(nil)
assert.NoError(t, err)
v := "update_name"
val := &v
err = c.normalizeNameUpdate(&val)
assert.NoError(t, err)
assert.NotNil(t, val)
assert.Equal(t, "update_name", *val)
v = c.Name
val = &v
err = c.normalizeNameUpdate(&val)
assert.NoError(t, err)
assert.Nil(t, val)
v = "###"
val = &v
err = c.normalizeNameUpdate(&val)
assert.Error(t, err)
}