forked from baron/baron-sso
로그인 챌린지 루프 방지 가드 추가
This commit is contained in:
33
userfront/test/login_challenge_loop_guard_test.dart
Normal file
33
userfront/test/login_challenge_loop_guard_test.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:userfront/core/services/login_challenge_loop_guard.dart';
|
||||
|
||||
void main() {
|
||||
group('login_challenge_loop_guard', () {
|
||||
test('mark 이후 cooldown 내 재시도는 차단되고 clear 후 허용된다', () {
|
||||
const challenge = 'loop-guard-test-challenge';
|
||||
loginChallengeLoopGuard.clear(challenge);
|
||||
|
||||
expect(
|
||||
loginChallengeLoopGuard.shouldAllowAutoAccept(challenge),
|
||||
isTrue,
|
||||
);
|
||||
|
||||
loginChallengeLoopGuard.markAutoAcceptAttempt(challenge);
|
||||
|
||||
expect(
|
||||
loginChallengeLoopGuard.shouldAllowAutoAccept(
|
||||
challenge,
|
||||
cooldownMs: 60000,
|
||||
),
|
||||
isFalse,
|
||||
);
|
||||
|
||||
loginChallengeLoopGuard.clear(challenge);
|
||||
|
||||
expect(
|
||||
loginChallengeLoopGuard.shouldAllowAutoAccept(challenge),
|
||||
isTrue,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user