Commit graph

44 commits

Author SHA1 Message Date
Reedy a0feac27b0 Namespace captchas
Change-Id: I2933639f9cb50db2101c4765ce9d8f9069d253b8
2022-12-13 21:40:30 +00:00
Umherirrender cb6254fe5f tests: Replace assertEmpty with assertSame
assertSame avoids use of loose comparisons and
allows to check the expected type

Change-Id: I4e1efb254365ed551c1240c6ab7a8a270969a1d0
2022-11-24 23:02:46 +01:00
Daimona Eaytoy 32f9cf26a6 Replace assertNotRegExp -> assertDoesNotMatchRegularExpression
Follow-up to I6859b48f7a9084101e981fb48449c1c1dc17a80c.

Bug: T243600
Change-Id: Ifdba0f9e98eb6bce4590b7eb73170c51a697d7c6
2022-10-07 16:52:36 +02:00
Daimona Eaytoy b156d227aa tests: Replace assertRegExp with assertMatchesRegularExpression
The method was renamed in PHPUnit 9.

Done automatically with:
grep -rl assertRegExp tests/ | xargs sed -r -i "s/>assertRegExp\(/>assertMatchesRegularExpression\(/"

Also extend MediaWikiIntegrationTestCase, so that it can use the
forward-compatible assertMatchesRegularExpression method.

Bug: T243600
Change-Id: I6859b48f7a9084101e981fb48449c1c1dc17a80c
2022-10-07 15:31:59 +02:00
Reedy 30cd1d8a23 Namespace base classes
Change-Id: I3fa9747e0ea970c5de39e2da8603e1bba9388a69
2022-07-30 18:13:03 +00:00
Bartosz Dziewoński 5880031d1c tests: Pass context to HTMLForm constructor
Change-Id: I8777b2b2d6a87695f6517f259f31a177356ac8f5
2022-05-15 23:35:03 +02:00
daniel 5770d44639 tests: Remove access to private ExtensionProcessor::globalSettings variable
It's internal, extensions should not rely on it. And now it is being removed.

Needed-By: I85324d04ecde38aad5f827c7aa33d989089e6d33
Change-Id: Id981f5f110789c5b7daa64185ec8ad952914ab48
2022-03-11 21:50:21 +00:00
Alexander Vorwerk 9ee7caa78e MediaWikiTestCase -> MediaWikiIntegrationTestCase
MediaWikiTestCase has been renamed to MediaWikiIntegrationTestCase in 1.34.

Bug: T293043
Change-Id: Iba498b9107753233b4fbb1f8d435663199635507
2021-11-29 19:54:25 +00:00
libraryupgrader 81a524e2e9 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0

npm:
* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* glob-parent: 5.1.0 → 5.1.2
  * https://npmjs.com/advisories/1751 (CVE-2020-28469)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)

Change-Id: I57837ebf8054a2e968d207fecb3f12397c18e2a2
2021-07-22 14:24:25 +00:00
vladshapik 824ef272dd Replace uses of the deprecated setters of AbstractAuthenticationProvider
Since AbstractAuthenticationProvider ::setLogger, ::setManager,
::setConfig, ::setHookContainer methods had been soft deprecated,
so its usages were removed. AuthenticationProviderTestTrait
::initProvider was used in order to initialize
CaptchaPreAuthenticationProvider in the test.
* Also bump required MW version to 1.37.0

Bug: T281993
Change-Id: I9a139433b089597a2a5dfb7e23338fc8f7183b47
2021-05-25 15:34:56 +00:00
libraryupgrader bef3c335b5 build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

Change-Id: Ib16a714334088d26d3fbaa88b5c9395fa0ab67a5
2021-05-04 04:14:03 +00:00
Umherirrender 91ecfa4ddd Remove incomplete @param from test function
the @dataProvider should be a enough here

Change-Id: Id9396e8baf734a028eda5dde5caeb8ac98cf1606
2021-01-23 01:36:10 +01:00
Umherirrender 76ff299d8c Use MediaWikiServices::getAuthManager
This required MediaWiki 1.35 (already set in extension.json)

Change-Id: Ic640f25b299dd7be429766f028ec91ab9481c85c
2020-04-04 16:57:51 +02:00
Brad Jorsch 003237ce9c Fix test hooking of 'PingLimiter'
The code was setting $wgHooks['PingLimiter'] to a Closure rather than
an array of callables, which resulted in the hook never actually being
called.

Interesting that that didn't make any of the tests fail. Anyway, let's
switch to using the setTemporaryHook() method now provided by MW's base
test class.

Change-Id: I6ac22b3c43735dcab4920de827bf06e25f9adc04
2020-04-02 15:22:22 -04:00
mainframe98 e95765a45e Don't conditionally set ObjectCache::$instances
The service LocalClusterObjectCache (to be introduced
in I39b03b1078efde3d9bc721d9d0c3694988c53a67) is not yet available.
The change linked above introduces it, but still relies on ObjectCache
because of tests of other extensions. ConfirmEdit's tests therefore
should always set ObjectCache::$instances, regardless of the existance
of the LocalClusterObjectCache service.

Change-Id: Ide340b7295ebe63a4efcfe6ec4381eb6697f8335
2020-01-21 17:28:22 +00:00
Max Semenik 9380fa050e Stop passing objects by reference
Bug: T193950
Change-Id: I8c4aabe75ffce55f81c7ffb0f76b67155db1f761
2020-01-17 20:08:16 +00:00
Max Semenik 8b6b9aaa86 tests: getMock() is deprecated
Bug: T192167
Change-Id: I385dccbcda40c71201ce1f5553cb30dee53a6a33
2019-10-21 22:20:51 -07:00
Daimona Eaytoy f85f9f14f8 Remove PPHUnit 4 bc stuff
Bug: T192167
Change-Id: I825b694550c11942cd9aa352f370894133b12c7b
2019-10-13 11:34:12 +02:00
James D. Forrester 86246f0172 build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: I12c3660e74e42937f6cfb31ec4771a67d8651f42
2019-10-09 15:45:51 -07:00
Florian fe6d078b9f [recaptcha] Remove the ReCaptcha module
It's not supported by Google for a while.

Bug: T223749
Change-Id: I159cdd4882c1de48d6cee359faa153a2e6e0424b
2019-06-22 10:38:39 +01:00
Aryeh Gregor 4228dbd2b7 Do not reset extension registry in tests
This breaks later tests, e.g.:

https://gerrit.wikimedia.org/r/c/mediawiki/core/+/450433
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/465423

The only reason this didn't cause test failures until now is because the
namespace data was getting (incorrectly) cached in between tests.  As
soon as we start resetting namespaces for each test, namespaces set by
the extension registry get wiped out by these tests.

Change-Id: Icb7a4a2a5d19fb1f2453b4b57a5271196b0e316d
2019-04-09 20:29:49 +03:00
Umherirrender f96b1eda5b Use ::class for class name resolution
Available since php5.5

Change-Id: I9b072c487b84e04fbb7e9ad8ed4b9db46d805ee8
2019-03-02 19:39:36 +01:00
Kunal Mehta 9fc9337fca Use new ExtensionRegistry::setAttributeForTest() in tests
So we don't need to hackily deal with ExtensionRegistry internals.

Depends-On: I9e62a02ed2044c847e9ab2dcdfab094001f88986
Change-Id: Id6ca6eb49db789dbb3f227533c4442506cc61bc4
2019-01-14 10:34:22 -08:00
Aryeh Gregor 422dccc7b0 Do not attempt to mock 'object'
This doesn't work in PHP 7.2, because 'object' is no longer a valid
class name.  stdClass works fine.

Change-Id: I47375fdf2f36ff62985b2e8c90fa0e5230273984
2018-10-09 15:10:33 +03:00
Max Semenik 5b7a36a521 Clean up some phpcs problems
Change-Id: Ie956fe86184535a376d0398483ac3c853fa9127c
2018-07-12 23:13:58 +00:00
Eddie Greiner-Petter 2848a699db Move "can user skip captchas" check to own function
As a direct effect
- sending emails and creating accounts now respects $wgAllowConfirmedEmail
- log messages get a bit less verbose for mail sending and creating
  accounts (but should be clear from the context what action was
  performed)
- less code duplication \o/

Indirectly, this should make solving the attached bug easy(tm), because it
just needs to add a hook to the canSkipCaptcha function.

Bug: T176589
Change-Id: Id27b0eadbab7300b9e6969d406fa6f00ef0888bf
2018-05-19 13:27:04 +00:00
libraryupgrader 08bfd32590 build: Updating mediawiki/mediawiki-codesniffer to 16.0.0
Change-Id: Ide145e5755e0bec11fe19c18889c92a0e9d78037
2018-02-15 09:34:50 +00:00
Kunal Mehta e1f45829d4 Add @covers tags
Change-Id: I1e99261acb13c86e96c1b2dd1cb61918ebc660c2
2018-01-23 15:59:08 -08:00
Umherirrender 79b09f4995 Register QuestyCaptcha class ealier in unit tests
The captchas in production are registered conditional, in tests the
class needs to be added to the autoloader.
Moved this register up to setUp to detect the existing @covers correctly
by the new testValidCovers from
I1d564bcae2bfbedb004c440b90db6341148ed4ba

Change-Id: I79f225126d7bbbfd436ab165bb98a0ed9517b8bc
2017-12-27 21:59:34 +01:00
jenkins-bot 7aae3b655b Merge "Allow other extensions to setup triggers using attributes" 2017-10-24 17:49:56 +00:00
Reedy 9efde84c36 Remove pre-authmanager code
Bug: T178026
Change-Id: I8604c95e4de28cc15a821bc2cc27a3e4b239d85e
2017-10-12 01:47:11 +01:00
libraryupgrader 8b439b582d build: Updating mediawiki/mediawiki-codesniffer to 13.0.0
Change-Id: I155f72352224f230e94950f149fba400f26cbe6c
2017-09-24 10:04:06 +00:00
Florian Schmidt 50bc57a200 Allow other extensions to setup triggers using attributes
Instead of misusing the config section of extension.json to declare
captcha triggers in the ConfirmEdits CaptchaTriggers config variable,
other extensions can now use the CaptchaTriggers attribute for the
exact same thing. E.g., to declare a new trigger, the following
addition to the own extension.json will register the trigger in
ConfirmEdit:

  "CaptchaTriggers": {
    "wikiforum": true
  }

This also removes the CaptchaClass config from the main extension.json
config section, and automatically sets the SimpleCaptcha module in the
getInstance() method of ConfirmEditHooks, which is a pre-requirement for
the mediawiki/core change Ieeb26011e42c741041d2c3252238ca0823b99eb4.

Bug: T152929
Change-Id: I4c5eaf87657f5dc07787480a2f1a56a1db8c714f
2017-09-02 17:45:26 +02:00
Umherirrender 1d60bc25d2 build: Updating mediawiki/mediawiki-codesniffer to 0.10.0
Change-Id: I8d107ad6801fe1a5ce7b8feb8e1e730d504a2fb3
2017-07-08 16:04:35 +02:00
Gergő Tisza 67a909fd8a Switch TestingAccessWrapper to librarized version
Bug: T163434
Change-Id: I7d262901f0ae66f20658516bad8aa2d8de3a40f7
Depends-On: I52cc257e593da3d6c3b01a909e554a950225aec8
2017-04-20 11:35:07 +00:00
Bryan Davis ed9886f6fd Set valid $wgRateLimits in tests
Change-Id: Iacdd1719d5f08eca91de0a35c0042ffee2136f34
2016-10-03 23:36:43 -06:00
Aaron Schulz 1cf32cf036 Reset the LocalClusterObjectCache service in tests
Change-Id: I0886e749dee19d729bcd4f398d65b78aa22a8065
2016-09-12 10:24:27 +00:00
Reedy 6a8c53f6d1 Remove 'UnitTestList' hook
No longer needed now that extension unittests are autodiscovered.

Bug: T142120
Bug: T142121
Change-Id: I7105170e56c8c3ec3837dd15be869e503bccecde
2016-08-05 18:46:15 +01:00
addshore eedab34d3d Unset CaptchaStore instance before test
Caught while tests were running for core.

Fatal error:
Call to undefined method CaptchaSessionStore::clearAll() in
ConfirmEdit/tests/CaptchaAuthenticationRequestTest.php
on line 13

Change-Id: I3a9f5b315eb114cb12ea4071f8da9079f797fcf6
2016-07-28 14:59:58 +01:00
Gergő Tisza 3e3b91b527 Add AuthManager support for ReCaptcha, ReCaptchaNoCaptcha
Also remove references to "two words" from ReCaptcha labels.
The captcha image doesn't always contain two words.

Bug: T110302
Change-Id: I544656289480056152a1db195babb6dadf29bc71
2016-05-16 09:51:11 +00:00
Gergő Tisza 31c59374a4 Add AuthManager support to SimpleCaptcha, QuestyCaptcha, FancyCaptcha, MathCaptcha
Also update MathCaptcha so that it works with recent versions of
Math (and breaks with old ones). Also fix MathCaptcha API output,
which used to send the question in plaintext.

Bug: T110302
Change-Id: I0da671a546700110d789b79a3089460abd9cce3b
Depends-On: I8b52ec8ddf494f23941807638f149f15b5e46b0c
2016-05-16 09:50:25 +00:00
Kunal Mehta 9ea898ba2a build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
Also added "composer fix" command.

Change-Id: Ibda3fd002c577c7f7c41920d67ec44fedbd27cb8
2016-05-09 16:41:17 -07:00
Florian 2f0db346eb Move QuestyCaptcha to its own place
Bug: T88047
Change-Id: I8c8f97d49dc39445dbba9c12909b81898838a253
2015-05-23 07:49:47 +00:00
Kunal Mehta 3244e44bd2 Add basic tests for QuestyCaptcha
Change-Id: I799e110ae42cd8cd3dc2276d638039d23149ca37
2015-01-05 14:19:13 +01:00