@eui/mcp 1.0.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -743
- package/dist/config/__tests__/schema.property.test.d.ts +2 -0
- package/dist/config/__tests__/schema.property.test.d.ts.map +1 -0
- package/dist/config/__tests__/schema.property.test.js +203 -0
- package/dist/config/__tests__/schema.property.test.js.map +1 -0
- package/dist/config/__tests__/schema.test.d.ts +2 -0
- package/dist/config/__tests__/schema.test.d.ts.map +1 -0
- package/dist/config/__tests__/schema.test.js +454 -0
- package/dist/config/__tests__/schema.test.js.map +1 -0
- package/dist/config/loader.js +4 -4
- package/dist/config/loader.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/loader/__tests__/cache-manager.property.test.d.ts +2 -0
- package/dist/loader/__tests__/cache-manager.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/cache-manager.property.test.js +245 -0
- package/dist/loader/__tests__/cache-manager.property.test.js.map +1 -0
- package/dist/loader/__tests__/cache-manager.test.d.ts +2 -0
- package/dist/loader/__tests__/cache-manager.test.d.ts.map +1 -0
- package/dist/loader/__tests__/cache-manager.test.js +256 -0
- package/dist/loader/__tests__/cache-manager.test.js.map +1 -0
- package/dist/loader/__tests__/documentation-loader.integration.test.d.ts +2 -0
- package/dist/loader/__tests__/documentation-loader.integration.test.d.ts.map +1 -0
- package/dist/loader/__tests__/documentation-loader.integration.test.js +498 -0
- package/dist/loader/__tests__/documentation-loader.integration.test.js.map +1 -0
- package/dist/loader/__tests__/documentation-loader.property.test.d.ts +2 -0
- package/dist/loader/__tests__/documentation-loader.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/documentation-loader.property.test.js +258 -0
- package/dist/loader/__tests__/documentation-loader.property.test.js.map +1 -0
- package/dist/loader/__tests__/errors.test.d.ts +2 -0
- package/dist/loader/__tests__/errors.test.d.ts.map +1 -0
- package/dist/loader/__tests__/errors.test.js +132 -0
- package/dist/loader/__tests__/errors.test.js.map +1 -0
- package/dist/loader/__tests__/http-client.property.test.d.ts +2 -0
- package/dist/loader/__tests__/http-client.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/http-client.property.test.js +288 -0
- package/dist/loader/__tests__/http-client.property.test.js.map +1 -0
- package/dist/loader/__tests__/http-client.test.d.ts +2 -0
- package/dist/loader/__tests__/http-client.test.d.ts.map +1 -0
- package/dist/loader/__tests__/http-client.test.js +497 -0
- package/dist/loader/__tests__/http-client.test.js.map +1 -0
- package/dist/loader/__tests__/local-documentation-source.property.test.d.ts +2 -0
- package/dist/loader/__tests__/local-documentation-source.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/local-documentation-source.property.test.js +373 -0
- package/dist/loader/__tests__/local-documentation-source.property.test.js.map +1 -0
- package/dist/loader/__tests__/local-documentation-source.test.d.ts +2 -0
- package/dist/loader/__tests__/local-documentation-source.test.d.ts.map +1 -0
- package/dist/loader/__tests__/local-documentation-source.test.js +544 -0
- package/dist/loader/__tests__/local-documentation-source.test.js.map +1 -0
- package/dist/loader/__tests__/path-type-detector.property.test.d.ts +2 -0
- package/dist/loader/__tests__/path-type-detector.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/path-type-detector.property.test.js +245 -0
- package/dist/loader/__tests__/path-type-detector.property.test.js.map +1 -0
- package/dist/loader/__tests__/path-type-detector.test.d.ts +2 -0
- package/dist/loader/__tests__/path-type-detector.test.d.ts.map +1 -0
- package/dist/loader/__tests__/path-type-detector.test.js +390 -0
- package/dist/loader/__tests__/path-type-detector.test.js.map +1 -0
- package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts +2 -0
- package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts.map +1 -0
- package/dist/loader/__tests__/remote-documentation-source.property.test.js +462 -0
- package/dist/loader/__tests__/remote-documentation-source.property.test.js.map +1 -0
- package/dist/loader/__tests__/remote-documentation-source.test.d.ts +2 -0
- package/dist/loader/__tests__/remote-documentation-source.test.d.ts.map +1 -0
- package/dist/loader/__tests__/remote-documentation-source.test.js +707 -0
- package/dist/loader/__tests__/remote-documentation-source.test.js.map +1 -0
- package/dist/loader/remote-documentation-source.d.ts +0 -4
- package/dist/loader/remote-documentation-source.d.ts.map +1 -1
- package/dist/loader/remote-documentation-source.js +1 -4
- package/dist/loader/remote-documentation-source.js.map +1 -1
- package/dist/main.js +0 -0
- package/dist/main.js.map +1 -1
- package/dist/mcp/__tests__/server.property.test.d.ts +2 -0
- package/dist/mcp/__tests__/server.property.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/server.property.test.js +286 -0
- package/dist/mcp/__tests__/server.property.test.js.map +1 -0
- package/dist/mcp/__tests__/server.test.d.ts +2 -0
- package/dist/mcp/__tests__/server.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/server.test.js +101 -0
- package/dist/mcp/__tests__/server.test.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +16 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/publish/__tests__/publish-utils.test.d.ts +5 -0
- package/dist/publish/__tests__/publish-utils.test.d.ts.map +1 -0
- package/dist/publish/__tests__/publish-utils.test.js +189 -0
- package/dist/publish/__tests__/publish-utils.test.js.map +1 -0
- package/dist/query/__tests__/deprecation-parser.test.d.ts +2 -0
- package/dist/query/__tests__/deprecation-parser.test.d.ts.map +1 -0
- package/dist/query/__tests__/deprecation-parser.test.js +154 -0
- package/dist/query/__tests__/deprecation-parser.test.js.map +1 -0
- package/dist/query/__tests__/deprecation-query.test.d.ts +2 -0
- package/dist/query/__tests__/deprecation-query.test.d.ts.map +1 -0
- package/dist/query/__tests__/deprecation-query.test.js +199 -0
- package/dist/query/__tests__/deprecation-query.test.js.map +1 -0
- package/dist/query/__tests__/index-builder-debug.test.d.ts +2 -0
- package/dist/query/__tests__/index-builder-debug.test.d.ts.map +1 -0
- package/dist/query/__tests__/index-builder-debug.test.js +34 -0
- package/dist/query/__tests__/index-builder-debug.test.js.map +1 -0
- package/dist/query/__tests__/index-builder.property.test.d.ts +2 -0
- package/dist/query/__tests__/index-builder.property.test.d.ts.map +1 -0
- package/dist/query/__tests__/index-builder.property.test.js +422 -0
- package/dist/query/__tests__/index-builder.property.test.js.map +1 -0
- package/dist/query/__tests__/index-builder.test.d.ts +2 -0
- package/dist/query/__tests__/index-builder.test.d.ts.map +1 -0
- package/dist/query/__tests__/index-builder.test.js +55 -0
- package/dist/query/__tests__/index-builder.test.js.map +1 -0
- package/dist/query/__tests__/result-formatter-deprecation.test.d.ts +2 -0
- package/dist/query/__tests__/result-formatter-deprecation.test.d.ts.map +1 -0
- package/dist/query/__tests__/result-formatter-deprecation.test.js +159 -0
- package/dist/query/__tests__/result-formatter-deprecation.test.js.map +1 -0
- package/dist/query/__tests__/result-formatter.integration.test.d.ts +2 -0
- package/dist/query/__tests__/result-formatter.integration.test.d.ts.map +1 -0
- package/dist/query/__tests__/result-formatter.integration.test.js +140 -0
- package/dist/query/__tests__/result-formatter.integration.test.js.map +1 -0
- package/dist/query/__tests__/result-formatter.property.test.d.ts +2 -0
- package/dist/query/__tests__/result-formatter.property.test.d.ts.map +1 -0
- package/dist/query/__tests__/result-formatter.property.test.js +163 -0
- package/dist/query/__tests__/result-formatter.property.test.js.map +1 -0
- package/dist/query/__tests__/result-formatter.test.d.ts +2 -0
- package/dist/query/__tests__/result-formatter.test.d.ts.map +1 -0
- package/dist/query/__tests__/result-formatter.test.js +85 -0
- package/dist/query/__tests__/result-formatter.test.js.map +1 -0
- package/dist/query/__tests__/search-engine.property.test.d.ts +2 -0
- package/dist/query/__tests__/search-engine.property.test.d.ts.map +1 -0
- package/dist/query/__tests__/search-engine.property.test.js +389 -0
- package/dist/query/__tests__/search-engine.property.test.js.map +1 -0
- package/dist/query/deprecation-parser.d.ts +46 -0
- package/dist/query/deprecation-parser.d.ts.map +1 -0
- package/dist/query/deprecation-parser.js +81 -0
- package/dist/query/deprecation-parser.js.map +1 -0
- package/dist/query/deprecation-query.d.ts +19 -0
- package/dist/query/deprecation-query.d.ts.map +1 -0
- package/dist/query/deprecation-query.js +73 -0
- package/dist/query/deprecation-query.js.map +1 -0
- package/dist/query/result-formatter.d.ts +27 -0
- package/dist/query/result-formatter.d.ts.map +1 -1
- package/dist/query/result-formatter.js +64 -5
- package/dist/query/result-formatter.js.map +1 -1
- package/dist/tools/__tests__/deprecation-tools.test.d.ts +2 -0
- package/dist/tools/__tests__/deprecation-tools.test.d.ts.map +1 -0
- package/dist/tools/__tests__/deprecation-tools.test.js +178 -0
- package/dist/tools/__tests__/deprecation-tools.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-docs.property.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-docs.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-docs.property.test.js +594 -0
- package/dist/tools/__tests__/get-component-docs.property.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-docs.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-docs.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-docs.test.js +137 -0
- package/dist/tools/__tests__/get-component-docs.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-examples.property.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-examples.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-examples.property.test.js +245 -0
- package/dist/tools/__tests__/get-component-examples.property.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-examples.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-examples.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-examples.test.js +128 -0
- package/dist/tools/__tests__/get-component-examples.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-inputs.property.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-inputs.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-inputs.property.test.js +310 -0
- package/dist/tools/__tests__/get-component-inputs.property.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-inputs.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-inputs.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-inputs.test.js +245 -0
- package/dist/tools/__tests__/get-component-inputs.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-outputs.property.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-outputs.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-outputs.property.test.js +227 -0
- package/dist/tools/__tests__/get-component-outputs.property.test.js.map +1 -0
- package/dist/tools/__tests__/get-component-outputs.test.d.ts +2 -0
- package/dist/tools/__tests__/get-component-outputs.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-component-outputs.test.js +189 -0
- package/dist/tools/__tests__/get-component-outputs.test.js.map +1 -0
- package/dist/tools/__tests__/get-library-version.property.test.d.ts +2 -0
- package/dist/tools/__tests__/get-library-version.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-library-version.property.test.js +115 -0
- package/dist/tools/__tests__/get-library-version.property.test.js.map +1 -0
- package/dist/tools/__tests__/get-library-version.test.d.ts +2 -0
- package/dist/tools/__tests__/get-library-version.test.d.ts.map +1 -0
- package/dist/tools/__tests__/get-library-version.test.js +97 -0
- package/dist/tools/__tests__/get-library-version.test.js.map +1 -0
- package/dist/tools/__tests__/list-components.property.test.d.ts +2 -0
- package/dist/tools/__tests__/list-components.property.test.d.ts.map +1 -0
- package/dist/tools/__tests__/list-components.property.test.js +241 -0
- package/dist/tools/__tests__/list-components.property.test.js.map +1 -0
- package/dist/tools/__tests__/list-components.test.d.ts +2 -0
- package/dist/tools/__tests__/list-components.test.d.ts.map +1 -0
- package/dist/tools/__tests__/list-components.test.js +170 -0
- package/dist/tools/__tests__/list-components.test.js.map +1 -0
- package/dist/tools/__tests__/search-components.test.d.ts +2 -0
- package/dist/tools/__tests__/search-components.test.d.ts.map +1 -0
- package/dist/tools/__tests__/search-components.test.js +239 -0
- package/dist/tools/__tests__/search-components.test.js.map +1 -0
- package/dist/tools/get-deprecation-info.d.ts +42 -0
- package/dist/tools/get-deprecation-info.d.ts.map +1 -0
- package/dist/tools/get-deprecation-info.js +55 -0
- package/dist/tools/get-deprecation-info.js.map +1 -0
- package/dist/tools/get-library-version.d.ts +33 -0
- package/dist/tools/get-library-version.d.ts.map +1 -0
- package/dist/tools/get-library-version.js +62 -0
- package/dist/tools/get-library-version.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-deprecated.d.ts +47 -0
- package/dist/tools/list-deprecated.d.ts.map +1 -0
- package/dist/tools/list-deprecated.js +56 -0
- package/dist/tools/list-deprecated.js.map +1 -0
- package/dist/types/compodoc.d.ts +1 -0
- package/dist/types/compodoc.d.ts.map +1 -1
- package/dist/types/deprecation.d.ts +33 -0
- package/dist/types/deprecation.d.ts.map +1 -0
- package/dist/types/deprecation.js +5 -0
- package/dist/types/deprecation.js.map +1 -0
- package/dist/utils/__tests__/credential-masking.property.test.d.ts +2 -0
- package/dist/utils/__tests__/credential-masking.property.test.d.ts.map +1 -0
- package/dist/utils/__tests__/credential-masking.property.test.js +145 -0
- package/dist/utils/__tests__/credential-masking.property.test.js.map +1 -0
- package/dist/utils/__tests__/credential-masking.test.d.ts +2 -0
- package/dist/utils/__tests__/credential-masking.test.d.ts.map +1 -0
- package/dist/utils/__tests__/credential-masking.test.js +188 -0
- package/dist/utils/__tests__/credential-masking.test.js.map +1 -0
- package/dist/utils/__tests__/errors.test.d.ts +2 -0
- package/dist/utils/__tests__/errors.test.d.ts.map +1 -0
- package/dist/utils/__tests__/errors.test.js +110 -0
- package/dist/utils/__tests__/errors.test.js.map +1 -0
- package/dist/utils/__tests__/integration.test.d.ts +2 -0
- package/dist/utils/__tests__/integration.test.d.ts.map +1 -0
- package/dist/utils/__tests__/integration.test.js +142 -0
- package/dist/utils/__tests__/integration.test.js.map +1 -0
- package/dist/utils/__tests__/logger.test.d.ts +2 -0
- package/dist/utils/__tests__/logger.test.d.ts.map +1 -0
- package/dist/utils/__tests__/logger.test.js +119 -0
- package/dist/utils/__tests__/logger.test.js.map +1 -0
- package/dist/utils/__tests__/retry.test.d.ts +2 -0
- package/dist/utils/__tests__/retry.test.d.ts.map +1 -0
- package/dist/utils/__tests__/retry.test.js +84 -0
- package/dist/utils/__tests__/retry.test.js.map +1 -0
- package/dist/utils/credential-masking.js +4 -4
- package/dist/utils/credential-masking.js.map +1 -1
- package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts +2 -0
- package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/changelog-commit-grouping.property.test.js +297 -0
- package/dist/version/__tests__/changelog-commit-grouping.property.test.js.map +1 -0
- package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts +2 -0
- package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/changelog-commit-parsing.property.test.js +396 -0
- package/dist/version/__tests__/changelog-commit-parsing.property.test.js.map +1 -0
- package/dist/version/__tests__/changelog-file-updates.property.test.d.ts +11 -0
- package/dist/version/__tests__/changelog-file-updates.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/changelog-file-updates.property.test.js +452 -0
- package/dist/version/__tests__/changelog-file-updates.property.test.js.map +1 -0
- package/dist/version/__tests__/dry-run-action.property.test.d.ts +8 -0
- package/dist/version/__tests__/dry-run-action.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/dry-run-action.property.test.js +50 -0
- package/dist/version/__tests__/dry-run-action.property.test.js.map +1 -0
- package/dist/version/__tests__/dry-run-changelog.property.test.d.ts +8 -0
- package/dist/version/__tests__/dry-run-changelog.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/dry-run-changelog.property.test.js +53 -0
- package/dist/version/__tests__/dry-run-changelog.property.test.js.map +1 -0
- package/dist/version/__tests__/dry-run-utils.test.d.ts +7 -0
- package/dist/version/__tests__/dry-run-utils.test.d.ts.map +1 -0
- package/dist/version/__tests__/dry-run-utils.test.js +205 -0
- package/dist/version/__tests__/dry-run-utils.test.js.map +1 -0
- package/dist/version/__tests__/dry-run-version.property.test.d.ts +8 -0
- package/dist/version/__tests__/dry-run-version.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/dry-run-version.property.test.js +59 -0
- package/dist/version/__tests__/dry-run-version.property.test.js.map +1 -0
- package/dist/version/__tests__/git-tag-annotation.property.test.d.ts +11 -0
- package/dist/version/__tests__/git-tag-annotation.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/git-tag-annotation.property.test.js +271 -0
- package/dist/version/__tests__/git-tag-annotation.property.test.js.map +1 -0
- package/dist/version/__tests__/git-tag-format.property.test.d.ts +11 -0
- package/dist/version/__tests__/git-tag-format.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/git-tag-format.property.test.js +411 -0
- package/dist/version/__tests__/git-tag-format.property.test.js.map +1 -0
- package/dist/version/__tests__/git-tag-utils.test.d.ts +2 -0
- package/dist/version/__tests__/git-tag-utils.test.d.ts.map +1 -0
- package/dist/version/__tests__/git-tag-utils.test.js +142 -0
- package/dist/version/__tests__/git-tag-utils.test.js.map +1 -0
- package/dist/version/__tests__/npm-tag-selection.property.test.d.ts +2 -0
- package/dist/version/__tests__/npm-tag-selection.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/npm-tag-selection.property.test.js +79 -0
- package/dist/version/__tests__/npm-tag-selection.property.test.js.map +1 -0
- package/dist/version/__tests__/release-title-format.property.test.d.ts +11 -0
- package/dist/version/__tests__/release-title-format.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/release-title-format.property.test.js +422 -0
- package/dist/version/__tests__/release-title-format.property.test.js.map +1 -0
- package/dist/version/__tests__/release-utils.test.d.ts +7 -0
- package/dist/version/__tests__/release-utils.test.d.ts.map +1 -0
- package/dist/version/__tests__/release-utils.test.js +176 -0
- package/dist/version/__tests__/release-utils.test.js.map +1 -0
- package/dist/version/__tests__/rollback-changelog.property.test.d.ts +8 -0
- package/dist/version/__tests__/rollback-changelog.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/rollback-changelog.property.test.js +61 -0
- package/dist/version/__tests__/rollback-changelog.property.test.js.map +1 -0
- package/dist/version/__tests__/rollback-utils.test.d.ts +7 -0
- package/dist/version/__tests__/rollback-utils.test.d.ts.map +1 -0
- package/dist/version/__tests__/rollback-utils.test.js +74 -0
- package/dist/version/__tests__/rollback-utils.test.js.map +1 -0
- package/dist/version/__tests__/version-manager.property.test.d.ts +2 -0
- package/dist/version/__tests__/version-manager.property.test.d.ts.map +1 -0
- package/dist/version/__tests__/version-manager.property.test.js +143 -0
- package/dist/version/__tests__/version-manager.property.test.js.map +1 -0
- package/dist/version/__tests__/version-manager.test.d.ts +2 -0
- package/dist/version/__tests__/version-manager.test.d.ts.map +1 -0
- package/dist/version/__tests__/version-manager.test.js +203 -0
- package/dist/version/__tests__/version-manager.test.js.map +1 -0
- package/dist/version/version-manager.d.ts.map +1 -1
- package/dist/version/version-manager.js +0 -4
- package/dist/version/version-manager.js.map +1 -1
- package/package.json +1 -1
- package/dist/test-error.ts +0 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property-based tests for HttpClient retry logic
|
|
3
|
+
* Feature: url-based-documentation-path
|
|
4
|
+
* Validates: Requirements 4.1, 4.2, 4.5
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect, jest, beforeEach, afterEach } from '@jest/globals';
|
|
7
|
+
import * as fc from 'fast-check';
|
|
8
|
+
import { HttpClient } from '../http-client.js';
|
|
9
|
+
// Mock fetch globally
|
|
10
|
+
const mockFetch = jest.fn();
|
|
11
|
+
global.fetch = mockFetch;
|
|
12
|
+
describe('HttpClient Property Tests', () => {
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
jest.clearAllMocks();
|
|
15
|
+
mockFetch.mockReset();
|
|
16
|
+
});
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
jest.useRealTimers();
|
|
19
|
+
jest.clearAllMocks();
|
|
20
|
+
mockFetch.mockReset();
|
|
21
|
+
});
|
|
22
|
+
describe('Property 8: Retry Logic for Retryable Errors', () => {
|
|
23
|
+
it('should retry retryable network errors up to maxRetries', async () => {
|
|
24
|
+
await fc.assert(fc.asyncProperty(
|
|
25
|
+
// Generate retry configuration
|
|
26
|
+
fc.record({
|
|
27
|
+
maxRetries: fc.integer({ min: 1, max: 3 }),
|
|
28
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
29
|
+
retryDelay: fc.integer({ min: 10, max: 50 }), // Smaller delays for faster tests
|
|
30
|
+
}),
|
|
31
|
+
// Generate retryable error types
|
|
32
|
+
fc.oneof(fc.constant('timeout'), fc.constant('network'), fc.constant('econnrefused'), fc.constant('enotfound'), fc.constant('econnreset')), async (options, errorType) => {
|
|
33
|
+
// Reset mock for this iteration
|
|
34
|
+
mockFetch.mockReset();
|
|
35
|
+
// Setup mock to always fail with retryable error
|
|
36
|
+
const errorMessages = {
|
|
37
|
+
timeout: `Request timeout after ${options.timeout}ms`,
|
|
38
|
+
network: 'Network error occurred',
|
|
39
|
+
econnrefused: 'Connection refused: ECONNREFUSED',
|
|
40
|
+
enotfound: 'DNS lookup failed: ENOTFOUND',
|
|
41
|
+
econnreset: 'Connection reset: ECONNRESET',
|
|
42
|
+
};
|
|
43
|
+
mockFetch.mockRejectedValue(new Error(errorMessages[errorType]));
|
|
44
|
+
const client = new HttpClient(options);
|
|
45
|
+
// When fetching with a retryable error
|
|
46
|
+
try {
|
|
47
|
+
await client.fetch('http://example.com/test');
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
// Expected to fail after retries
|
|
51
|
+
}
|
|
52
|
+
// Then it should retry maxRetries times (initial + retries)
|
|
53
|
+
expect(mockFetch).toHaveBeenCalledTimes(options.maxRetries + 1);
|
|
54
|
+
}), { numRuns: 20 });
|
|
55
|
+
});
|
|
56
|
+
it('should retry 5xx server errors up to maxRetries', async () => {
|
|
57
|
+
await fc.assert(fc.asyncProperty(
|
|
58
|
+
// Generate retry configuration
|
|
59
|
+
fc.record({
|
|
60
|
+
maxRetries: fc.integer({ min: 1, max: 3 }),
|
|
61
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
62
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
63
|
+
}),
|
|
64
|
+
// Generate 5xx status codes
|
|
65
|
+
fc.integer({ min: 500, max: 599 }), async (options, statusCode) => {
|
|
66
|
+
// Reset mock for this iteration
|
|
67
|
+
mockFetch.mockReset();
|
|
68
|
+
// Setup mock to return 5xx error
|
|
69
|
+
mockFetch.mockResolvedValue({
|
|
70
|
+
status: statusCode,
|
|
71
|
+
statusText: 'Server Error',
|
|
72
|
+
headers: new Headers(),
|
|
73
|
+
text: async () => 'Server error response',
|
|
74
|
+
});
|
|
75
|
+
const client = new HttpClient(options);
|
|
76
|
+
// When fetching with a 5xx error
|
|
77
|
+
const response = await client.fetch('http://example.com/test');
|
|
78
|
+
// Then it should retry maxRetries times (initial + retries)
|
|
79
|
+
expect(mockFetch).toHaveBeenCalledTimes(options.maxRetries + 1);
|
|
80
|
+
expect(response.status).toBe(statusCode);
|
|
81
|
+
}), { numRuns: 20 });
|
|
82
|
+
});
|
|
83
|
+
it('should retry 408 and 429 status codes up to maxRetries', async () => {
|
|
84
|
+
await fc.assert(fc.asyncProperty(
|
|
85
|
+
// Generate retry configuration
|
|
86
|
+
fc.record({
|
|
87
|
+
maxRetries: fc.integer({ min: 1, max: 3 }),
|
|
88
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
89
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
90
|
+
}),
|
|
91
|
+
// Generate retryable 4xx status codes
|
|
92
|
+
fc.oneof(fc.constant(408), fc.constant(429)), async (options, statusCode) => {
|
|
93
|
+
// Reset mock for this iteration
|
|
94
|
+
mockFetch.mockReset();
|
|
95
|
+
// Setup mock to return retryable 4xx error
|
|
96
|
+
mockFetch.mockResolvedValue({
|
|
97
|
+
status: statusCode,
|
|
98
|
+
statusText: statusCode === 408 ? 'Request Timeout' : 'Too Many Requests',
|
|
99
|
+
headers: new Headers(),
|
|
100
|
+
text: async () => 'Retryable client error',
|
|
101
|
+
});
|
|
102
|
+
const client = new HttpClient(options);
|
|
103
|
+
// When fetching with a retryable 4xx error
|
|
104
|
+
const response = await client.fetch('http://example.com/test');
|
|
105
|
+
// Then it should retry maxRetries times (initial + retries)
|
|
106
|
+
expect(mockFetch).toHaveBeenCalledTimes(options.maxRetries + 1);
|
|
107
|
+
expect(response.status).toBe(statusCode);
|
|
108
|
+
}), { numRuns: 20 });
|
|
109
|
+
});
|
|
110
|
+
it('should succeed on retry if error is resolved', async () => {
|
|
111
|
+
await fc.assert(fc.asyncProperty(
|
|
112
|
+
// Generate retry configuration
|
|
113
|
+
fc.record({
|
|
114
|
+
maxRetries: fc.integer({ min: 2, max: 4 }),
|
|
115
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
116
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
117
|
+
}),
|
|
118
|
+
// Generate which attempt should succeed (1 to maxRetries-1)
|
|
119
|
+
fc.integer({ min: 1, max: 3 }), async (options, successAttempt) => {
|
|
120
|
+
// Reset mock for this iteration
|
|
121
|
+
mockFetch.mockReset();
|
|
122
|
+
// Ensure successAttempt is within bounds
|
|
123
|
+
const actualSuccessAttempt = Math.min(successAttempt, options.maxRetries);
|
|
124
|
+
// Setup mock to fail then succeed
|
|
125
|
+
let attemptCount = 0;
|
|
126
|
+
mockFetch.mockImplementation(() => {
|
|
127
|
+
attemptCount++;
|
|
128
|
+
if (attemptCount <= actualSuccessAttempt) {
|
|
129
|
+
return Promise.reject(new Error('Network error occurred'));
|
|
130
|
+
}
|
|
131
|
+
return Promise.resolve({
|
|
132
|
+
status: 200,
|
|
133
|
+
statusText: 'OK',
|
|
134
|
+
headers: new Headers(),
|
|
135
|
+
text: async () => '{"success": true}',
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
const client = new HttpClient(options);
|
|
139
|
+
// When fetching with eventual success
|
|
140
|
+
const response = await client.fetch('http://example.com/test');
|
|
141
|
+
// Then it should succeed after retries
|
|
142
|
+
expect(response.status).toBe(200);
|
|
143
|
+
expect(mockFetch).toHaveBeenCalledTimes(actualSuccessAttempt + 1);
|
|
144
|
+
}), { numRuns: 20 });
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
describe('Property 9: Exponential Backoff', () => {
|
|
148
|
+
it('should use exponential backoff between retry attempts', async () => {
|
|
149
|
+
await fc.assert(fc.asyncProperty(
|
|
150
|
+
// Generate retry configuration
|
|
151
|
+
fc.record({
|
|
152
|
+
maxRetries: fc.integer({ min: 2, max: 3 }),
|
|
153
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
154
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
155
|
+
}), async (options) => {
|
|
156
|
+
// Reset mock for this iteration
|
|
157
|
+
mockFetch.mockReset();
|
|
158
|
+
// Track timing of calls
|
|
159
|
+
const callTimes = [];
|
|
160
|
+
// Setup mock to always fail
|
|
161
|
+
mockFetch.mockImplementation(() => {
|
|
162
|
+
callTimes.push(Date.now());
|
|
163
|
+
return Promise.reject(new Error('Network error occurred'));
|
|
164
|
+
});
|
|
165
|
+
const client = new HttpClient(options);
|
|
166
|
+
// When fetching with retries
|
|
167
|
+
try {
|
|
168
|
+
await client.fetch('http://example.com/test');
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
// Expected to fail
|
|
172
|
+
}
|
|
173
|
+
// Then delays should follow exponential backoff pattern
|
|
174
|
+
// Verify we made the right number of attempts
|
|
175
|
+
expect(callTimes.length).toBe(options.maxRetries + 1);
|
|
176
|
+
// Verify delays between attempts follow exponential pattern
|
|
177
|
+
for (let i = 1; i < callTimes.length; i++) {
|
|
178
|
+
const actualDelay = callTimes[i] - callTimes[i - 1];
|
|
179
|
+
const expectedDelay = options.retryDelay * Math.pow(2, i - 1);
|
|
180
|
+
// Allow some tolerance for timing (±50ms)
|
|
181
|
+
expect(actualDelay).toBeGreaterThanOrEqual(expectedDelay - 50);
|
|
182
|
+
expect(actualDelay).toBeLessThanOrEqual(expectedDelay + 100);
|
|
183
|
+
}
|
|
184
|
+
}), { numRuns: 10 } // Reduced runs since this test involves actual delays
|
|
185
|
+
);
|
|
186
|
+
});
|
|
187
|
+
it('should calculate correct backoff for any attempt number', async () => {
|
|
188
|
+
await fc.assert(fc.asyncProperty(fc.integer({ min: 10, max: 100 }), // retryDelay
|
|
189
|
+
fc.integer({ min: 0, max: 3 }), // attempt number
|
|
190
|
+
async (retryDelay, attempt) => {
|
|
191
|
+
// When calculating backoff for any attempt
|
|
192
|
+
const expectedBackoff = retryDelay * Math.pow(2, attempt);
|
|
193
|
+
// Verify the formula is correct
|
|
194
|
+
expect(expectedBackoff).toBe(retryDelay * Math.pow(2, attempt));
|
|
195
|
+
// Verify exponential growth
|
|
196
|
+
if (attempt > 0) {
|
|
197
|
+
const previousBackoff = retryDelay * Math.pow(2, attempt - 1);
|
|
198
|
+
expect(expectedBackoff).toBe(previousBackoff * 2);
|
|
199
|
+
}
|
|
200
|
+
}), { numRuns: 20 });
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
describe('Property 10: Non-Retryable Error Handling', () => {
|
|
204
|
+
it('should not retry 4xx client errors (except 408, 429)', async () => {
|
|
205
|
+
await fc.assert(fc.asyncProperty(
|
|
206
|
+
// Generate retry configuration
|
|
207
|
+
fc.record({
|
|
208
|
+
maxRetries: fc.integer({ min: 1, max: 5 }),
|
|
209
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
210
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
211
|
+
}),
|
|
212
|
+
// Generate non-retryable 4xx status codes (excluding 408, 429)
|
|
213
|
+
fc.integer({ min: 400, max: 499 }).filter(code => code !== 408 && code !== 429), async (options, statusCode) => {
|
|
214
|
+
// Reset mock for this iteration
|
|
215
|
+
mockFetch.mockReset();
|
|
216
|
+
// Setup mock to return non-retryable 4xx error
|
|
217
|
+
mockFetch.mockResolvedValue({
|
|
218
|
+
status: statusCode,
|
|
219
|
+
statusText: 'Client Error',
|
|
220
|
+
headers: new Headers(),
|
|
221
|
+
text: async () => 'Client error response',
|
|
222
|
+
});
|
|
223
|
+
const client = new HttpClient(options);
|
|
224
|
+
// When fetching with a non-retryable 4xx error
|
|
225
|
+
const response = await client.fetch('http://example.com/test');
|
|
226
|
+
// Then it should NOT retry (only 1 attempt)
|
|
227
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
228
|
+
expect(response.status).toBe(statusCode);
|
|
229
|
+
}), { numRuns: 20 });
|
|
230
|
+
});
|
|
231
|
+
it('should not retry 2xx and 3xx successful responses', async () => {
|
|
232
|
+
await fc.assert(fc.asyncProperty(
|
|
233
|
+
// Generate retry configuration
|
|
234
|
+
fc.record({
|
|
235
|
+
maxRetries: fc.integer({ min: 1, max: 5 }),
|
|
236
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
237
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
238
|
+
}),
|
|
239
|
+
// Generate successful status codes
|
|
240
|
+
fc.oneof(fc.integer({ min: 200, max: 299 }), fc.integer({ min: 300, max: 399 })), async (options, statusCode) => {
|
|
241
|
+
// Reset mock for this iteration
|
|
242
|
+
mockFetch.mockReset();
|
|
243
|
+
// Setup mock to return successful response
|
|
244
|
+
mockFetch.mockResolvedValue({
|
|
245
|
+
status: statusCode,
|
|
246
|
+
statusText: 'Success',
|
|
247
|
+
headers: new Headers(),
|
|
248
|
+
text: async () => '{"data": "success"}',
|
|
249
|
+
});
|
|
250
|
+
const client = new HttpClient(options);
|
|
251
|
+
// When fetching with a successful response
|
|
252
|
+
const response = await client.fetch('http://example.com/test');
|
|
253
|
+
// Then it should NOT retry (only 1 attempt)
|
|
254
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
255
|
+
expect(response.status).toBe(statusCode);
|
|
256
|
+
}), { numRuns: 20 });
|
|
257
|
+
});
|
|
258
|
+
it('should return last error after all retries exhausted', async () => {
|
|
259
|
+
await fc.assert(fc.asyncProperty(
|
|
260
|
+
// Generate retry configuration
|
|
261
|
+
fc.record({
|
|
262
|
+
maxRetries: fc.integer({ min: 1, max: 3 }),
|
|
263
|
+
timeout: fc.integer({ min: 1000, max: 5000 }),
|
|
264
|
+
retryDelay: fc.integer({ min: 10, max: 50 }),
|
|
265
|
+
}), async (options) => {
|
|
266
|
+
// Reset mock for this iteration
|
|
267
|
+
mockFetch.mockReset();
|
|
268
|
+
// Setup mock to always fail with retryable error
|
|
269
|
+
const errorMessage = 'Persistent network error';
|
|
270
|
+
mockFetch.mockRejectedValue(new Error(errorMessage));
|
|
271
|
+
const client = new HttpClient(options);
|
|
272
|
+
// When all retries are exhausted
|
|
273
|
+
let caughtError;
|
|
274
|
+
try {
|
|
275
|
+
await client.fetch('http://example.com/test');
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
caughtError = error;
|
|
279
|
+
}
|
|
280
|
+
// Then it should return the last error
|
|
281
|
+
expect(caughtError).toBeDefined();
|
|
282
|
+
expect(caughtError?.message).toBe(errorMessage);
|
|
283
|
+
expect(mockFetch).toHaveBeenCalledTimes(options.maxRetries + 1);
|
|
284
|
+
}), { numRuns: 20 });
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
//# sourceMappingURL=http-client.property.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.property.test.js","sourceRoot":"","sources":["../../../src/loader/__tests__/http-client.property.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.test.d.ts","sourceRoot":"","sources":["../../../src/loader/__tests__/http-client.test.ts"],"names":[],"mappings":""}
|