US 11,811,604 B2
Cross-platform contract validation
Tanin Na Nakorn, Seattle, WA (US); and Ji Huang, Bothell, WA (US)
Assigned to STRIPE, INC., San Francisco, CA (US)
Filed by STRIPE, INC., San Francisco, CA (US)
Filed on Mar. 17, 2021, as Appl. No. 17/204,398.
Prior Publication US 2022/0303183 A1, Sep. 22, 2022
Int. Cl. H04L 41/0869 (2022.01); G06F 11/36 (2006.01)
CPC H04L 41/0869 (2013.01) [G06F 11/3664 (2013.01); G06F 11/3688 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for validating compatibility between first and second endpoints, the method comprising:
accessing a non-transitory memory storing a machine-readable contract specifying a request-response pair in a file, the request-response pair consisting of an expected request that the second endpoint expects to receive from the first endpoint and an expected response that should be provided by the second endpoint according to the expected request from the first endpoint, the first and second endpoints being different platforms that operate with each other using requests and responses; and
performing multi-platform contract validation to determine whether the first and second endpoints are compatible with each other, by performing independent tests for the first and second endpoints at the same time without the first and second endpoints interacting with each other, using the expected request and expected response specified in the machine-readable contract, wherein performing multi-platform contract validation comprises
performing a first test with the first endpoint, by a first test generator and based on the request-response specified in the machine-readable contract, to validate the expected request and uses as its response one that matches the expected response in the file when receiving the expected request in the file,
performing a second test with the second endpoint, by a second test generator and based on the request-response specified in the machine-readable contract, to validate that the second endpoint response received by the second test generator matches the expected response in the file when receiving the expected request in the file, and
validating compatibility of the different platforms by determining that the second endpoint returns the expected response that is in the file when receiving the expected request in the file and that the first endpoint sends the expected request that produces the expected response in the file.