Files
pgbackweb/internal/logger/kv_test.go
2024-07-19 23:39:58 -06:00

70 lines
1.8 KiB
Go

package logger
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestKvToArgsNoArgs(t *testing.T) {
result := kvToArgs()
assert.Equal(t, []any{}, result)
}
func TestKvToArgsOneArg(t *testing.T) {
kv := KV{"key": "value"}
result := kvToArgs(kv)
assert.Equal(t, []any{"key", "value"}, result)
}
func TestKvToArgsMultipleArgs(t *testing.T) {
kv1 := KV{"key1": "value1", "key2": "value2"}
kv2 := KV{"key3": "value3"}
result := kvToArgs(kv1, kv2)
assert.Equal(t, []any{"key1", "value1", "key2", "value2"}, result)
}
func TestKvToArgsNsNoArgs(t *testing.T) {
result := kvToArgsNs("namespace")
assert.Equal(t, []any{"ns", "namespace"}, result)
}
func TestKvToArgsNsOneArg(t *testing.T) {
kv := KV{"key": "value"}
result := kvToArgsNs("namespace", kv)
assert.Equal(t, []any{"ns", "namespace", "key", "value"}, result)
}
func TestKvToArgsNsMultipleArgs(t *testing.T) {
kv1 := KV{"key1": "value1", "key2": "value2"}
kv2 := KV{"key3": "value3"}
result := kvToArgsNs("namespace", kv1, kv2)
assert.Equal(t, []any{"ns", "namespace", "key1", "value1", "key2", "value2"}, result)
}
func TestKvToArgsPickOnlyFirst(t *testing.T) {
kv1 := KV{"key1": "value1"}
kv2 := KV{"key2": "value2"}
result := kvToArgs(kv1, kv2)
assert.Equal(t, []any{"key1", "value1"}, result)
}
func TestKvToArgsNsPickOnlyFirst(t *testing.T) {
kv1 := KV{"key1": "value1"}
kv2 := KV{"key2": "value2"}
result := kvToArgsNs("namespace", kv1, kv2)
assert.Equal(t, []any{"ns", "namespace", "key1", "value1"}, result)
}
func TestKvToArgsOrder(t *testing.T) {
kv := KV{"z": "value1", "a": "value2"}
result := kvToArgs(kv)
assert.Equal(t, []any{"a", "value2", "z", "value1"}, result)
}
func TestKvToArgsNsOrder(t *testing.T) {
kv := KV{"z": "value1", "a": "value2"}
result := kvToArgsNs("namespace", kv)
assert.Equal(t, []any{"ns", "namespace", "a", "value2", "z", "value1"}, result)
}