[x] let the SQL database serve as a source of data instead of the API
[x] list=recentchanges
[x] list=logevents
[x] list=allpages
[x] list=protectedtitles
[x] list=allrevisions
[x] list=alldeletedrevisions
[x] titles=, pageids= for use with prop=
[x] common executor for the DB select queries (for easy profiling)
[x] framework for tests
[x] pytest fixture for web server (nginx)
[x] pytest fixture for php-fpm
[x] pytest fixture for MediaWiki installation (depends on nginx, php-fpm, postgresql + MW sources, config, initial SQL)
[x] write the tests...
implement a double-source wrapper, which yields from the API and checks the DB selects, ignoring NotImplementedErrors etc. (usable for unit tests as well as real-world testing) split into #50
References:
To do list:
list=allrevisions
module in MediaWiki 1.27 https://phabricator.wikimedia.org/T113885revision
toarchive
)archive
torevision
, also checkpage_id
)implement a double-source wrapper, which yields from the API and checks the DB selects, ignoringsplit into #50NotImplementedError
s etc. (usable for unit tests as well as real-world testing)