35 lines
978 B
Go
35 lines
978 B
Go
package deviceauth
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"errors"
|
||
|
|
"os"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"data-terminal-cloud/internal/database"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestRepositoryFindsRegisteredDeviceWithoutCredentialMaterial(t *testing.T) {
|
||
|
|
databaseURL := os.Getenv("TEST_DATABASE_URL")
|
||
|
|
if databaseURL == "" {
|
||
|
|
t.Skip("TEST_DATABASE_URL is not set")
|
||
|
|
}
|
||
|
|
ctx := context.Background()
|
||
|
|
pool, err := database.Open(ctx, databaseURL, "device-auth-integration-test")
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
defer pool.Close()
|
||
|
|
repository := NewRepository(pool)
|
||
|
|
identity, err := repository.FindByPublicID(ctx, "10000000-0000-0000-0000-000000000511")
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
if identity.Status != "registered" || identity.TenantID != "10000000-0000-0000-0000-000000000001" || identity.CredentialRef == "" {
|
||
|
|
t.Fatalf("identity = %#v", identity)
|
||
|
|
}
|
||
|
|
if _, err := repository.FindByPublicID(ctx, "30000000-0000-0000-0000-000000000511"); !errors.Is(err, ErrDeviceNotFound) {
|
||
|
|
t.Fatalf("missing device error = %v", err)
|
||
|
|
}
|
||
|
|
}
|