New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 717547 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 707649


Participants' hotlists:
Payment-Interop


Sign in to add a comment

Web platform testing for downloading and parsing web payment manifests

Project Member Reported by rouslan@chromium.org, May 2 2017

Issue description

Unfortunately, testing isn't possible in the current design because it's not predictable when the whole process ("injesting") kicks off. Apparently Chrome plans to do it with a background process, and not in response to any particular web platform API.

If we had some way of kicking this off, we could test things as follows:

* Have the server validate the characteristics of the initial request
* Have the server respond with different Link-header responses (e.g. bad Link headers, good ones, good ones that 404, no Link header, multiple Link headers, 204 vs. 200, non-HTTPS URLs, etc.)
* Have the server validate the characteristics of the manifest request
* Have the server response with different manifest responses
* Validate whether the parsing was done correctly by seeing whether requests get made to the web app manifest URLs specified in the payment method manifest. (So for example, if any of the web app manifest URLs are not HTTPS, or any of supported_origins contain path components, then no requests should be made. Similarly, you should be able to supply strings like "https:example.com\manifest.json" and get a request made to "https://example.com/manifest.json", since the URL parser is invoked.)
 
Blocking: 707649
Cc: foolip@chromium.org
> Chrome plans to do it with a background process, and not in response to any particular web platform API.

This is no longer the case. Chrome downloads and parses a web payment manifest from https://example.com in response to JS call `new PaymentRequest("https://example.com")`. Therefore, we should be able to interop test here.

Sign in to add a comment