Page MenuHomePhabricator

AbuseFilter PHPUnit tests fail without CheckUser
Closed, ResolvedPublic

Description

When I run AbuseFilter without CheckUser loaded, some test cases of SpecialAbuseLogTest::testTempAccountIPLookup fail:

phpunit ../extensions/AbuseFilter --filter testTempAccountIPLookup
1) MediaWiki\Extension\AbuseFilter\Tests\Integration\Special\SpecialAbuseLogTest::testTempAccountIPLookup with data set "IP with temp account results, user with rights" (Closure Object (...), '1.2.3.4', 2, true)
<p>(abusefilter-log-summary)\n
</p>\n
</div></div></fieldset></form></div><p>(abusefilter-log-noresults)\n
</p>' does not contain "(abusefilter-log-noresults)".

mediawiki/extensions/AbuseFilter/tests/phpunit/integration/Special/SpecialAbuseLogTest.php:510

2) MediaWiki\Extension\AbuseFilter\Tests\Integration\Special\SpecialAbuseLogTest::testTempAccountIPLookup with data set "IP range with temp account results, user with rights" (Closure Object (...), '1.2.3.0/16', 2, true)
<p>(abusefilter-log-summary)\n
</p>\n
</div></div></fieldset></form></div><p>(abusefilter-log-noresults)\n
</p>' does not contain "(abusefilter-log-noresults)".

mediawiki/extensions/AbuseFilter/tests/phpunit/integration/Special/SpecialAbuseLogTest.php:510

3) MediaWiki\Extension\AbuseFilter\Tests\Integration\Special\SpecialAbuseLogTest::testTempAccountIPLookup with data set "IP with mix of temp and anonymous results, user with rights" (Closure Object (...), '5.6.7.8', 2, true)
Failed asserting that 1 is identical to 2.

mediawiki/extensions/AbuseFilter/tests/phpunit/integration/Special/SpecialAbuseLogTest.php:511

4) MediaWiki\Extension\AbuseFilter\Tests\Integration\Special\SpecialAbuseLogTest::testTempAccountIPLookup with data set "IP range with mix of temp and anonymous results, user with rights, should only return temp accounts" (Closure Object (...), '5.6.7.0/16', 1, true)
<p>(abusefilter-log-summary)\n
</p>\n
</div></div></fieldset></form></div><p>(abusefilter-log-noresults)\n
</p>' does not contain "(abusefilter-log-noresults)".

mediawiki/extensions/AbuseFilter/tests/phpunit/integration/Special/SpecialAbuseLogTest.php:510

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

The SpecialAbuseLogTest::testTempAccountIPLookup test has been added with https://gerrit.wikimedia.org/r/c/mediawiki/extensions/AbuseFilter/+/1172321

The test requires CheckUser to be loaded in order to pass. Maybe it can be adjusted in some case or simply be skipped when CheckUser is not loaded?

Added to our Essential-Work sprint as a small task we can do in that sprint. Happy to code review anything that comes before that sprint though

Change #1212118 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/AbuseFilter@master] tests: skip testTempAccountIPLookup when CheckUser is not loaded

https://gerrit.wikimedia.org/r/1212118

AFAICS they should be skipped when CheckUser is not installed

That is certainly the easiest path :-] I have sent a patch, I was a but busy the last few weeks.

Change #1212118 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] tests: skip testTempAccountIPLookup when CheckUser is not loaded

https://gerrit.wikimedia.org/r/1212118

AFAICS this is fixed, so marking as resolved

Change #1212171 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/AbuseFilter@REL1_45] tests: skip testTempAccountIPLookup when CheckUser is not loaded

https://gerrit.wikimedia.org/r/1212171

Thank you very much for your assistance @Dreamy_Jazz 🎉

Change #1212171 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@REL1_45] tests: skip testTempAccountIPLookup when CheckUser is not loaded

https://gerrit.wikimedia.org/r/1212171

Thank you very much for your assistance @Dreamy_Jazz 🎉

No problem. Thanks for fixing the issue