Refactor to recursive hash tree structure #18
Merged
GitHub Actions / Test Logs
succeeded
Jan 22, 2026 in 1s
76 passed, 0 failed and 0 skipped
| Report | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| packages/patchlogr-cli/.coverage/report.xml | 1β | 5ms | ||
| packages/patchlogr-core/.coverage/report.xml | 15β | 36ms | ||
| packages/patchlogr-oas/.coverage/report.xml | 60β | 1s |
β Β packages/patchlogr-cli/.coverage/report.xml
1 tests were completed in 5ms with 1 passed, 0 failed and 0 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| src/tests/sample.test.ts | 1β | 5ms |
β Β src/tests/sample.test.ts
β
@patchlogr/cli > sample test
β Β packages/patchlogr-core/.coverage/report.xml
15 tests were completed in 36ms with 15 passed, 0 failed and 0 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| src/partition/tests/partitionByMethod.test.ts | 2β | 11ms | ||
| src/partition/tests/partitionByTag.test.ts | 3β | 11ms | ||
| src/utils/tests/createHash.test.ts | 1β | 4ms | ||
| src/utils/tests/stableStringify.test.ts | 9β | 9ms |
β Β src/partition/tests/partitionByMethod.test.ts
β
partitionByMethod > should group by HTTPMethod
β
partitionByMethod > should group by multiple HTTPMethods
β Β src/partition/tests/partitionByTag.test.ts
β
partitionByTag > should group by first tag
β
partitionByTag > should group by multiple tags
β
partitionByTag > should group into default tag if tag not exists
β Β src/utils/tests/createHash.test.ts
β
createHash > createSHA256Hash > sha256 must be deterministic
β Β src/utils/tests/stableStringify.test.ts
β
stableStringify > should stringify json
β
stableStringify > should stringify json in a stable order
β
stableStringify > should stringify nested objects with stable key order
β
stableStringify > should stringify deeply nested objects with stable key order
β
stableStringify > should stringify arrays containing objects with stable key order
β
stableStringify > should handle null and primitive values correctly
β
stableStringify > should produce deterministic output for canonical spec hashing
β
stableStringify > should output nested object keys in sorted order
β
stableStringify > should sort keys in arrays of objects
β Β packages/patchlogr-oas/.coverage/report.xml
60 tests were completed in 1s with 60 passed, 0 failed and 0 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| src/tests/preprocessOASDocument.test.ts | 2β | 407ms | ||
| src/canonicalize/tests/v2/canonicalizeOASV2.test.ts | 16β | 29ms | ||
| src/canonicalize/tests/v3/canonicalizeOASV3.test.ts | 12β | 18ms | ||
| src/guards/tests/guardTests.test.ts | 3β | 3ms | ||
| src/pipeline/tests/OASBundleStage.test.ts | 1β | 12ms | ||
| src/pipeline/tests/OASDereferenceStage.test.ts | 1β | 3ms | ||
| src/pipeline/tests/OASValidationStage.test.ts | 7β | 519ms | ||
| src/pipeline/tests/PipelineExecutor.test.ts | 2β | 5ms | ||
| src/utils/tests/oasVersionUtils.test.ts | 5β | 4ms | ||
| src/utils/tests/toCanonicalSchema.test.ts | 4β | 6ms | ||
| src/utils/tests/toCanonicalSchemaV2.test.ts | 3β | 6ms | ||
| src/utils/tests/toCanonicalSchemaV3.test.ts | 4β | 6ms |
β Β src/tests/preprocessOASDocument.test.ts
β
preprocessOASDocument Integration > Pipeline handles OAS 2.0 with refs correctly
β
preprocessOASDocument Integration > Pipeline handles OAS 3.0 with refs correctly
β Β src/canonicalize/tests/v2/canonicalizeOASV2.test.ts
β
canonicalizeOASV2 > Map 'info' property correctly
β
canonicalizeOASV2 > Generate correct operation keys
β
canonicalizeOASV2 > Merge path-level and operation-level parameters
β
canonicalizeOASV2 > Transform body parameter correctly
β
canonicalizeOASV2 > Transform formData to body with correct content-type
β
canonicalizeOASV2 > Map responses and inherit produces
β
canonicalizeOASV2 > Map operation metadata
β
canonicalizeOASV2 > Produce full canonical spec matching expected output
β
categorizeParameters > should separate request params, form data, and body param
β
normalizeGeneralParam > should normalize general parameter
β
normalizeGeneralParam > should include collectionFormat for array type
β
processRequestBody > should process body param correctly
β
processFormData > should process form data correctly
β
processFormData > should preserve extra properties (default, enum) and normalize items in form data
β
processResponses > should process responses correctly
β
extractDocMetadata > should extract documentation metadata
β Β src/canonicalize/tests/v3/canonicalizeOASV3.test.ts
β
canonicalizeOASV3 > Map 'info' property correctly
β
canonicalizeOASV3 > Generate correct operation keys
β
canonicalizeOASV3 > Merge path-level and operation-level parameters
β
canonicalizeOASV3 > Transform body parameter correctly
β
canonicalizeOASV3 > Transform formData (multipart) to body correctly
β
canonicalizeOASV3 > Map responses and dereference logic
β
canonicalizeOASV3 > Map operation metadata
β
canonicalizeOASV3 > Produce full canonical spec matching expected output
β
canonicalizeOASV3 Helpers > normalizeParameters > should normalize parameters
β
canonicalizeOASV3 Helpers > normalizeRequestBody > should normalize request body
β
canonicalizeOASV3 Helpers > processResponses > should process responses
β
canonicalizeOASV3 Helpers > extractDocMetadata > should extract documentation metadata
β Β src/guards/tests/guardTests.test.ts
β
Guards > isSchemaObject > should return true for valid schema object
β
Guards > isSchemaObject > should return false for reference object
β
Guards > isSchemaObject > should return false for null
β Β src/pipeline/tests/OASBundleStage.test.ts
β
OASBundleStage > should dereference external $ref correctly
β Β src/pipeline/tests/OASDereferenceStage.test.ts
β
OASDereferenceStage > should throw an error if input.oas is missing
β Β src/pipeline/tests/OASValidationStage.test.ts
β
SwaggerValidationStage > should parse version 3.0.x correctly
β
SwaggerValidationStage > should parse version 2.0 correctly
β
SwaggerValidationStage > should parse version 3.1 correctly
β
SwaggerValidationStage > should validate a correct OAS document
β
SwaggerValidationStage > should throw an error for invalid OAS document
β
SwaggerValidationStage > should throw an error if input.oas is missing
β
SwaggerValidationStage > should update context with validated oas object
β Β src/pipeline/tests/PipelineExecutor.test.ts
β
PipelineExecutor > should append stages correctly
β
PipelineExecutor > should execute stages in order
β Β src/utils/tests/oasVersionUtils.test.ts
β
OASVersionUtils > getOASVersion should return correct version for 3.+
β
OASVersionUtils > getOASVersion should return correct version for 2.0
β
OASVersionUtils > getOASVersion should return undefined for unknown version
β
OASVersionUtils > isOpenAPIV3 should correctly identify OpenAPI v3 documents
β
OASVersionUtils > isOpenAPIV2 should correctly identify OpenAPI v2 documents
β Β src/utils/tests/toCanonicalSchema.test.ts
β
toCanonicalSchema > should normalize simple schema
β
toCanonicalSchema > should normalize schema with nested properties
β
toCanonicalSchema > should normalize schema with nested arrays
β
toCanonicalSchema > should normalize schema with tuple items (array of schemas)
β Β src/utils/tests/toCanonicalSchemaV2.test.ts
β
toCanonicalSchemaV2 > should convert a simple string schema
β
toCanonicalSchemaV2 > should handle required fields in V2 (separate array)
β
toCanonicalSchemaV2 > should handle x-nullable (V2 extension)
β Β src/utils/tests/toCanonicalSchemaV3.test.ts
β
toCanonicalSchemaV3 > should convert a simple string schema
β
toCanonicalSchemaV3 > should handle required fields
β
toCanonicalSchemaV3 > should handle missing type (V3 allows missing type)
β
toCanonicalSchemaV3 > should handle nullable (V3 property)
Loading