Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSPIOP API version negotiation not handled - Quoting-Service #2535

Closed
mdebarros opened this issue Oct 5, 2021 · 0 comments
Closed

FSPIOP API version negotiation not handled - Quoting-Service #2535

mdebarros opened this issue Oct 5, 2021 · 0 comments
Labels
bug Something isn't working or it has wrong behavior on a Mojaloop Core service oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it
Milestone

Comments

@mdebarros
Copy link
Member

Summary:

FSPIOP-API Service for Quoting-Service is not handling API Negotiation according to the Mojaloop API Specification - Section 3.3.4.3.

Severity:
Medium

Priority:
High

Expected Behavior

There are two scenarios that need to be addressed:

  1. FSPIOP API Switch Service at Switch should synchronously validate the incoming accept request headers, and fail with HTTP status 406 response to the Source-Participant (i.e. Payer) if the requested version is not supported
  2. The request is accepted by the Switch and should route the request to the Destination-Participant (i.e. Payee)
    a. If Destination-Participant does not accept the API version, they will synchronously respond with HTTP status 406 response.
    b. The Switch will then take compensating actions, and send an error-callback to the Source-Participant

Steps to Reproduce

The following steps respectively match the two scenarios described above:

  1. Send an FSPIOP Payer Request to the FSPIOP API Switch Service with an API version that is not supported by the Switch
  2. Send an FSPIOP Payer Request to the FSPIOP Service which is supported by the Switch, but not by the Destination-Participant

Specifications

  • Component (if known): Quoting-Service
  • Version: v12.0.10
  • Platform: n/a
  • Subsystem: n/a
  • Type of testing: manual
  • Bug found/raised by: @mdebarros

Notes:

  • Severity when opened: Medium
  • Priority when opened: High
@mdebarros mdebarros added bug Something isn't working or it has wrong behavior on a Mojaloop Core service oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it to-be-refined This story is ready to be groomed labels Oct 5, 2021
@elnyry-sam-k elnyry-sam-k mentioned this issue Oct 7, 2021
46 tasks
@mdebarros mdebarros added this to the Sprint 15.6 milestone Oct 22, 2021
mdebarros added a commit to mojaloop/quoting-service that referenced this issue Nov 5, 2021
…oting service (#289)

- chore: updated dependencies
    - updated dependencies
    - add 'json-rules-engine' and 'eslint' to ncurc.json ignore file as they have breaking changes
    - fixed audit-resolve issues
    - added fixes for api negotiation validation
    - re-factored outgoing messages by using the in-line config
    - fixed unit tests

- fix(mojaloop/#2535): fspiop api version negotiation not handled by quoting service - mojaloop/project#2535
    - added getOptionsForFSPIOPHeaderValidation to the plugin configuration
    - added new config key for PROTOCOL_VERSIONS to default and integration configs
    - added DEFAULT_PROTOCOL_VERSION for backward compatibility
    - updated config and unit tests to FSPIOP v1.1 protocol version
    - QUOTE_PROTOCOL_VERSIONS__ACCEPT__VALIDATELIST can be set as follows "[ \"1\", \"1.1\"]" and it will be parsed correctly into a object
    - Added unit tests for config changes

BREAKING CHANGE: Forcing a major version change for awareness of the config changes. The `LIB_RESOURCE_VERSIONS` env var is now deprecated, and this is now also controlled by the PROTOCOL_VERSIONS config in the default.json. This has been done for consistency between all API services going forward and unifies the config for both inbound and outbound Protocol API validation/transformation features.
mdebarros added a commit to mojaloop/testing-toolkit-test-cases that referenced this issue Nov 12, 2021
mdebarros added a commit to mdebarros/quoting-service that referenced this issue Nov 15, 2021
…oting service (mojaloop#289)

- fix(mojaloop/#2535): fspiop api version negotiation not handled by quoting service - mojaloop/project#2535
    - general fixes for quoting-service changes
mdebarros added a commit to mojaloop/helm that referenced this issue Nov 15, 2021
updates for mojaloop/project#2535
- upgraded quoting service from v11.8.0 to v12.0.0
- upgraded account lookup service from v12.0.120 to v13.0.0
- upgraded central ledger from v13.14.3 to v13.14.5
- bump to applicable charts
mdebarros added a commit to mojaloop/quoting-service that referenced this issue Nov 16, 2021
…oting service (#289) (#290)

- fix(mojaloop/#2535): fspiop api version negotiation not handled by quoting service - mojaloop/project#2535
    - general fixes for quoting-service changes
    - fixed unit tests to correctly load config
@elnyry-sam-k elnyry-sam-k removed the to-be-refined This story is ready to be groomed label Nov 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working or it has wrong behavior on a Mojaloop Core service oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it
Projects
None yet
Development

No branches or pull requests

2 participants