=== RUN TestValidatePasswordStrength_TooShort --- PASS: TestValidatePasswordStrength_TooShort (0.00s) === RUN TestValidatePasswordStrength_OnlyLowercase --- PASS: TestValidatePasswordStrength_OnlyLowercase (0.00s) === RUN TestValidatePasswordStrength_LowerAndDigit --- PASS: TestValidatePasswordStrength_LowerAndDigit (0.00s) === RUN TestValidatePasswordStrength_StrictMode_MissingUpper --- PASS: TestValidatePasswordStrength_StrictMode_MissingUpper (0.00s) === RUN TestValidatePasswordStrength_StrictMode_MissingDigit --- PASS: TestValidatePasswordStrength_StrictMode_MissingDigit (0.00s) === RUN TestValidatePasswordStrength_StrictMode_Valid --- PASS: TestValidatePasswordStrength_StrictMode_Valid (0.00s) === RUN TestValidatePasswordStrength_ExactMinLen --- PASS: TestValidatePasswordStrength_ExactMinLen (0.00s) === RUN TestGetPasswordStrength_Scoring --- PASS: TestGetPasswordStrength_Scoring (0.00s) === RUN TestGetPasswordStrength_WeakPassword --- PASS: TestGetPasswordStrength_WeakPassword (0.00s) === RUN TestRegister_WeakPassword_TooShort --- PASS: TestRegister_WeakPassword_TooShort (0.00s) === RUN TestRegister_WeakPassword_SingleCharType --- PASS: TestRegister_WeakPassword_SingleCharType (0.00s) === RUN TestRegister_StrongPassword_Accepted --- PASS: TestRegister_StrongPassword_Accepted (0.06s) === RUN TestLogin_LockAfterMaxAttempts --- PASS: TestLogin_LockAfterMaxAttempts (0.26s) === RUN TestLogin_SuccessAfterCorrectPassword_ClearsAttempts --- PASS: TestLogin_SuccessAfterCorrectPassword_ClearsAttempts (0.26s) === RUN TestLogin_ByEmail --- PASS: TestLogin_ByEmail (0.13s) === RUN TestLogin_ByPhone --- PASS: TestLogin_ByPhone (0.15s) === RUN TestRefreshToken_Success --- PASS: TestRefreshToken_Success (0.14s) === RUN TestRefreshToken_InvalidToken --- PASS: TestRefreshToken_InvalidToken (0.00s) === RUN TestLogout_BlacklistsToken --- PASS: TestLogout_BlacklistsToken (0.13s) === RUN TestIsTokenBlacklisted_EmptyJTI --- PASS: TestIsTokenBlacklisted_EmptyJTI (0.00s) === RUN TestGetUserInfo_Success --- PASS: TestGetUserInfo_Success (0.06s) === RUN TestGetUserInfo_NotFound --- PASS: TestGetUserInfo_NotFound (0.00s) === RUN TestRegister_Success --- PASS: TestRegister_Success (0.06s) === RUN TestRegister_DuplicateUsername --- PASS: TestRegister_DuplicateUsername (0.06s) === RUN TestRegister_DuplicateEmail --- PASS: TestRegister_DuplicateEmail (0.07s) === RUN TestLogin_Success --- PASS: TestLogin_Success (0.13s) === RUN TestLogin_WrongPassword --- PASS: TestLogin_WrongPassword (0.14s) === RUN TestLogin_UserNotFound --- PASS: TestLogin_UserNotFound (0.00s) === RUN TestLogin_DisabledUser --- PASS: TestLogin_DisabledUser (0.06s) === RUN TestCaptchaService_Generate --- PASS: TestCaptchaService_Generate (0.00s) === RUN TestCaptchaService_Verify_WrongAnswer --- PASS: TestCaptchaService_Verify_WrongAnswer (0.00s) === RUN TestCaptchaService_Verify_EmptyInputs --- PASS: TestCaptchaService_Verify_EmptyInputs (0.00s) === RUN TestCaptchaService_ValidateCaptcha_EmptyID --- PASS: TestCaptchaService_ValidateCaptcha_EmptyID (0.00s) === RUN TestCaptchaService_Generate_UniqueIDs --- PASS: TestCaptchaService_Generate_UniqueIDs (0.01s) === RUN TestDeviceService_CreateAndList --- PASS: TestDeviceService_CreateAndList (0.01s) === RUN TestDeviceService_DeleteDevice --- PASS: TestDeviceService_DeleteDevice (0.00s) === RUN TestDeviceService_UpdateDeviceStatus --- PASS: TestDeviceService_UpdateDeviceStatus (0.00s) === RUN TestLoginLogService_RecordAndList --- PASS: TestLoginLogService_RecordAndList (0.00s) === RUN TestLoginLogService_RecordFailedLogin --- PASS: TestLoginLogService_RecordFailedLogin (0.00s) === RUN TestOperationLogService_RecordAndList --- PASS: TestOperationLogService_RecordAndList (0.00s) === RUN TestPermissionService_CreateAndList --- PASS: TestPermissionService_CreateAndList (0.00s) === RUN TestPermissionService_DuplicateCode --- PASS: TestPermissionService_DuplicateCode (0.00s) === RUN TestPermissionService_GetAndUpdate --- PASS: TestPermissionService_GetAndUpdate (0.00s) === RUN TestPermissionService_Delete --- PASS: TestPermissionService_Delete (0.00s) === RUN TestRoleService_CreateAndGet --- PASS: TestRoleService_CreateAndGet (0.00s) === RUN TestRoleService_DuplicateCode --- PASS: TestRoleService_DuplicateCode (0.00s) === RUN TestRoleService_ListRoles --- PASS: TestRoleService_ListRoles (0.00s) === RUN TestRoleService_UpdateRole --- PASS: TestRoleService_UpdateRole (0.00s) === RUN TestRoleService_DeleteRole --- PASS: TestRoleService_DeleteRole (0.00s) === RUN TestTOTPManager_GenerateSecret --- PASS: TestTOTPManager_GenerateSecret (0.01s) === RUN TestTOTPManager_Verify_ValidCode --- PASS: TestTOTPManager_Verify_ValidCode (0.01s) === RUN TestTOTPManager_Verify_InvalidCode --- PASS: TestTOTPManager_Verify_InvalidCode (0.01s) === RUN TestTOTPService_GetTOTPStatus_Disabled --- PASS: TestTOTPService_GetTOTPStatus_Disabled (0.00s) === RUN TestTOTPService_GetTOTPStatus_Enabled --- PASS: TestTOTPService_GetTOTPStatus_Enabled (0.00s) === RUN TestTOTPManager_RecoveryCodesFormat --- PASS: TestTOTPManager_RecoveryCodesFormat (0.01s) === RUN TestValidateRecoveryCode --- PASS: TestValidateRecoveryCode (0.00s) === RUN TestUserRepo_GetUser_NotFound --- PASS: TestUserRepo_GetUser_NotFound (0.00s) === RUN TestUserRepo_EmailConflictDetection --- PASS: TestUserRepo_EmailConflictDetection (0.00s) === RUN TestUserRepo_DeleteUser --- PASS: TestUserRepo_DeleteUser (0.00s) === RUN TestUserRepo_UpdateStatus --- PASS: TestUserRepo_UpdateStatus (0.00s) === RUN TestUserRepo_List_Pagination --- PASS: TestUserRepo_List_Pagination (0.00s) === RUN TestUserRepo_ListByStatus --- PASS: TestUserRepo_ListByStatus (0.00s) === RUN TestUserService_GetUser_NotFound --- PASS: TestUserService_GetUser_NotFound (0.00s) === RUN TestUserService_UpdateUser_Nickname --- PASS: TestUserService_UpdateUser_Nickname (0.07s) === RUN TestUserService_UpdateUser_EmailConflict --- PASS: TestUserService_UpdateUser_EmailConflict (0.07s) === RUN TestUserService_UpdateUser_Birthday --- PASS: TestUserService_UpdateUser_Birthday (0.07s) === RUN TestUserService_UpdatePassword_Success --- PASS: TestUserService_UpdatePassword_Success (0.34s) === RUN TestUserService_UpdatePassword_WrongOld --- PASS: TestUserService_UpdatePassword_WrongOld (0.13s) === RUN TestUserService_UpdatePassword_SameAsOld --- PASS: TestUserService_UpdatePassword_SameAsOld (0.21s) === RUN TestUserService_UpdatePassword_WeakNew --- PASS: TestUserService_UpdatePassword_WeakNew (0.14s) === RUN TestUserService_ListUsers_All user_svc_integration_test.go:249: 期望 total >= 5,实际 1 user_svc_integration_test.go:252: 期望返回 >= 5 条,实际 1 条 --- FAIL: TestUserService_ListUsers_All (0.07s) === RUN TestUserService_ListUsers_Pagination user_svc_integration_test.go:280: 期望 total >= 7,实际 1 user_svc_integration_test.go:283: 第一页期望 3 条,实际 1 user_svc_integration_test.go:292: 第三页期望 1 条,实际 0 --- FAIL: TestUserService_ListUsers_Pagination (0.07s) === RUN TestUserService_ListUsers_FilterByStatus user_svc_integration_test.go:316: 期望激活用户数=2,实际 1 --- FAIL: TestUserService_ListUsers_FilterByStatus (0.07s) === RUN TestUserService_UpdateUserStatus --- PASS: TestUserService_UpdateUserStatus (0.07s) === RUN TestWebhookService_CreateAndList --- PASS: TestWebhookService_CreateAndList (0.00s) === RUN TestWebhookService_Update --- PASS: TestWebhookService_Update (0.00s) === RUN TestWebhookService_Delete --- PASS: TestWebhookService_Delete (0.00s) === RUN TestWebhookService_Publish_DeliveryRecord --- PASS: TestWebhookService_Publish_DeliveryRecord (0.00s) === RUN TestWebhookSubscribesTo --- PASS: TestWebhookSubscribesTo (0.00s) FAIL FAIL github.com/user-management-system/internal/service 3.310s FAIL