{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/payments-odl/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Test Harness overview","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com/products/custody","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"test-harness-overview","__idx":0},"children":["Test Harness overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["RippleNet Test Harness is a hosted environment that simulates the integration software (or \"middleware\") of your RippleNet partner and facilitates the testing of end-to-end payment flows, that is sending and receiving."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/th-architecture-overview.87a82b8c79ac72a339fd5137084937c0ba070dc815503c7991af4abd32b622e9.e34d2f9c.svg","alt":"Test Harness Overview"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-the-test-harness-is","__idx":1},"children":["What the Test Harness is"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Test Harness is a tool that helps you, a RippleNet member, put your integration software through realistic and repeatable test scenarios so that you can run partner-to-partner UAT tests with some confidence that your RippleNet integration works. "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Test Harness attaches to a single RippleNet Server instance using its RESTful API to either initiate or receive test payments. It provides a UI for toggling polling processes, uploading new test content, starting and stopping tests, and reviewing test results."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Specifically, the Test Harness is a tool that helps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Receivers"]}," develop a robust and valid ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://json-schema.org/"},"children":["JSON schema"]}," for their RPO"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Senders"]}," validate integration software against partner RPO schemas"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["All RippleNet members"]}," run UAT tests with confidence"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-the-test-harness-is-not","__idx":2},"children":["What the Test Harness is not"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Test Harness sends and receives API calls, but it does not"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handle load testing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Simulate RippleNet components, such as On-Demand Liquidity (ODL) but works with them"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Test multi-hop payment scenarios (with intermediaries) but single-hop payments only"]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"<!-- -->"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Test Harness ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["can"]}," serve as a receiver in a multi-hop payment but not as an intermediary. An intermediary means that you need to install a real RippleNet Server to serve as an intermediary for multi-hop testing."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you set up a test environment, you must deploy all RippleNet components to match the production scenario being tested. That is, in addition to setting up ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["your own"]}," RippleNet Server environment and integration software, you must also install a partner RippleNet Server environment that connects to a Test Harness instance. Your Ripple Success Engineer can help with this."]}]},"headings":[{"value":"Test Harness overview","id":"test-harness-overview","depth":1},{"value":"What the Test Harness is","id":"what-the-test-harness-is","depth":2},{"value":"What the Test Harness is not","id":"what-the-test-harness-is-not","depth":2}],"frontmatter":{"seo":{"title":"Test Harness overview"}},"lastModified":"2025-10-03T17:57:05.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/payments-odl/api-docs/ripplenet/test-automation/test-harness-overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}