Commit graph

22 commits

Author SHA1 Message Date
Umherirrender 5285a10b91 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: I8a1b268d94d7ddb4e50ded3cf44aa7a372b58a72
2024-06-09 18:39:06 +02:00
Umherirrender 0cf9669e85 build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0
Change-Id: Ibad3f653c0b78249eff781596c567182cce281c6
2024-03-11 19:29:34 +01:00
Umherirrender 7a424d1fdb Stop writing to tablesUsed in tests
Bug: T351733
Change-Id: I6bb37ef79caac7738e70eed54554790deb762149
2024-01-20 12:30:57 +01:00
Umherirrender 160368a296 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: I8943e4e63fb41ca758c9ed25a4abb7664e13bb9f
2024-01-06 17:07:32 +01:00
Umherirrender 19c781b681 tests: Pass HideUserUtils to LocalIdLookup
Follow-Up: I408acf7a57b0100fe18c455fc13141277a598925
Change-Id: I4f0190b416873a2aae0c579750b4999ba91baa17
2023-12-15 23:31:12 +01:00
Tim Starling 6f32dafbc1 Use the new DatabaseVirtualDomains feature
Change-Id: I05b6361bd57ba6754bd308e04da1c635f95d042b
2023-10-26 14:50:22 +11:00
Tim Starling a0a387d195 Don't notify of failed logins for system or temporary users
Bug: T329774
Change-Id: I65fa3da22f45002e013d3bd5c8b0efda5f8b5edb
2023-09-04 17:01:52 +10:00
Tim Starling 534e3ce4b3 LoginNotify seen subnets table
Add a table which stores a summary of each user's IP address subnet in
each time bucket, defaulting to 15 days. On edit (and other changes
causing a recentchanges row) and successful login update the table.

On attempted login, check whether the subnet is in the table in any
time bucket back to the expiry time.

Add a job and a maintenance script for purging expired rows.

Disabled by default for now. The idea is to enable it by default after
we have some experience with using it in WMF production.

If CheckUser integration is disabled (the future intended state), the
cache and LoginNotifyChecks job are suppressed since they are
unnecessary.

Details:

* Rename setCurrentAddressAsKnown() to recordKnownWithCookie() and
  split off recordKnown() which does the same thing except without
  sending the cookie. We use recordKnown() to store the IP address
  without sending the cookie, on non-login changes.
* Reorganise isKnownSystemFast() for clarity, and return emphatic
  USER_NOT_KNOWN if the user is not in the table, cache or cookie
  and CheckUser integration is disabled.
* Replace time() calls with a mockable method.

Bug: T345052
Change-Id: Iea716e660353f16c47f873fe42edc2aeec1b4346
2023-09-04 15:04:36 +10:00
Tim Starling 4c369696cc ServiceWiring, dependency injection
* Make LoginNotify into a service. Use a static getInstance() method
  instead of a services container class, since there is only one
  service.
* Removed references to $wgLoginNotifyEnableForPriv. The feature was
  removed in I888c6009fffad1712.

Change-Id: I9120b470d27a0d09e508bd4e12eb2bde2f38d34d
2023-09-04 15:04:36 +10:00
Tim Starling a47af7c73d Fix deprecations and non-static providers
Change-Id: Ia267a93a13191a2289aff70d47c31b2afcb1647b
2023-08-25 15:10:07 +10:00
Tim Starling 3560438921 Add integration tests
Bug: T344785
Change-Id: I6d2d2502599938747aef0f02106afbea33c24e41
2023-08-24 10:38:49 +10:00
Umherirrender 76bf0ed8e3 tests: Make some PHPUnit data providers static
Initally used a new sniff with autofix (T333745)

Bug: T332865
Change-Id: I659c128532ac8350ef8bac85141ffc71329f71b0
2023-05-21 00:12:25 +02:00
gerritbot 4974e8c1e9 Update moved class FauxRequest
See T321882. Moved in I832b133aaf61ee

Bug: T321681
Change-Id: I82d99b9826a5790a2f6a04db9298d732edb34293
2023-05-19 10:24:50 +00:00
Alexander Vorwerk f20844abc1 MediaWikiTestCase -> MediaWikiIntegrationTestCase
MediaWikiTestCase has been renamed to MediaWikiIntegrationTestCase in 1.34.

Bug: T293043
Change-Id: Id240511ba420b4a6c7c3200fc4efc3ac45e591c8
2021-10-12 21:53:04 +02:00
libraryupgrader 1b8445d690 build: Updating mediawiki/mediawiki-codesniffer to 37.0.0
Change-Id: I0a119437d963adaaed8bbeddae52279e12236e11
2021-07-23 01:54:17 +00:00
Umherirrender 3779f172d3 Remove incomplete @param from test function
the @dataProvider should be a enough here

Change-Id: If62bee2dec62d4deb2e7d5d3452f26c93a7e8348
2021-01-19 21:22:42 +01:00
libraryupgrader 4dc64245e8 build: Updating mediawiki/mediawiki-codesniffer to 31.0.0
Additional changes:
* Replaced "jakub-onderka" packages with "php-parallel-lint".

Change-Id: I7ac5d33b8fbf240c5169c2d001ca7aac2e555f6b
2020-05-30 00:25:34 +00:00
libraryupgrader 3103915e78 build: Updating mediawiki/mediawiki-codesniffer to 29.0.0
The following sniffs are failing and were disabled:
* MediaWiki.Commenting.FunctionComment.MissingParamName
* MediaWiki.Commenting.FunctionComment.MissingParamTag
* MediaWiki.Commenting.FunctionComment.ParamNameNoMatch

Additional changes:
* Also sorted "composer fix" command to run phpcbf last.

Change-Id: Ie0f3c44edd654994ca1aa3c55a40cbef22465c0b
2020-01-14 07:37:43 +00:00
James D. Forrester e4d9f1ea3e build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: Ide491f1971a4fe323f82eb5812a42fce990ddbd5
2019-10-11 10:39:00 -07:00
Max Semenik c5c9a60d15 Use expectException() instead of annotations
Bug: T234597
Change-Id: If10c7754589c358290154dbe4636024a76127162
2019-10-07 13:25:49 -07:00
Umherirrender 866f1883b4 Remove unneeded @codingStandardsIgnore
* Break long lines
* Sniff fixed, see T178725

Change-Id: Iaeea06ece1c58f625dfdd3e0e9f6bd53351cc104
2018-03-29 16:09:33 +00:00
Kunal Mehta d51ff1c159 Actually run PHPUnit tests, and fix the broken ones
It has to be named *Test.php to be run.

Change-Id: I707efb0a3418d36e32ca059845868e5d4f2fb3e1
2018-01-26 10:35:06 -08:00
Renamed from tests/phpunit/LoginNotifyTests.php (Browse further)