|
6 | 6 |
|
7 | 7 | const test = require('tape') |
8 | 8 | const { clear2, getConfig2, readConfigJson, readRootConfigFile, getMainModulePath } = require('../lib/config') |
9 | | -const { HttpStatusCodeErrorsBuilder } = require('../lib/instrumentation/http/http-status-code-errors-builder') |
| 9 | +const { HttpStatusCodeErrorsBuilder, getHttpStatusCodeErrors, clearHttpStatusCodeErrors } = require('../lib/instrumentation/http/http-status-code-errors-builder') |
10 | 10 | const log = require('../lib/utils/log/logger') |
11 | 11 |
|
12 | 12 | test('Agent ID required field', function (t) { |
@@ -293,6 +293,47 @@ test('HTTP Status Code Errors', (t) => { |
293 | 293 | t.end() |
294 | 294 | }) |
295 | 295 |
|
| 296 | +test('HTTP Status Code Errors with config changes', (t) => { |
| 297 | + clear2() |
| 298 | + clearHttpStatusCodeErrors() |
| 299 | + |
| 300 | + let httpErrors = getHttpStatusCodeErrors() |
| 301 | + t.equal(httpErrors.isErrorCode(500), true, 'default: 500 is error code') |
| 302 | + t.equal(httpErrors.isErrorCode(401), true, 'default: 401 is error code') |
| 303 | + t.equal(httpErrors.isErrorCode(403), true, 'default: 403 is error code') |
| 304 | + t.equal(httpErrors.isErrorCode(404), false, 'default: 404 is not error code') |
| 305 | + |
| 306 | + clear2() |
| 307 | + clearHttpStatusCodeErrors() |
| 308 | + process.env['PINPOINT_HTTP_STATUS_CODE_ERRORS'] = '404,500' |
| 309 | + |
| 310 | + httpErrors = getHttpStatusCodeErrors() |
| 311 | + t.equal(httpErrors.isErrorCode(500), true, 'env config: 500 is error code') |
| 312 | + t.equal(httpErrors.isErrorCode(404), true, 'env config: 404 is error code') |
| 313 | + t.equal(httpErrors.isErrorCode(401), false, 'env config: 401 is not error code') |
| 314 | + t.equal(httpErrors.isErrorCode(403), false, 'env config: 403 is not error code') |
| 315 | + |
| 316 | + clear2() |
| 317 | + clearHttpStatusCodeErrors() |
| 318 | + delete process.env.PINPOINT_HTTP_STATUS_CODE_ERRORS |
| 319 | + |
| 320 | + const customConfig = { 'http-status-code': { 'errors': '400,401,403,404' } } |
| 321 | + const conf = getConfig2(customConfig) |
| 322 | + t.equal(conf.httpStatusCodeErrors, '400,401,403,404', 'json config: httpStatusCodeErrors value') |
| 323 | + |
| 324 | + httpErrors = getHttpStatusCodeErrors() |
| 325 | + t.equal(httpErrors.isErrorCode(400), true, 'json config: 400 is error code') |
| 326 | + t.equal(httpErrors.isErrorCode(401), true, 'json config: 401 is error code') |
| 327 | + t.equal(httpErrors.isErrorCode(403), true, 'json config: 403 is error code') |
| 328 | + t.equal(httpErrors.isErrorCode(404), true, 'json config: 404 is error code') |
| 329 | + t.equal(httpErrors.isErrorCode(500), false, 'json config: 500 is not error code') |
| 330 | + |
| 331 | + delete process.env.PINPOINT_HTTP_STATUS_CODE_ERRORS |
| 332 | + clear2() |
| 333 | + clearHttpStatusCodeErrors() |
| 334 | + t.end() |
| 335 | +}) |
| 336 | + |
296 | 337 | test('Logger levels', (t) => { |
297 | 338 | clear2() |
298 | 339 | const conf = require('../lib/config').getConfig2() |
|
0 commit comments