Files
query-orchestration/internal/database/parseuuid_test.go
T
Michael McGuinness 1587da9d11 Merged in bugfix/tests (pull request #107)
Fix Fullsuite

* save

* foundthefix..

* codeandrequire
2025-03-19 11:54:14 +00:00

64 lines
1.4 KiB
Go

package database_test
import (
"testing"
"queryorchestration/internal/database"
"github.com/google/uuid"
"github.com/jackc/pgx/v5/pgtype"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestToDBUUID(t *testing.T) {
id := uuid.New()
dbID, err := database.ToDBUUID(id)
require.NoError(t, err)
assert.True(t, dbID.Valid)
assert.Equal(t, id.String(), uuid.UUID(dbID.Bytes).String())
}
func TestToDBUUIDNil(t *testing.T) {
id := uuid.Nil
dbID, err := database.ToDBUUID(id)
require.NoError(t, err)
assert.False(t, dbID.Valid)
assert.Equal(t, id.String(), uuid.UUID(dbID.Bytes).String())
}
func TestToDBUUIDArray(t *testing.T) {
ids := []uuid.UUID{uuid.Nil, uuid.New()}
dbIDs, err := database.ToDBUUIDArray(ids)
require.NoError(t, err)
assert.Len(t, dbIDs, 1)
assert.ElementsMatch(t, []pgtype.UUID{database.MustToDBUUID(ids[1])}, dbIDs)
}
func TestToUUID(t *testing.T) {
dbID, err := database.ToDBUUID(uuid.New())
require.NoError(t, err)
id, err := database.ToUUID(dbID)
require.NoError(t, err)
assert.Equal(t, id.String(), uuid.UUID(dbID.Bytes).String())
}
func TestToUUIDArray(t *testing.T) {
ogIDs := []uuid.UUID{uuid.Nil, uuid.New()}
dbIDs := database.MustToDBUUIDArray(ogIDs)
ids, err := database.ToUUIDArray(dbIDs)
require.NoError(t, err)
assert.Len(t, ids, 1)
assert.ElementsMatch(t, []uuid.UUID{ogIDs[1]}, ids)
}