Page MenuHomePhabricator

Mock Parsoid response in Flow phpunit tests
Open, MediumPublic

Description

Investigate mocking the Parsoid response in Flow tests so we don't require Parsoid be actually present and active when trying to tests Flow (eg jenkins).

Event Timeline

Legoktm raised the priority of this task from to Needs Triage.
Legoktm updated the task description. (Show Details)
Legoktm added a project: StructuredDiscussions.
Legoktm subscribed.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

We already do this in a few cases, e.g. tests/phpunit/Parsoid/Fixer/WikiLinkFixerTest.php. See also T76586: K3. Run Flow tests with Parsoid on Jenkins.

A bunch of that work was started in https://gerrit.wikimedia.org/r/#/c/191697/, but we abandoned it.

I still don't think we should mock Parsoid response. We shouldn't pretend Parsoid is a service we can just swap out, and the things we do with Parsoid's response (output/store it, extract some nodes) are very simple. There's little logic on our end, other than interpreting the data in the way Parsoid outputs it. The most likely source of regression is when Parsoid changes its output. If we mock those responses, we wouldn't be aware of any such changes.

And we can already run tests without Parsoid - we don't *really* require it to be present (which unfortunately means we have to support 2 parsers)

Personally, I think it's more worthwile to spend time letting us connect to Parsoid from Jenkins, than mocking up Parsoid responses.

Personally, I think it's more worthwile to spend time letting us connect to Parsoid from Jenkins, than mocking up Parsoid responses.

Agreed.

Catrope triaged this task as Medium priority.Jul 1 2015, 11:41 PM
Catrope set Security to None.

Hi I dont know if this is the riight pace to ask. Some people on the francophone wikipedia are receiving error message on flow discussion pages
"Erreur d’accès au serveur Parsoid/RESTBase (HTTP 400"
This issue is also duscussud on discord by confirmed contributors. What can be done?

@Nattes: Please follow https://www.mediawiki.org/wiki/How_to_report_a_bug and create a separate task, as that's a different issue. Thanks!