[QA] Resetting database to original state after tests
Juliusz Gonera
jgonera at wikimedia.org
Wed Mar 5 19:55:28 UTC 2014
Hi,
I briefly talked with Kaldari about an idea of having different "modes"
or "environments" in MediaWiki. By "modes" I mean something that is
usually present in modern web frameworks: production, development and
test mode.
This could be useful to expose a particular API only in dev and test
modes. An API like that could, for example, reset the whole database to
its initial state which would be useful for tests for the following reasons:
* Using mediawiki_api to clean up after a test (e.g. delete a page
created during the test) is prone to errors. We have to remember to do
it and when we do, we'll end up with weird Cucumber steps like "And the
page X is deleted after the test" which don't really belong to tests.
* Deleting some things might be either really hard or impossible. I
don't think there is an API for deleting users.
Obviously, we'd need a dedicated MW instance for those tests, possibly
one that could not be accessed externally. We also would not be able to
run all the tests in production, but I think that's fine.
What do you think? I could draft an RFC and post to wikitech if you like
the idea.
--
Juliusz
More information about the QA
mailing list