User:DWalden (WMF)/Test2wiki k8s migration/Anti-Harassment Tools

Does it use any external services?
I don't think so, other than database.

Is there any back-end processing?
It uses DeferredUpdates to purge expired blocks.

Does it use external binaries?
No.

Does it read or write files on the filesystem?
Possibly redis?

Is there a regression or smoke testing strategy?
No. I have quite a lot of experience testing it, however.

Does it cover the dependencies mentioned above?
To test DeferredUpdates, make a block with a very short expiry (you can set it to a custom amount, such as ). You then need to check that it eventually gets deleted from the database (you will need direct access to the database).

Can it be tested on test2wiki?
You should be able to test this anywhere as it is part of MediaWiki core.

Not all features of blocks are enabled everywhere, but I don't think this matters.

Is it feasible to make it testable on test2wiki?
See above.

Does it use any external services?
I don't think so, other than database.

Is there any back-end processing?
Tallying is done by the job queue.

Does it use external binaries?

 * gpg binary
 * firejail

Does it read or write files on the filesystem?
I think it uses temp files when decrypting (and possible encrypting) election votes.

Is there a regression or smoke testing strategy?
Not explicitly. You would want to run through a full, encrypted election from start to finish. There are some instructions here: https://wikitech.wikimedia.org/wiki/SecurePoll#Creating_the_election_on_votewiki

Does it cover the dependencies mentioned above?
Yes, if the election you test is encrypted and has a large number of voters.

Can it be tested on test2wiki?
The extension is installed but we have not setup the appropriate groups who will have permission to create and administer elections.

Is it feasible to make it testable on test2wiki?
Config change to add the appropriate SecurePoll groups. This will probably need Product approval.

Does it use any external services?
It uses Eventlogging on the server/PHP-side, which I think is worth testing.

Is there any back-end processing?
Logging uses the Job Queue.

Does it use external binaries?
No.

Does it read or write files on the filesystem?
It reads from a file to lookup information about IPs. It will need access to this file on the filesystem.

Is there a regression or smoke testing strategy?
No.

Does it cover the dependencies mentioned above?
Any use of IPInfo will touch most of the above dependencies.

Enabling/disabling IPInfo via Special:Preferences will touch the server-side Eventlogging.

Can it be tested on test2wiki?
No.

Is it feasible to make it testable on test2wiki?

 * Needs Product approval to create the appropriate groups who have IPInfo access.
 * Need to put the MaxMind file on the server.

What does not need testing on test2wiki?

 * Interaction Timeline (it is hosted on toolforge, not on production)