feat: support time_zone for user registration context

This commit is contained in:
Ilia Denisov
2026-04-09 09:00:06 +02:00
parent e6b73a8f55
commit 7043af4cb3
40 changed files with 3452 additions and 164 deletions
+25 -25
View File
@@ -426,11 +426,11 @@ func (a *hardeningApp) CreateSessionThroughPublicFlow(t *testing.T) string {
t.Helper()
challengeID, code := a.SendChallenge(t, gatewayCompatibilityEmail)
response := gatewayCompatibilityPostJSONValue(t, a.publicBaseURL+"/api/v1/public/auth/confirm-email-code", map[string]string{
"challenge_id": challengeID,
"code": code,
"client_public_key": gatewayCompatibilityClientPublicKey,
})
response := gatewayCompatibilityPostJSONValue(
t,
a.publicBaseURL+"/api/v1/public/auth/confirm-email-code",
gatewayCompatibilityConfirmRequest(challengeID, code, gatewayCompatibilityClientPublicKey),
)
assert.Equal(t, http.StatusOK, response.StatusCode)
var body struct {
@@ -557,22 +557,22 @@ func TestProductionHardeningConfirmRetryRepairsProjectionAfterProcessRestart(t *
})
challengeID, code := failingApp.SendChallenge(t, gatewayCompatibilityEmail)
firstConfirm := gatewayCompatibilityPostJSONValue(t, failingApp.publicBaseURL+"/api/v1/public/auth/confirm-email-code", map[string]string{
"challenge_id": challengeID,
"code": code,
"client_public_key": gatewayCompatibilityClientPublicKey,
})
firstConfirm := gatewayCompatibilityPostJSONValue(
t,
failingApp.publicBaseURL+"/api/v1/public/auth/confirm-email-code",
gatewayCompatibilityConfirmRequest(challengeID, code, gatewayCompatibilityClientPublicKey),
)
assert.Equal(t, http.StatusServiceUnavailable, firstConfirm.StatusCode)
assert.False(t, env.GatewayCacheExists(context.Background(), "device-session-1"))
failingApp.Close()
healthyApp := newHardeningApp(t, env, hardeningAppOptions{})
secondConfirm := gatewayCompatibilityPostJSONValue(t, healthyApp.publicBaseURL+"/api/v1/public/auth/confirm-email-code", map[string]string{
"challenge_id": challengeID,
"code": code,
"client_public_key": gatewayCompatibilityClientPublicKey,
})
secondConfirm := gatewayCompatibilityPostJSONValue(
t,
healthyApp.publicBaseURL+"/api/v1/public/auth/confirm-email-code",
gatewayCompatibilityConfirmRequest(challengeID, code, gatewayCompatibilityClientPublicKey),
)
assert.Equal(t, http.StatusOK, secondConfirm.StatusCode)
var body struct {
@@ -743,21 +743,21 @@ func TestProductionHardeningExpiredChallengeReturnsExpiredDuringGraceAndNotFound
require.NoError(t, record.Validate())
require.NoError(t, app.challengeStore.Create(context.Background(), record))
firstConfirm := gatewayCompatibilityPostJSONValue(t, app.publicBaseURL+"/api/v1/public/auth/confirm-email-code", map[string]string{
"challenge_id": "challenge-expired",
"code": gatewayCompatibilityCode,
"client_public_key": gatewayCompatibilityClientPublicKey,
})
firstConfirm := gatewayCompatibilityPostJSONValue(
t,
app.publicBaseURL+"/api/v1/public/auth/confirm-email-code",
gatewayCompatibilityConfirmRequest("challenge-expired", gatewayCompatibilityCode, gatewayCompatibilityClientPublicKey),
)
assert.Equal(t, http.StatusGone, firstConfirm.StatusCode)
assert.JSONEq(t, `{"error":{"code":"challenge_expired","message":"challenge expired"}}`, firstConfirm.Body)
env.FastForward(t, 5*time.Minute+time.Second)
secondConfirm := gatewayCompatibilityPostJSONValue(t, app.publicBaseURL+"/api/v1/public/auth/confirm-email-code", map[string]string{
"challenge_id": "challenge-expired",
"code": gatewayCompatibilityCode,
"client_public_key": gatewayCompatibilityClientPublicKey,
})
secondConfirm := gatewayCompatibilityPostJSONValue(
t,
app.publicBaseURL+"/api/v1/public/auth/confirm-email-code",
gatewayCompatibilityConfirmRequest("challenge-expired", gatewayCompatibilityCode, gatewayCompatibilityClientPublicKey),
)
assert.Equal(t, http.StatusNotFound, secondConfirm.StatusCode)
assert.JSONEq(t, `{"error":{"code":"challenge_not_found","message":"challenge not found"}}`, secondConfirm.Body)
}