fix: guide EKAP human verification

This commit is contained in:
2026-09-15 17:41:51 +03:00
parent 242e7d8c2e
commit e5e1b12185
10 changed files with 372 additions and 56 deletions
+24
View File
@@ -0,0 +1,24 @@
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { sourceFailure } from '../server/source-error.mjs';
test('EKAP human verification is a manual non-retryable gate', () => {
const result = sourceFailure(new Error('EKAP 428: {"code":"HUMAN_VERIFICATION_REQUIRED"}'));
assert.equal(result.status, 428);
assert.equal(result.body.code, 'HUMAN_VERIFICATION_REQUIRED');
assert.equal(result.body.retryable, false);
assert.equal(result.body.manualAction, true);
assert.equal(result.body.manualUrl, 'https://ekap.kik.gov.tr/EKAP/');
assert.match(result.body.error, /kendi tarayıcınızda açıp doğrulamayı tamamlayın/);
});
test('ordinary upstream failures stay retryable', () => {
const result = sourceFailure(new Error('upstream timeout'));
assert.equal(result.status, 502);
assert.deepEqual(result.body, {
success: false,
error: 'upstream timeout',
code: 'SOURCE_UNAVAILABLE',
retryable: true,
});
});