mojaloop / project

Repo to track product development issues for the Mojaloop project.
Other
23 stars 15 forks source link

Performance characterisation for ALS - Setup test-cases #3398

Closed PaulGregoryBaker closed 1 year ago

PaulGregoryBaker commented 1 year ago

Goal:

As a Mojaloop Hub adopter I want to know the isolated performance characterisation of the ALS
so that I can design an environment that depends on it's output.

Acceptance Criteria:

Note Depending on how this story plays out, there may be an opportunity to scale out to larger deploy and run more comprehensive tests.

The following will need to be mocked :

  1. Central ledger
  2. Oracle
  3. Get endpoints
  4. Payee DFSP (need to decide how to do this)

Considering using the TTK for these Mocks; if we do then will need to characterise the TTK.

SDK Consider using the SDK for this, as the SDK would be a more realistic test. If this is used, then the SDK will too need to be characterised. SDK will need to be scaled for this to work.

Complexity: <High|Medium|Low> > A short comment to remind the reason for the rating

Uncertainty: <High|Medium|Low> > A short comment to remind the reason for the rating


Tasks:

Done

Pull Requests:

Follow-up:

Dependencies:

Accountability:

PaulGregoryBaker commented 1 year ago

Hey team! Please add your planning poker estimate with Zenhub @vijayg10 @mdebarros

elnyry-sam-k commented 1 year ago

Two points on this from me, @PaulGregoryBaker

  1. Mocking only the Payee DFSP makes sense to me (the rest are part of the ALS as a system (might not be as a service); I've made a comment on another similar issue)
  2. It might make sense to have a separate issue "to first run a single ALS call end to end with JMeter and related services" and then get into baselining , TPS expectations etc.. the Setup can involve tasks for mocks, JMeter setup, handling callbacks and such others..
PaulGregoryBaker commented 1 year ago

Please add your planning poker estimate with Zenhub @kleyow

mdebarros commented 1 year ago

Test Cases (Draft)

Scenario: FSPIOP Participants

  1. POST /participants/{Type}/{ID} happy path
    1. Static Type and ID
  2. POST /participants/{Type}/{ID}/{SubId} happy path
    1. Static Type and ID
  3. POST /participants/{Type}/{ID} with error callback
    1. OpenAPI Validation Failure
    2. Connectivity Timeout
  4. POST /participants/{Type}/{ID}/{SubId} with error callback
    1. OpenAPI Validation Failure
    2. Connectivity Timeout

Scenario: FSPIOP Parties

  1. POST /parties/{Type}/{ID} happy path
    1. Static Type and ID
  2. POST /parties/{Type}/{ID}/{SubId} happy path
    1. Static Type and ID
  3. POST /parties/{Type}/{ID} with error callback
    1. OpenAPI Validation Failure
    2. Connectivity Timeout
  4. POST /parties/{Type}/{ID}/{SubId} with error callback
    1. OpenAPI Validation Failure
    2. Connectivity Timeout

Scenario: FSPIOP Mix

  1. Combination of POST /parties/ and POST /participants/ Scenarios of both Happy and Eroor callback Test Case Scenarios

Scenario: Admin

  1. POST /oracles
  2. GET /oracles/{ID}
  3. PUT /oracles/{ID}
  4. DELETE /oracles/{ID}
  5. Mix of POST, GET, PUT, DELETE /oracles/*
elnyry-sam-k commented 1 year ago

Thanks @mdebarros for the details.

Looks like a typo in the Scenario: FSPIOP Mix section POST /parties/* ?