wiki.techinc.nl/tests/phpunit/includes/api/query
Martin Urbanec c9908da103 IP Masking: Expire temporary accounts in 1 year
Why:
Temporary accounts (introduced as part of IP Masking)
are supposed to expire 1 year after their registration.
Automatic account expiration can be done via a maintenance
script, which would be periodically executed via cron / systemd.

Make it possible for extensions to provide their own logic
for generating a list of temporary accounts to invalidate.
This is used in CentralAuth to base registration timestamp
on the global registration timestamp.

The default behavior is "temporary accounts do not expire",
given the feature requires a maintenance script to run
periodically, which will not be the case on third party
instances.

What:
* Add `expireAfterDays` to $wgAutoCreateTempUser, controlling
  how many days temporary accounts have.
* Add UserSelectQueryBuilder::whereRegisteredTimestamp(),
  filtering accounts based on user_registration.
* Add ExpireTemporaryAccounts maintenance script, which is
  @stable to extend.

Bug: T344695
Change-Id: If17bf84ee6620c8eb784b7d835682ad5e7afdfcc
2023-11-09 15:11:48 +01:00
..
ApiQueryAllPagesTest.php Reorg: Namespace the Title class 2023-03-02 08:46:53 -05:00
ApiQueryAllRevisionsTest.php tests/api: Add TestUser::getAuthority and use it 2022-08-06 23:15:27 +02:00
ApiQueryAllUsersTest.php api: make APIQueryAllUsers handle implicit/*/user rights for aurights 2023-10-24 08:17:30 -07:00
ApiQueryBasicTest.php tests: api: Use NS_ constants instead of hard coded values 2023-07-29 11:02:26 +02:00
ApiQueryBlockInfoTraitTest.php tests: Use $this->getDb() instead of wfGetDB() in integration tests 2023-09-25 21:08:09 +02:00
ApiQueryBlocksTest.php Stop using nonexistent DatabaseBlock constructor options 2023-11-06 12:03:51 +11:00
ApiQueryContinue2Test.php
ApiQueryContinueTest.php
ApiQueryContinueTestBase.php Use native array_column() in tests instead of loops 2022-08-16 15:41:14 +02:00
ApiQueryDisabledTest.php
ApiQueryImageInfoTest.php Reorg: Move MWTimestamp to MediaWiki\Utils 2023-08-19 05:53:40 +02:00
ApiQueryInfoTest.php IP Masking: Expire temporary accounts in 1 year 2023-11-09 15:11:48 +01:00
ApiQueryLanguageinfoTest.php MessagesSr: Use aliases in Serbian Latin script as well 2023-10-28 14:22:57 +00:00
ApiQueryPrefixSearchTest.php tests: Make some PHPUnit data providers static 2023-05-20 01:05:27 +02:00
ApiQueryRecentChangesIntegrationTest.php Namespace User under \MediaWiki\User 2023-09-19 19:18:16 +00:00
ApiQueryRevisionsTest.php tests: Make some PHPUnit data providers static 2023-03-24 02:53:57 +00:00
ApiQuerySearchTest.php Avoid DB access in more non-Database tests 2023-08-06 16:07:27 +00:00
ApiQuerySiteinfoTest.php IP Masking: Expire temporary accounts in 1 year 2023-11-09 15:11:48 +01:00
ApiQueryTest.php tests: Make some PHPUnit data providers static 2023-03-24 02:53:57 +00:00
ApiQueryTestBase.php Namespace User under \MediaWiki\User 2023-09-19 19:18:16 +00:00
ApiQueryTokensTest.php Avoid DB access in more non-Database tests 2023-08-06 16:07:27 +00:00
ApiQueryUserContribsTest.php Namespace User under \MediaWiki\User 2023-09-19 19:18:16 +00:00
ApiQueryUserInfoTest.php Reorg: Move MWTimestamp to MediaWiki\Utils 2023-08-19 05:53:40 +02:00
ApiQueryWatchlistIntegrationTest.php Bump codesniffer to 42.0.0 2023-09-27 15:06:32 -04:00
ApiQueryWatchlistRawIntegrationTest.php Namespace User under \MediaWiki\User 2023-09-19 19:18:16 +00:00