forked from baron/baron-sso
userfront&backend test coverage 추가
This commit is contained in:
@@ -54,6 +54,37 @@ void main() {
|
||||
expect(resolved.rawHrefHasLoginChallenge, isTrue);
|
||||
});
|
||||
|
||||
test('raw query 파싱 실패 시 수동 파싱으로 복구하고 diagnostics를 남긴다', () {
|
||||
final resolved = resolveLoginChallenge(
|
||||
widgetLoginChallenge: ' ',
|
||||
uri: Uri.parse('/ko/login'),
|
||||
rawSearch: '?x=%E0%A4%A&login_challenge=manual%20value',
|
||||
rawHref: '',
|
||||
);
|
||||
|
||||
expect(resolved.value, 'manual value');
|
||||
expect(resolved.source, LoginChallengeSource.rawSearch);
|
||||
expect(resolved.toDiagnostics(), {
|
||||
'resolved_value_len': 12,
|
||||
'resolved_source': 'rawSearch',
|
||||
'uri_has_login_challenge': false,
|
||||
'raw_search_has_login_challenge': true,
|
||||
'raw_href_has_login_challenge': false,
|
||||
});
|
||||
});
|
||||
|
||||
test('raw href가 일반 URI로 파싱되지 않아도 query 조각에서 복구한다', () {
|
||||
final resolved = resolveLoginChallenge(
|
||||
widgetLoginChallenge: null,
|
||||
uri: Uri.parse('/ko/login'),
|
||||
rawSearch: '?login_challenge',
|
||||
rawHref: 'not a url ?login_challenge=href%20fallback#fragment',
|
||||
);
|
||||
|
||||
expect(resolved.value, 'href fallback');
|
||||
expect(resolved.source, LoginChallengeSource.rawHref);
|
||||
});
|
||||
|
||||
test('값이 전부 없으면 missing', () {
|
||||
final resolved = resolveLoginChallenge(
|
||||
widgetLoginChallenge: null,
|
||||
|
||||
Reference in New Issue
Block a user