up
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { test } from 'node:test'
|
||||
import { networkFailure } from './request-error.js'
|
||||
import { networkFailure, requestErrorContext, ApiError } from './request-error.js'
|
||||
|
||||
test('безопасная причина соединения извлекается из вложенных Node-ошибок', () => {
|
||||
for (const [code, message] of [
|
||||
@@ -19,3 +19,17 @@ test('безопасная причина соединения извлекае
|
||||
assert.ok(!result.message.includes('SECRET'))
|
||||
}
|
||||
})
|
||||
|
||||
test('контекст HTTP сохраняет тип ошибки, статус и исключает query с секретами', () => {
|
||||
const error = new ApiError(403)
|
||||
const result = requestErrorContext(error, 'GetGame', 'GET', '/api/games/7?access_token=SECRET')
|
||||
assert.equal(result, error)
|
||||
assert.equal(error.status, 403)
|
||||
assert.match(result.message, /HTTP 403/)
|
||||
assert.match(result.message, /Описание игры · GET \/api\/games\/7: Нет доступа/)
|
||||
assert.ok(!result.message.includes('SECRET'))
|
||||
assert.equal(
|
||||
requestErrorContext(result, 'GetGame', 'GET', '/api/games/7').message,
|
||||
result.message,
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user