50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
|
|
package database_test
|
||
|
|
|
||
|
|
import (
|
||
|
|
"queryorchestration/internal/database"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"github.com/google/uuid"
|
||
|
|
"github.com/jackc/pgx/v5/pgtype"
|
||
|
|
"github.com/stretchr/testify/assert"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestMustToDBUUID(t *testing.T) {
|
||
|
|
id := uuid.New()
|
||
|
|
|
||
|
|
dbID := database.MustToDBUUID(id)
|
||
|
|
|
||
|
|
assert.Equal(t, true, dbID.Valid)
|
||
|
|
assert.Equal(t, id.String(), uuid.UUID(dbID.Bytes).String())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestMustToDBUUIDArray(t *testing.T) {
|
||
|
|
ids := []uuid.UUID{uuid.New(), uuid.New()}
|
||
|
|
|
||
|
|
dbIDs := database.MustToDBUUIDArray(ids)
|
||
|
|
|
||
|
|
assert.Equal(t, len(ids), len(dbIDs))
|
||
|
|
for index, id := range dbIDs {
|
||
|
|
assert.Equal(t, database.MustToDBUUID(ids[index]), id)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestMustToUUID(t *testing.T) {
|
||
|
|
dbID := database.MustToDBUUID(uuid.New())
|
||
|
|
|
||
|
|
id := database.MustToUUID(dbID)
|
||
|
|
|
||
|
|
assert.Equal(t, id.String(), uuid.UUID(dbID.Bytes).String())
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestMustToUUIDArray(t *testing.T) {
|
||
|
|
dbIDs := []pgtype.UUID{database.MustToDBUUID(uuid.New()), database.MustToDBUUID(uuid.New())}
|
||
|
|
|
||
|
|
ids := database.MustToUUIDArray(dbIDs)
|
||
|
|
|
||
|
|
assert.Equal(t, len(ids), len(dbIDs))
|
||
|
|
for index, id := range dbIDs {
|
||
|
|
assert.Equal(t, database.MustToDBUUID(ids[index]), id)
|
||
|
|
}
|
||
|
|
}
|