Skip to content

Async APi Importer refuses Async API with non-Semver version in info object #115

@195858

Description

@195858

Describe the bug
Importer MUST not refuse AsyncAPI with non-SemVer version on info object.

The Async API spec does NOT specify a required format for version
https://www.asyncapi.com/docs/reference/specification/v2.0.0#infoObject

To Reproduce
Steps to reproduce the behavior:

  1. command line
    ep-async-api-importer -fp ~/Downloads/CE_FREIGHTBOOKINGEVENTS.yaml
  2. configuration

A clear and concise description of what happens.

Error message is
{
"baseName": "CliError",
"name": "_CliErrorFromEpAsyncApiError",
"internalLogName": "CliAsyncApiDocumentService.parse_and_validate()",
"internalMessage": "EP AsyncAPI Error",
"internalStack": [
"_CliErrorFromEpAsyncApiError: EP AsyncAPI Error",
" at CliErrorFactory.createCliError (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51641:16)",
" at CliAsyncApiDocumentService.parse_and_validate (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:47840:42)",
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at async CliImporterManager.run_test_mode (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:50946:38)",
" at async CliImporterManager.run_release_mode (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51086:7)",
" at async CliImporterManager.run (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51155:13)",
" at async main (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51941:17)"
],
"appName": "ep-async-api-importer",
"cliRunContext": {
"runId": "2023-08-23-12-18-21-287",
"runMode": "test_pass_1",
"apiFile": "/Users/swenhelge/Downloads/CE_FREIGHTBOOKINGEVENTS.yaml"
},
"epAsyncApiError": {
"baseName": "EpAsyncApiError",
"internalMessage": "EP Async Api Validation Error",
"name": "_EpAsyncApiValidationError",
"internalLogName": "_EpAsyncApiDocument.validate_VersionIsSemVerFormat()",
"internalModuleNName": "_EpAsyncApiDocument",
"internalStack": [
"_EpAsyncApiValidationError: EP Async Api Validation Error",
" at _EpAsyncApiDocument.validate_VersionIsSemVerFormat (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/node_modules/@solace-labs/ep-asyncapi/dist/index.js:1266:13)",
" at _EpAsyncApiDocument.validate (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/node_modules/@solace-labs/ep-asyncapi/dist/index.js:1303:10)",
" at EpAsyncApiDocumentServiceClass.createFromFile (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/node_modules/@solace-labs/ep-asyncapi/dist/index.js:1514:26)",
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at async CliAsyncApiDocumentService.parse_and_validate (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:47822:36)",
" at async CliImporterManager.run_test_mode (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:50946:38)",
" at async CliImporterManager.run_release_mode (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51086:7)",
" at async CliImporterManager.run (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51155:13)",
" at async main (/Users/swenhelge/.nvm/versions/node/v18.16.0/lib/node_modules/@solace-labs/ep-async-api-importer/dist/cli.js:51941:17)"
],
"details": {
"asyncApiSpecTitle": " Freight Booking Events",
"issues": "Please use semantic versioning format for API version.",
"value": {
"versionString": "1.0"
}
}
}
}

Expected behavior
The importer SHOULD assign a suitable SemVer taking the version information given into account.

For example in case of theAsyncAPI used (https://gist.github.com/195858/d00144ad36cabf873204615e71a57121) the version number is '1.0', this could be expanded to '1.0.0'.

Log files
If applicable, add log file(s) to help troubleshoot the problem.

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions