Files
query-orchestration/internal/server/validation/validation_test.go
T
Michael McGuinness 7001ca854c Merged in feature/docinitialisation (pull request #41)
Queuing Changes and Cfg Testing

* staarting

* staarting

* startedpush

* note

* save

* mocking

* removederrs

* fixtests

* cleanuperrs

* newenvsetup

* preppingtests

* queue

* mmovetocfgpassunittests

* sortoutconfig

* passinginteg

* deps

* fixtests
2025-02-03 17:30:50 +00:00

61 lines
1.7 KiB
Go

package validation_test
import (
"queryorchestration/internal/server/validation"
"testing"
"github.com/google/uuid"
"github.com/stretchr/testify/assert"
)
func TestGetUpdatedValue(t *testing.T) {
assert.Equal(t, 1, validation.GetUpdatedValue(1, nil))
val := 3
assert.Equal(t, 3, validation.GetUpdatedValue(1, &val))
assert.Equal(t, "hello", validation.GetUpdatedValue("hello", nil))
valstr := "byebye"
assert.Equal(t, "byebye", validation.GetUpdatedValue("hello", &valstr))
}
func TestDeduplicateArray(t *testing.T) {
assert.ElementsMatch(t, []int{}, validation.DeduplicateArray([]int{}))
assert.ElementsMatch(t, []int{1, 2, 3}, validation.DeduplicateArray([]int{1, 2, 3}))
assert.ElementsMatch(t, []int{1, 2, 3}, validation.DeduplicateArray([]int{1, 2, 1, 3}))
assert.ElementsMatch(t, []int{1}, validation.DeduplicateArray([]int{1, 1, 1, 1}))
id := uuid.New()
assert.ElementsMatch(t, []uuid.UUID{id}, validation.DeduplicateArray([]uuid.UUID{id, id, id}))
}
func TestNormalizeInClosedInterval(t *testing.T) {
err := validation.NormalizeInClosedInterval(nil, 1, 1, 1)
assert.NoError(t, err)
var param *int32
err = validation.NormalizeInClosedInterval(&param, 1, 1, 1)
assert.NoError(t, err)
assert.Nil(t, param)
updated := int32(1)
param = &updated
err = validation.NormalizeInClosedInterval(&param, 1, 1, 1)
assert.NoError(t, err)
assert.Equal(t, int32(1), updated)
updated = -1
param = &updated
err = validation.NormalizeInClosedInterval(&param, 1, 1, 1)
assert.Error(t, err)
updated = 2
param = &updated
err = validation.NormalizeInClosedInterval(&param, 1, 1, 1)
assert.Error(t, err)
updated = 2
param = &updated
err = validation.NormalizeInClosedInterval(&param, 1, 1, 3)
assert.NoError(t, err)
assert.Equal(t, int32(2), updated)
}