1
0
forked from baron/baron-sso

userfront&backend test coverage 추가

This commit is contained in:
2026-05-29 18:04:04 +09:00
parent 23cd316c23
commit 4c56c28481
26 changed files with 2405 additions and 260 deletions

View File

@@ -2,13 +2,15 @@ package validator
import (
"baron-sso-backend/internal/domain"
"errors"
"net/http"
"testing"
)
// MockProvider는 IdentityProvider 인터페이스를 구현하는 테스트용 구조체입니다.
type MockProvider struct {
Supported []string
Supported []string
MetadataErr error
}
func (m *MockProvider) Name() string {
@@ -16,6 +18,9 @@ func (m *MockProvider) Name() string {
}
func (m *MockProvider) GetMetadata() (*domain.IDPMetadata, error) {
if m.MetadataErr != nil {
return nil, m.MetadataErr
}
return &domain.IDPMetadata{
SupportedFields: m.Supported,
}, nil
@@ -118,3 +123,23 @@ func TestValidateIDPCompatibility(t *testing.T) {
})
}
}
func TestValidateIDPCompatibilityMetadataError(t *testing.T) {
mockIDP := &MockProvider{MetadataErr: errors.New("metadata unavailable")}
err := ValidateIDPCompatibility(domain.BrokerUser{}, mockIDP)
if err == nil {
t.Fatalf("expected metadata error")
}
if got := err.Error(); got != "failed to fetch metadata from IDP MockIDP: metadata unavailable" {
t.Fatalf("unexpected error: %s", got)
}
}
func TestValidateIDPCompatibilityPointerModel(t *testing.T) {
mockIDP := &MockProvider{Supported: []string{"id", "email", "grade", "department"}}
if err := ValidateIDPCompatibility(&domain.BrokerUser{}, mockIDP); err != nil {
t.Fatalf("unexpected error: %v", err)
}
}