2025-01-21 18:24:14 +00:00
|
|
|
package client
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/google/uuid"
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestNormalizeName(t *testing.T) {
|
2025-01-29 16:26:11 +00:00
|
|
|
name := "name"
|
|
|
|
|
err := normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = ""
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.NotNil(t, err)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = " name\t"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = "name second"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name second", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = "name\t second"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name second", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = "name_second"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name_second", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = "name-second"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name-second", name)
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
name = "name123"
|
|
|
|
|
err = normalizeName(&name)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, "name123", name)
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
func TestNormalizeCanSyncUpdate(t *testing.T) {
|
2025-01-21 18:24:14 +00:00
|
|
|
c := Client{
|
|
|
|
|
ID: uuid.New(),
|
|
|
|
|
CanSync: true,
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
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)
|
2025-01-21 18:24:14 +00:00
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
func TestNormalizeNameUpdate(t *testing.T) {
|
2025-01-21 18:24:14 +00:00
|
|
|
c := Client{
|
|
|
|
|
ID: uuid.New(),
|
|
|
|
|
Name: "example_name",
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
err := c.normalizeNameUpdate(nil)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
v := "update_name"
|
|
|
|
|
val := &v
|
|
|
|
|
err = c.normalizeNameUpdate(&val)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
2025-01-29 16:26:11 +00:00
|
|
|
assert.NotNil(t, val)
|
|
|
|
|
assert.Equal(t, "update_name", *val)
|
2025-01-21 18:24:14 +00:00
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
v = c.Name
|
|
|
|
|
val = &v
|
|
|
|
|
err = c.normalizeNameUpdate(&val)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Nil(t, err)
|
2025-01-29 16:26:11 +00:00
|
|
|
assert.Nil(t, val)
|
2025-01-21 18:24:14 +00:00
|
|
|
|
2025-01-29 16:26:11 +00:00
|
|
|
v = "###"
|
|
|
|
|
val = &v
|
|
|
|
|
err = c.normalizeNameUpdate(&val)
|
2025-01-21 18:24:14 +00:00
|
|
|
assert.Error(t, err)
|
|
|
|
|
}
|