forked from baron/baron-sso
41 lines
1.1 KiB
Dart
41 lines
1.1 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:userfront/features/auth/domain/cookie_session_policy.dart';
|
|
|
|
void main() {
|
|
group('cookie_session_policy', () {
|
|
test('토큰이 없고 login_challenge도 없으면 cookie 승격 허용', () {
|
|
expect(
|
|
shouldPromoteCookieSession(currentToken: null, loginChallenge: null),
|
|
isTrue,
|
|
);
|
|
});
|
|
|
|
test('토큰이 이미 있으면 일반 로그인에서 cookie 승격 차단', () {
|
|
expect(
|
|
shouldPromoteCookieSession(
|
|
currentToken: 'existing-token',
|
|
loginChallenge: null,
|
|
),
|
|
isFalse,
|
|
);
|
|
});
|
|
|
|
test('OIDC login_challenge가 있으면 token 존재 시에도 cookie 승격 허용', () {
|
|
expect(
|
|
shouldPromoteCookieSession(
|
|
currentToken: 'existing-token',
|
|
loginChallenge: 'lc_123',
|
|
),
|
|
isTrue,
|
|
);
|
|
});
|
|
|
|
test('공백 토큰은 유효 토큰으로 간주하지 않음', () {
|
|
expect(
|
|
shouldPromoteCookieSession(currentToken: ' ', loginChallenge: null),
|
|
isTrue,
|
|
);
|
|
});
|
|
});
|
|
}
|