{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/payments-odl/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Definitions","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":"definitions","__idx":0},"children":["Definitions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This topic describes and compares Test Harness-specific terminology."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sender-tests-vs-receiver-tests","__idx":1},"children":["Sender tests vs receiver tests"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The terms ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["sender"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["receiver"]}," refer to the institutions participating in a payment."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sender tests"]},": Payment sending institutions run \"sender tests\" by sending RippleNet payments with their real RippleNet Server (and integration software) to a Test Harness that simulates a payment receiver."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Receiver tests"]},": Payment receiving institutions run \"receiver tests\" by receiving RippleNet payments with their real RippleNet Server (and integration software) from a Test Harness that simulates a payment originator."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"inbound-vs-outbound","__idx":2},"children":["Inbound vs outbound"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The terms ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["inbound"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["outbound"]}," refer to the flow of tests in relation to the Test Harness."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inbound"]},": Payment senders run “sender tests” that flow ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["inbound"]}," to a Test Harness (simulating a payment receiver)."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Outbound"]},": Payment receivers run “receiver tests” that flow ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["outbound"]}," from a Test Harness (simulating a payment sender)."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-terms","__idx":3},"children":["Testing terms"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Payment template set"]},": A file in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".csv"]}," format with records of payment data, each represented by a Test case ID. A default payment record is used for payments that don't map to a Test case ID."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/test-automation/receiver-testing#project-workbooks"},"children":["Project workbook"]}]},": A spreadsheet used to define RPO fields and payment data in order to generate the files needed to run receiver tests."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test ID"]},": String that represents a set of tests run with either a test profile or project workbook."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test case"]},": Payment execution test represented by a test case ID, for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1.01"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test case ID"]},": Any string that matches the following (configurable) regular expression: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[\\\\w\\\\.-]*"]},", for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TC1"]},". A test case ID should only include letters, numbers, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["."]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-"]}," characters."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test mode"]},": Active or passive. Active mode allows users to design a suite of tests to verify multiple business workflows. For more information, see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/test-automation/test-harness-overview/testing-basics"},"children":["Testing basics"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test profile"]},": Document that defines a set of related test cases."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test record"]},": Dynamic record (with a test ID) of the test results for both passive and active tests."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test type"]},": Sender tests or receiver tests. See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#sender-tests-vs-receiver-tests"},"children":["Sender tests vs receiver tests"]},"."]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Define your Test case ID"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To run tests in active mode, the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test case ID"]}," must be defined within the payment's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user_info"]}," and it must be prepended by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TCID-"]},". For example, if a Test Profile defines ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"test_case_id\": \"1.01\""]}," then ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user_info"]}," in the payment must include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{\"TxId\":\"TCID-1.01\"}"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["<center> ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Sample Test Record Demonstrating Some Terms"]}," "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/th-test-record-demonstrating-terms.aa58dc3a57f267a7b4c93dc4d630f39819da4aadb84426472cc52da03d4ab86c.e34d2f9c.png","alt":"Test Record Demonstrating Terms"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ripplenet-payment-object","__idx":4},"children":["RippleNet Payment Object"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payment-instructions","__idx":5},"children":["Payment instructions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Test Harness refers to a \"","RippleNet Payment Object","\" or \"RPO\" as a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["sender's payment instructions"]},", which is typically a subset of the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-odl/api-docs/ripplenet/resources/standard-ripplenet-payment-object"},"children":["Standard RippleNet Payment Object"]},". These payment instructions are the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["additional_info"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["user_info"]}," (in JSON format) added by the sender during Accept quote."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rpo-schema","__idx":6},"children":["RPO schema"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An RPO schema is a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://json-schema.org/"},"children":["JSON schema"]}," that defines the RPO data requirements of a particular RippleNet payment receiver."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A payment receiver may use several RPO Schemas to describe the requirements for different currencies, corridors, or payment types. You can upload and select RPO schemas through the Test Harness UI."]}]},"headings":[{"value":"Definitions","id":"definitions","depth":1},{"value":"Sender tests vs receiver tests","id":"sender-tests-vs-receiver-tests","depth":2},{"value":"Inbound vs outbound","id":"inbound-vs-outbound","depth":2},{"value":"Testing terms","id":"testing-terms","depth":2},{"value":"RippleNet Payment Object","id":"ripplenet-payment-object","depth":2},{"value":"Payment instructions","id":"payment-instructions","depth":3},{"value":"RPO schema","id":"rpo-schema","depth":3}],"frontmatter":{"seo":{"title":"Definitions"}},"lastModified":"2025-10-03T17:57:05.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/payments-odl/api-docs/ripplenet/test-automation/test-harness-overview/definitions","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}