[go: up one dir, main page]

Page MenuHomePhabricator

ApiStructureTest::testDocumentationExists fails with blocked HTTP request if $wgUseInstantCommons is true
Open, Needs TriagePublic

Description

As reported by @taavi:

1There were 2 failures:
2
31) ApiStructureTest::testDocumentationExists with data set "Module query+filerepoinfo with MiserMode=false" ('query+filerepoinfo', array(false))
4HTTP request blocked: https://commons.wikimedia.org/w/api.php?format=json&action=query&meta=siteinfo&siprop=general by ForeignAPIRepo::httpGet. Use MockHttpTrait.
5
6/home/taavi/src/mediawiki/tests/phpunit/mocks/NullHttpRequestFactory.php:46
7/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:557
8/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:605
9/home/taavi/src/mediawiki/includes/libs/objectcache/wancache/WANObjectCache.php:1730
10/home/taavi/src/mediawiki/includes/libs/objectcache/wancache/WANObjectCache.php:1561
11/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:598
12/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:515
13/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:102
14/home/taavi/src/mediawiki/includes/filerepo/RepoGroup.php:361
15/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:101
16/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:119
17/home/taavi/src/mediawiki/extensions/OAuth/vendor/wikimedia/testing-access-wrapper/src/TestingAccessWrapper.php:71
18/home/taavi/src/mediawiki/tests/phpunit/structure/ApiStructureTest.php:87
19/home/taavi/src/mediawiki/tests/phpunit/MediaWikiIntegrationTestCase.php:518
20=== Logs generated by test case
21[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
22[MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
23[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
24[localisation] [debug] LocalisationCache using store LCStoreNull []
25[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
26[wfDebug] [debug] ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?format=json&action=query&meta=siteinfo&siprop=general {"private":false}
27===
28
292) ApiStructureTest::testDocumentationExists with data set "Module query+filerepoinfo with MiserMode=true" ('query+filerepoinfo', array(true))
30HTTP request blocked: https://commons.wikimedia.org/w/api.php?format=json&action=query&meta=siteinfo&siprop=general by ForeignAPIRepo::httpGet. Use MockHttpTrait.
31
32/home/taavi/src/mediawiki/tests/phpunit/mocks/NullHttpRequestFactory.php:46
33/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:557
34/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:605
35/home/taavi/src/mediawiki/includes/libs/objectcache/wancache/WANObjectCache.php:1730
36/home/taavi/src/mediawiki/includes/libs/objectcache/wancache/WANObjectCache.php:1561
37/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:598
38/home/taavi/src/mediawiki/includes/filerepo/ForeignAPIRepo.php:515
39/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:102
40/home/taavi/src/mediawiki/includes/filerepo/RepoGroup.php:361
41/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:101
42/home/taavi/src/mediawiki/includes/api/ApiQueryFileRepoInfo.php:119
43/home/taavi/src/mediawiki/extensions/OAuth/vendor/wikimedia/testing-access-wrapper/src/TestingAccessWrapper.php:71
44/home/taavi/src/mediawiki/tests/phpunit/structure/ApiStructureTest.php:87
45/home/taavi/src/mediawiki/tests/phpunit/MediaWikiIntegrationTestCase.php:518
46=== Logs generated by test case
47[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
48[MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
49[objectcache] [debug] MainWANObjectCache using store {class} {"class":"HashBagOStuff"}
50[localisation] [debug] LocalisationCache using store LCStoreNull []
51[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
52[wfDebug] [debug] ForeignAPIRepo: HTTP GET: https://commons.wikimedia.org/w/api.php?format=json&action=query&meta=siteinfo&siprop=general {"private":false}
53===

Caused by the same kind of assumptions that caused another test in the same class to run DB queries in a dataprovider (T341731). Long story short, even declarative methods in API modules (like getAllowedParams or getExamplesMessages) can have non-trivial side effects.

Event Timeline

Daimona renamed this task from ApiStructureTest::testDocumentationExists fails with blocked HTTP request if $wgInstantCommons is true to ApiStructureTest::testDocumentationExists fails with blocked HTTP request if $wgUseInstantCommons is true.Jul 12 2023, 9:39 PM