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

Performance script for Open Payments #3336

Open
mkurapov opened this issue Mar 7, 2025 · 1 comment
Open

Performance script for Open Payments #3336

mkurapov opened this issue Mar 7, 2025 · 1 comment
Assignees

Comments

@mkurapov
Copy link
Contributor

mkurapov commented Mar 7, 2025

Right now, we have a performance script (test/performance/scripts/create-outgoing-payments.js) to do load testing for our Admin APIs, which calls createReceiver createQuote and createOutgoingPayment.

We should add a similar script, but one that uses Open Payments APIs instead. The script will (create incoming payment, create quote, and create outgoing payment), after getting grants for the corresponding resources, and accepting an interactive grant at the MASE to be able to create outgoing payment. We can use a single grant for the outgoing payment.

Keep in mind, if the script is running longer than 10 min, we will need to refresh tokens used for the grant.

We can use the Open Payments client to help orchestrate this. This will require us to bundle the package, similar to how we are doing for json-canonicalize.

@mkurapov mkurapov added this to Rafiki Mar 4, 2025
@mkurapov mkurapov converted this from a draft issue Mar 7, 2025
@mkurapov mkurapov moved this from Backlog to In Progress in Rafiki Mar 7, 2025
@BlairCurrey
Copy link
Contributor

BlairCurrey commented Mar 7, 2025

The script will (create incoming payment, create quote, and create outgoing payment), after getting grants for the corresponding resources, and accepting an interactive grant at the MASE to be able to create outgoing payment. We can use a single grant for the outgoing payment.

I guess doing this manually via the UI could work when running locally, but it poses a problem for CI. We talked about using this for the CI performance test instead of the admin api based flow since it's the more complete one.

Maybe we can handle this from the test itself, similar to how we do it in the integration tests? https://github.com/interledger/rafiki/blob/main/test/integration/lib/test-actions/index.ts#L44-L69

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

3 participants