Skip to content

Commit

Permalink
docs: update links to rafiki docs in blog posts
Browse files Browse the repository at this point in the history
The file names in the revised Rafiki docs have changed. This PR points affected links to the new location. This PR shouldn't be merged until interledger/rafiki#2875 is ready.
  • Loading branch information
melissahenderson committed Sep 7, 2024
1 parent 05b7886 commit a9184dc
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
8 changes: 4 additions & 4 deletions src/content/blog/2024-09-06-integration-tests.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ tags:

import LargeImg from "/src/components/pages/LargeImg.astro";

[Rafiki](https://rafiki.dev/) is open source software that allows an [Account Servicing Entity](https://rafiki.dev/concepts/account-servicing-entity/) to enable Interledger functionality on its users’ accounts, so testing is really important to us. Given the critical nature of handling payments, it's essential that our tests not only validate correctness but also build confidence for our integrators.
[Rafiki](https://rafiki.dev/) is open source software that allows an [Account Servicing Entity](https://rafiki.dev/overview/overview#more-about-account-servicing-entities) to enable Interledger functionality on its users’ accounts, so testing is really important to us. Given the critical nature of handling payments, it's essential that our tests not only validate correctness but also build confidence for our integrators.

Historically, Rafiki was tested via a combination of unit tests and manually running sequences of [Bruno](https://www.usebruno.com/) requests constituting different payment flows using two local Mock Account Servicing Entities (MASE). The MASEs are part of our local development playground and encapsulate the necessary components for integrating with Rafiki, including accounting, webhook handling, and consent interactions to facilitate payment flows. These MASEs run in [Docker](https://www.docker.com/) alongside their own Rafiki instances. [Visit our documentation](https://rafiki.dev/playground/overview) to learn more about MASEs and our local playground.
Historically, Rafiki was tested via a combination of unit tests and manually running sequences of [Bruno](https://www.usebruno.com/) requests constituting different payment flows using two local Mock Account Servicing Entities (MASE). The MASEs are part of our local development playground and encapsulate the necessary components for integrating with Rafiki, including accounting, webhook handling, and consent interactions to facilitate payment flows. These MASEs run in [Docker](https://www.docker.com/) alongside their own Rafiki instances. [Visit our documentation](https://rafiki.dev/integration/playground/overview) to learn more about MASEs and our local playground.

One such instance of these payment flows is our ["Open Payments" example](https://github.com/interledger/rafiki/tree/main/bruno/collections/Rafiki/Examples/Open%20Payments), demonstrating payment creation in an e-commerce context. This example consists of a series of requests to our Open Payments API and a short browser interaction running on our local MASE to authorize the payment. For any changes made to Rafiki, one would need to manually perform these Bruno requests against our local environment to ensure these flows still worked as expected. With [several different flows](https://github.com/interledger/rafiki/tree/main/bruno/collections/Rafiki/Examples) to validate, this manual process was time-consuming and error-prone, making it unrealistic to thoroughly test every variation for each change. This blog post covers how we automated these manual tests and the principles that guided us.

Expand Down Expand Up @@ -82,8 +82,8 @@ Using Jest as our testing framework, we structured our test code around a few ke

1. **Mock Account Servicing Entity (MASE)**

- **Integration Server**: Includes all endpoints needed for integrating Account Servicing Entities with Rafiki. This includes the [rates endpoint](https://rafiki.dev/integration/getting-started/#exchange-rates) for supplying currency exchange rates and an endpoint for handling Rafiki’s [webhook events](https://rafiki.dev/integration/webhook-events/) throughout the payment lifecycle, such as depositing liquidity on `outgoing_payment.created`.
- **Open Payments Client**: Communicates with our Open Payments API to perform the payment flows. This API is a reference implementation of the [Open Payments standard](https://rafiki.dev/concepts/open-payments/overview/) that enables third parties to directly access users’ accounts.
- **Integration Server**: Includes all endpoints needed for integrating Account Servicing Entities with Rafiki. This includes the [rates endpoint](https://rafiki.dev/integration/requirements/exchange-rates) for supplying currency exchange rates and an endpoint for handling Rafiki’s [webhook events](https://rafiki.dev/integration/requirements/webhook-events/) throughout the payment lifecycle, such as depositing liquidity on `outgoing_payment.created`.
- **Open Payments Client**: Communicates with our Open Payments API to perform the payment flows. This API is a reference implementation of the [Open Payments standard](https://rafiki.dev/overview/concepts/open-payments) that enables third parties to directly access users’ accounts.
- **Admin (GraphQL) Client**: Communicates with our GraphQL admin API to set up tests and complete some of the flows, such as “Peer-to-Peer” payments.
- **Account Provider**: A simple accounting service to handle basic accounting functions and facilitate payment flows.

Expand Down
2 changes: 1 addition & 1 deletion src/pages/hackathon-2023.astro
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ import AnimatedSummitLogo from '../components/logos/AnimatedSummitLogo.astro';
<li>An Admin UI to view and manage the Rafiki instance.</li>
<li>A simple request signing service that is used by Postman to generate request signatures required by the Open Payments APIs. </li>
</ul>
<p>Visit <a href="https://rafiki.dev/playground/overview/">https://rafiki.dev/playground/overview/</a> for more information.</p>
<p>Visit <a href="https://rafiki.dev/integration/playground/overview/">https://rafiki.dev/integration/playground/overview/</a> for more information.</p>
</Section>

<Section>
Expand Down

0 comments on commit a9184dc

Please sign in to comment.