From d77199bdbc4ee16d632332895f9f141c4a67c590 Mon Sep 17 00:00:00 2001 From: Lectom Date: Thu, 14 May 2026 10:15:50 +0900 Subject: [PATCH] Fix code-check locale and headless test failures --- adminfront/src/locales/en.toml | 2 +- adminfront/src/locales/ko.toml | 12 ++++++------ .../internal/handler/auth_handler_login_test.go | 12 ++++++++++++ locales/en.toml | 6 ++---- locales/ko.toml | 16 +++++++--------- locales/template.toml | 4 +--- userfront/assets/translations/en.toml | 2 +- userfront/assets/translations/ko.toml | 2 +- userfront/assets/translations/template.toml | 1 + 9 files changed, 32 insertions(+), 25 deletions(-) diff --git a/adminfront/src/locales/en.toml b/adminfront/src/locales/en.toml index 21b604e3..e762bb3d 100644 --- a/adminfront/src/locales/en.toml +++ b/adminfront/src/locales/en.toml @@ -860,7 +860,7 @@ subtitle = "Manage your organization" [ui.admin.integrity] kicker = "System" -loading = "Loading" +loading = "Loading data integrity report..." title = "Data Integrity Check" [ui.admin.integrity.forbidden] diff --git a/adminfront/src/locales/ko.toml b/adminfront/src/locales/ko.toml index 068b13c5..8a1bc6ad 100644 --- a/adminfront/src/locales/ko.toml +++ b/adminfront/src/locales/ko.toml @@ -861,7 +861,7 @@ plane = "ADMIN PLANE" subtitle = "Manage your organization" [ui.admin.integrity] -kicker = "System" +kicker = "시스템" loading = "불러오는 중" title = "데이터 정합성 검증" @@ -873,7 +873,7 @@ delete = "선택 삭제" title = "유령 로그인 ID 정리" [ui.admin.integrity.read_model] -title = "Read model integrity" +title = "읽기 모델 정합성" [ui.admin.integrity.reason] deleted_tenant = "삭제된 테넌트" @@ -897,13 +897,13 @@ passed = "정상" total_checks = "검사 항목" [ui.admin.integrity.table] -field = "Field" -login_id = "Login ID" +field = "필드" +login_id = "로그인 ID" reason = "사유" select = "선택" select_item = "{{loginId}} 선택" -tenant = "Tenant" -user = "User" +tenant = "테넌트" +user = "사용자" [ui.admin.nav] org_chart = "조직도" diff --git a/backend/internal/handler/auth_handler_login_test.go b/backend/internal/handler/auth_handler_login_test.go index 8b1f141c..defd071d 100644 --- a/backend/internal/handler/auth_handler_login_test.go +++ b/backend/internal/handler/auth_handler_login_test.go @@ -359,6 +359,8 @@ func mustHeadlessClientAssertionWithAlgorithm(t *testing.T, privateKey any, alg } func runHeadlessPasswordLoginWithAssertion(t *testing.T, jwks map[string]any, clientAssertion string) *http.Response { + t.Helper() + t.Setenv("BACKEND_PUBLIC_URL", "") return runHeadlessPasswordLoginWithAssertionRequest(t, jwks, clientAssertion, "http://example.com/api/v1/auth/headless/password/login", nil) } @@ -454,6 +456,8 @@ func runHeadlessPasswordLoginWithAssertionAndLogger( clientAssertion string, logger *slog.Logger, ) *http.Response { + t.Helper() + t.Setenv("BACKEND_PUBLIC_URL", "") return runHeadlessPasswordLoginWithAssertionAndLoggerRequest( t, jwks, @@ -799,6 +803,8 @@ func TestPasswordLogin_UserFront_AuditIncludesDefaultClientMetadata(t *testing.T } func TestHeadlessPasswordLogin_HeadlessLoginClientSuccess(t *testing.T) { + t.Setenv("BACKEND_PUBLIC_URL", "") + if !testsupport.PortBindingAvailable() { t.Skip("skipping headless login tests because this environment cannot bind local TCP listeners") } @@ -1019,6 +1025,8 @@ func TestHeadlessPasswordLogin_AuditIncludesClientMetadata(t *testing.T) { } func TestHeadlessPasswordLogin_IgnoresInlineHeadlessJWKSWhenJWKSURIIsConfigured(t *testing.T) { + t.Setenv("BACKEND_PUBLIC_URL", "") + if !testsupport.PortBindingAvailable() { t.Skip("skipping headless login tests because this environment cannot bind local TCP listeners") } @@ -1106,6 +1114,8 @@ func TestHeadlessPasswordLogin_IgnoresInlineHeadlessJWKSWhenJWKSURIIsConfigured( } func TestHeadlessPasswordLogin_RefreshesJWKSWhenSignatureFailsForCachedKid(t *testing.T) { + t.Setenv("BACKEND_PUBLIC_URL", "") + if !testsupport.PortBindingAvailable() { t.Skip("skipping headless login tests because this environment cannot bind local TCP listeners") } @@ -1418,6 +1428,8 @@ func TestHeadlessPasswordLogin_AudienceMismatchReturnsDetailedCode(t *testing.T) } func TestHeadlessPasswordLogin_AcceptsForwardedHTTPSAudience(t *testing.T) { + t.Setenv("BACKEND_PUBLIC_URL", "") + privateKey, jwks := mustHeadlessRSAJWK(t) clientAssertion := mustHeadlessClientAssertion( t, diff --git a/locales/en.toml b/locales/en.toml index f2439997..7c0724da 100644 --- a/locales/en.toml +++ b/locales/en.toml @@ -2514,6 +2514,7 @@ department = "Department" email = "Email" name = "Name" tenant = "Tenant" +tenant_slug = "Tenant slug" [ui.userfront.profile.password] change = "Change" @@ -2630,7 +2631,7 @@ load_error = "Failed to load the integrity report." [ui.admin.integrity] kicker = "System" -loading = "Loading" +loading = "Loading data integrity report..." title = "Data Integrity Check" [ui.admin.integrity.forbidden] @@ -2699,6 +2700,3 @@ status_placeholder = "Select status" [ui.dev.profile.org] tenant_slug = "Tenant slug" - -[ui.userfront.profile.field] -tenant_slug = "Tenant slug" diff --git a/locales/ko.toml b/locales/ko.toml index 0571d494..377ce3dc 100644 --- a/locales/ko.toml +++ b/locales/ko.toml @@ -2938,6 +2938,7 @@ department = "소속" email = "이메일" name = "이름" tenant = "소속 테넌트" +tenant_slug = "테넌트 slug" [ui.userfront.profile.password] change = "비밀번호 변경" @@ -3052,7 +3053,7 @@ success = "검사가 완료되었습니다." load_error = "정합성 리포트를 불러오지 못했습니다." [ui.admin.integrity] -kicker = "System" +kicker = "시스템" loading = "불러오는 중" title = "데이터 정합성 검증" @@ -3064,7 +3065,7 @@ delete = "선택 삭제" title = "유령 로그인 ID 정리" [ui.admin.integrity.read_model] -title = "Read model integrity" +title = "읽기 모델 정합성" [ui.admin.integrity.reason] deleted_tenant = "삭제된 테넌트" @@ -3088,13 +3089,13 @@ passed = "정상" total_checks = "검사 항목" [ui.admin.integrity.table] -field = "Field" -login_id = "Login ID" +field = "필드" +login_id = "로그인 ID" reason = "사유" select = "선택" select_item = "{{loginId}} 선택" -tenant = "Tenant" -user = "User" +tenant = "테넌트" +user = "사용자" [msg.admin.api_keys.list] edit_scopes_desc = "API 키에 부여할 권한 범위를 수정합니다." @@ -3122,6 +3123,3 @@ status_placeholder = "상태 선택" [ui.dev.profile.org] tenant_slug = "테넌트 slug" - -[ui.userfront.profile.field] -tenant_slug = "테넌트 slug" diff --git a/locales/template.toml b/locales/template.toml index 09c7dc04..90a2039f 100644 --- a/locales/template.toml +++ b/locales/template.toml @@ -2817,6 +2817,7 @@ department = "" email = "" name = "" tenant = "" +tenant_slug = "" [ui.userfront.profile.password] change = "" @@ -3001,6 +3002,3 @@ status_placeholder = "" [ui.dev.profile.org] tenant_slug = "" - -[ui.userfront.profile.field] -tenant_slug = "" diff --git a/userfront/assets/translations/en.toml b/userfront/assets/translations/en.toml index af3ad5f9..0e5fed73 100644 --- a/userfront/assets/translations/en.toml +++ b/userfront/assets/translations/en.toml @@ -599,7 +599,7 @@ department = "Department" email = "Email" name = "Name" tenant = "Tenant" -tenant_slug = "Tenant Slug" +tenant_slug = "Tenant slug" [ui.userfront.profile.password] change = "Change" diff --git a/userfront/assets/translations/ko.toml b/userfront/assets/translations/ko.toml index d953140d..e423a2a5 100644 --- a/userfront/assets/translations/ko.toml +++ b/userfront/assets/translations/ko.toml @@ -821,7 +821,7 @@ department = "소속" email = "이메일" name = "이름" tenant = "소속 테넌트" -tenant_slug = "테넌트 Slug" +tenant_slug = "테넌트 slug" [ui.userfront.profile.password] change = "비밀번호 변경" diff --git a/userfront/assets/translations/template.toml b/userfront/assets/translations/template.toml index 497bb8c6..28b9cff8 100644 --- a/userfront/assets/translations/template.toml +++ b/userfront/assets/translations/template.toml @@ -793,6 +793,7 @@ department = "" email = "" name = "" tenant = "" +tenant_slug = "" [ui.userfront.profile.password] change = ""