Page MenuHomePhabricator
Paste P9050

api testing with Quibble for T230340
ActivePublic

Authored by hashar on Fri, Sep 6, 2:44 PM.
$ rm -f src/LocalSettings.php
quibble \
--skip-zuul --skip-deps \
--git-cache /home/hashar/projects --db sqlite \
-c 'cd mediawiki/tools/api-testing && npm test'
DEBUG:quibble.cmd:Running stages:
WARNING:quibble.cmd:ZUUL_PROJECT not set. Assuming mediawiki/core
INFO:quibble.cmd:Adding mediawiki/vendor
INFO:quibble.cmd:Projects: mediawiki/core, mediawiki/skins/Vector, mediawiki/vendor, mediawiki/tools/api-testing
DEBUG:quibble.cmd:Execution plan:
DEBUG:quibble.cmd:Install MediaWiki, db=sqlite db_dir=None vendor=True
DEBUG:quibble.cmd:Run tests in mediawiki/core:
DEBUG:quibble.cmd:User commands: cd mediawiki/tools/api-testing && npm install && npm test
INFO:mw.maintenance.install:php maintenance/install.php --scriptpath= --dbtype=sqlite --dbname=wikidb --dbpath=/tmp/quibble-sqlite-kxlr79df --with-extensions --pass=testwikijenkinspass TestWiki WikiAdmin
PHP 7.2.16-1+0~20190307202415.17+stretch~1.gbpa7be82+wmf1 is installed.
Found ImageMagick: /usr/bin/convert. Image thumbnailing will be enabled if you enable uploads.
Found the Git version control software: /usr/bin/git.
Using server URL "".
Warning: Your default directory for uploads (/home/hashar/workspace/src/images/) is not checked for vulnerability to arbitrary script execution during the CLI install.
Warning: The PHP intl extension is not available to handle Unicode normalization, falling back to slow pure-PHP implementation. If you run a high-traffic site, you should read on Unicode normalization.
The environment has been checked. You can install MediaWiki.
Setting up database
done
Creating tables
done
Populating default interwiki table
done
Initializing statistics
done
Generating secret keys
done
Prevent running unneeded updates
done
Creating administrator user account
done
Creating main page with default content
done
Database was successfully set up
MediaWiki has been successfully installed. You can now visit <> to view your wiki. If you have questions, check out our frequently asked questions list: <https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ> or use one of the support forums linked on that page.
INFO:quibble.util:Copying /home/hashar/workspace/src/LocalSettings.php to /home/hashar/workspace/log/LocalSettings.php
No syntax errors detected in /home/hashar/workspace/src/LocalSettings.php
INFO:quibble.commands:mediawiki/vendor used. Skipping external dependencies
INFO:mw.maintenance.update:php maintenance/update.php --quick --skip-external-dependencies
MediaWiki 1.34.0-alpha Updater
Skipping checking whether external dependencies are up to date, proceed at your own risk
Going to run database updates for wikidb
Using SQLite file: '/tmp/quibble-sqlite-kxlr79df/wikidb.sqlite'
Depending on the size of your database this may take a while!
Turning off Content Handler DB fields for this part of upgrade.
...have ss_active_users field in site_stats table.
...ss_active_users user count set...
...have ipb_allow_usertalk field in ipblocks table.
...have initial indexes
...change_tag table already exists.
...user_properties table already exists.
...log_search table already exists.
...have log_user_text field in logging table.
Populating log_user_text field, printing progress markers. For large
databases, you may want to hit Ctrl-C and do this manually with
maintenance/populateLogUsertext.php.
...doing log_id from 1 to 100
Done populating log_user_text field.
done.
Populating log_search table, printing progress markers. For large
databases, you may want to hit Ctrl-C and do this manually with
maintenance/populateLogSearch.php.
...doing log_id from 1 to 100
Done populating log_search table.
done.
...l10n_cache table already exists.
...ct_rc_id key doesn't exist.
...have rd_interwiki field in redirect table.
...fulltext search table appears to be in order.
...iwlinks table already exists.
...index iwl_prefix_title_from already set on iwlinks table.
...have ul_value field in updatelog table.
...have iw_api field in interwiki table.
...iwl_prefix key doesn't exist.
...have cl_collation field in categorylinks table.
...module_deps table already exists.
...ar_page_revid key doesn't exist.
...skipping index ar_revid because index ar_revid_uniq already set on archive table.
...index user_email already set on user table.
...uploadstash table already exists.
...user_former_groups table already exists.
...batch conversion of user_options: nothing to migrate. done.
...user table does not contain user_options field.
...have rev_sha1 field in revision table.
...have ar_sha1 field in archive table.
...index page_redirect_namespace_len already set on page table.
...have us_chunk_inx field in uploadstash table.
...have job_timestamp field in job table.
...index page_user_timestamp already set on revision table.
...have ipb_parent_block_id field in ipblocks table.
...index ipb_parent_block_id already set on ipblocks table.
...category table does not contain cat_hidden field.
...have rev_content_format field in revision table.
...have rev_content_model field in revision table.
...have ar_content_format field in archive table.
...have ar_content_model field in archive table.
...have page_content_model field in page table.
Content Handler DB fields should be usable now.
...site_stats table does not contain ss_admins field.
...recentchanges table does not contain rc_moved_to_title field.
...sites table already exists.
...have fa_sha1 field in filearchive table.
...have job_token field in job table.
...have job_attempts field in job table.
...have us_props field in uploadstash table.
...ug_group in table user_groups already modified by patch patch-ug_group-length-increase-255.sql.
...ufg_group in table user_former_groups already modified by patch patch-ufg_group-length-increase-255.sql.
...index pp_propname_page already set on page_props table.
...index img_media_mime already set on image table.
...index iwl_prefix_from_title already set on iwlinks table.
...have ar_id field in archive table.
...have el_id field in externallinks table.
...have rc_source field in recentchanges table.
...index log_user_text_type_time already set on logging table.
...index log_user_text_time already set on logging table.
...have page_links_updated field in page table.
...have user_password_expires field in user table.
...have pp_sortkey field in page_props table.
...recentchanges table does not contain rc_cur_time field.
...index wl_user_notificationtimestamp already set on watchlist table.
...have page_lang field in page table.
...have pl_from_namespace field in pagelinks table.
...have tl_from_namespace field in templatelinks table.
...have il_from_namespace field in imagelinks table.
...hitcounter doesn't exist.
...site_stats table does not contain ss_total_views field.
...page table does not contain page_counter field.
...fa_deleted_reason field does not exist in filearchive table, skipping modify field patch.
...msg_resource_links doesn't exist.
...msg_resource doesn't exist.
...bot_passwords table already exists.
...have wl_id field in watchlist table.
...cl_collation key doesn't exist.
...index cl_collation_ext already set on categorylinks table.
...collations up-to-date.
...index rc_name_type_patrolled_timestamp already set on recentchanges table.
...have ct_id field in change_tag table.
...have el_index_60 field in externallinks table.
...have ug_expiry field in user_groups table.
...index img_user_timestamp already set on image table.
Modifying img_media_type field of table image ...done.
...ip_changes table already exists.
...skipping: index cl_from doesn't exist.
...skipping: index tl_from doesn't exist.
...skipping: index pl_from doesn't exist.
...skipping: index old_id doesn't exist.
...skipping: index il_from doesn't exist.
...skipping: index iwl_from doesn't exist.
...skipping: index ll_from doesn't exist.
...skipping: index ls_field_val doesn't exist.
...skipping: index md_module_skin doesn't exist.
...skipping: index keyname doesn't exist.
...skipping: index qci_type doesn't exist.
...skipping: index ss_row_id doesn't exist.
...skipping: index ufg_user_group doesn't exist.
...skipping: index user_properties_user_property doesn't exist.
...comment table already exists.
...have img_description_id field in image table.
...have fa_description_id field in filearchive table.
Migrating comments to the 'comments' table, printing progress markers. For large
databases, you may want to hit Ctrl-C and do this manually with
maintenance/migrateComments.php.
Beginning migration of revision.rev_comment to revision_comment_temp.revcomment_comment_id
Completed migration, updated 0 row(s) with 0 new comment(s)
No need to migrate archive.ar_comment, field does not exist
No need to migrate ipblocks.ipb_reason, field does not exist
No need to migrate image.img_description, field does not exist
No need to migrate oldimage.oi_description, field does not exist
No need to migrate filearchive.fa_deleted_reason, field does not exist
No need to migrate filearchive.fa_description, field does not exist
No need to migrate recentchanges.rc_comment, field does not exist
No need to migrate logging.log_comment, field does not exist
No need to migrate protected_titles.pt_reason, field does not exist
done.
...skipping: index lc_lang_key doesn't exist.
...content table already exists.
...content_models table already exists.
...slots table already exists.
...have slot_origin field in slots table.
...slot_roles table already exists.
...actor table already exists.
...have fa_actor field in filearchive table.
Migrating actors to the 'actor' table, printing progress markers. For large
databases, you may want to hit Ctrl-C and do this manually with
maintenance/migrateActors.php.
Creating actor entries for all registered users
... 1 - 1
Completed actor creation, added 0 new actor(s)
Beginning migration of revision.rev_user and revision.rev_user_text to revision_actor_temp.revactor_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of archive.ar_user and archive.ar_user_text to archive.ar_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of ipblocks.ipb_by and ipblocks.ipb_by_text to ipblocks.ipb_by_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of image.img_user and image.img_user_text to image.img_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of oldimage.oi_user and oldimage.oi_user_text to oldimage.oi_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of filearchive.fa_user and filearchive.fa_user_text to filearchive.fa_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of recentchanges.rc_user and recentchanges.rc_user_text to recentchanges.rc_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of logging.log_user and logging.log_user_text to logging.log_actor
Completed migration, updated 0 row(s) with 0 new actor(s), 0 error(s)
Beginning migration of log_search
Completed migration, inserted 0 row(s) with 0 new actor(s), 0 error(s)
done.
Modifying rev_text_id field of table revision ...done.
Modifying table site_stats ...done.
...index rc_namespace_title_timestamp already set on recentchanges table.
...change_tag_def table already exists.
Populating el_index_60 field, printing progress markers. For large
databases, you may want to hit Ctrl-C and do this manually with
maintenance/populateExternallinksIndex60.php.
Populating externallinks.el_index_60...
el_id 0 - 200 of 6
Done, 0 rows updated.
done.
Modifying el_index_60 field of table externallinks ...done.
Running maintenance/deduplicateArchiveRevId.php...
Deduplicating ar_rev_id...
New install, nothing to do here.
done.
...have ct_tag_id field in change_tag table.
...index ar_revid_uniq already set on archive table.
Migrating revision data to the MCR 'slot' and 'content' tables, printing progress markers.
For large databases, you may want to hit Ctrl-C and do this manually with
maintenance/populateContentTables.php.
Populating revision...
... revision processed up to revision id 1 of 1 (0 rows in 0.0026609897613525 seconds)
Done populating revision table. Processed 0 rows in 0.002701997756958 seconds
Populating archive...
Done populating archive table. Processed 0 rows in 0.0018560886383057 seconds
Done. Processed 0 rows in 0.011363983154297 seconds
done.
...index log_type_action already set on logging table.
...type_action key doesn't exist.
...skipping: index iw_prefix doesn't exist.
...skipping: index pp_page_propname doesn't exist.
...skipping: index pt_namespace_title doesn't exist.
...skipping: index site_ids_type doesn't exist.
...index rc_this_oldid already set on recentchanges table.
...transcache doesn't exist.
Running maintenance/populateChangeTagDef.php...
done.
...index change_tag_rc_tag_id already set on change_tag table.
...have ipb_sitewide field in ipblocks table.
...ipblocks_restrictions table already exists.
...change_tag table does not contain ct_tag field.
...valid_tag doesn't exist.
...tag_summary doesn't exist.
...archive table does not contain ar_comment field.
...ipblocks table does not contain ipb_reason field.
...image table does not contain img_description field.
...oldimage table does not contain oi_description field.
...filearchive table does not contain fa_description field.
...recentchanges table does not contain rc_comment field.
...logging table does not contain log_comment field.
...protected_titles table does not contain pt_reason field.
...site_stats is populated...done.
Checking existence of old default messages...done.
Populating rev_len column
...doing rev_id from 1 to 200
Populating ar_len column
...archive table seems to be empty.
rev_len and ar_len population complete [0 revision rows, 0 archive rows].
Populating rev_sha1 column
...doing rev_id from 1 to 200
Populating ar_sha1 column
...archive table seems to be empty.
Populating ar_sha1 column legacy rows
rev_sha1 and ar_sha1 population complete [0 revision rows, 0 archive rows].
Populating img_sha1 field
Done 0 files in 0.0 seconds
Fixing protocol-relative entries in the externallinks table...
Done, 0 rows updated.
Populating fa_sha1 field from fa_storage_key
Done 0 files in 0.0 seconds
Updating *_from_namespace fields in links tables.
...doing page_id from 1 to 200
Adding empty categories with description pages...
Removing empty categories without description pages...
Category cleanup complete.
Populating page_props.pp_sortkey...
Populating page_props.pp_sortkey complete.
Copying IP revisions to ip_changes, from rev_id 0 to rev_id 1
...checking 1 revisions for IP edits that need copying, between rev_ids 0 and 1
Attempted to insert 0 IP revisions, 0 actually done.
Updating externallinks table index fields
el_id 0 - 6 of 6
Done, 0 rows updated, 0 deleted.
Purging caches...done.
Done in 0.9 s.
INFO:mw.maintenance.rebuildLocalisationCache:php maintenance/rebuildLocalisationCache.php --lang en
0 languages rebuilt out of 1
Use --force to rebuild the caches which are still fresh.
INFO:quibble.commands:User commands
INFO:backend.DevWebServer:Starting MediaWiki built in webserver
INFO:quibble.commands:working directory: /home/hashar/workspace/src
INFO:quibble.commands:cd mediawiki/tools/api-testing && npm install && npm test
audited 656 packages in 2.007s
found 0 vulnerabilities
> api-testing@1.0.0 test /home/hashar/workspace/src/mediawiki/tools/api-testing
> mocha test/*.js --timeout 0
Testing default autopatrolling rights
INFO:backend.DevWebServer:[Fri Sep 6 16:39:08 2019] 127.0.0.1:50908 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:08 2019] 127.0.0.1:50910 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:08 2019] 127.0.0.1:50912 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount%7Cuserrights%7Ccsrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50914 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50916 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50918 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50920 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50922 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:09 2019] 127.0.0.1:50924 [200]: /api.php?action=query&format=json&meta=tokens&type=userrights%7Ccsrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50926 [200]: /api.php
✓ should edit page as a user in autopatrol group (313ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50928 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50930 [200]: /api.php
✓ should edit page as an anonymous user (305ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50932 [200]: /api.php?action=query&format=json&meta=userinfo
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50934 [200]: /api.php?action=query&format=json&list=recentchanges&rctitle=Autopatrol_2GWR0k3l99&rcprop=patrolled%7Cuser
✓ should confirm autopatrolling rights (109ms)
Categories
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50936 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50938 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:10 2019] 127.0.0.1:50940 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:11 2019] 127.0.0.1:50942 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:11 2019] 127.0.0.1:50944 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:11 2019] 127.0.0.1:50946 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:11 2019] 127.0.0.1:50948 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:11 2019] 127.0.0.1:50950 [200]: /api.php?action=query&format=json&prop=categories&titles=CatTest_X_kfHpWa6emC
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50952 [200]: /api.php?action=query&format=json&prop=categories&titles=Talk%3ACatTest_Y_uqgqb8yQmt
✓ can be added using wikitext syntax (132ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50954 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_A_dJgBESC7m8
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50956 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_B_x7YEdRhiVh
✓ can be listed (141ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50958 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_A_dJgBESC7m8&cmnamespace=0
✓ can be filtered by namespace (63ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50960 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50962 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:12 2019] 127.0.0.1:50964 [200]: /api.php?action=query&format=json&prop=categories&titles=CatTest_X_kfHpWa6emC
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50966 [200]: /api.php?action=query&format=json&prop=categories&titles=Talk%3ACatTest_Y_uqgqb8yQmt
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50968 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_A_dJgBESC7m8
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50970 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_B_x7YEdRhiVh
✓ are updated on edit (908ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50972 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50974 [200]: /api.php?action=query&format=json&list=categorymembers&cmtitle=Category%3ACat_A_dJgBESC7m8&cmtype=subcat
✓ can be nested (362ms)
The delete/undelete action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:13 2019] 127.0.0.1:50976 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50978 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50980 [200]: /api.php?action=parse&format=json&page=Delete_eUSnCMq58c
✓ allows an admin to delete a page (635ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50982 [200]: /api.php?action=query&format=json&list=logevents&leprop=ids%7Ctitle%7Ctype%7Cuser%7Ctimestamp%7Ccomment&lelimit=1&letype=delete&letitle=Delete_eUSnCMq58c
✓ logs the deletion (64ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50984 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50986 [200]: /api.php?action=parse&format=json&page=Delete_eUSnCMq58c
✓ allows an admin to undelete a page (326ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50988 [200]: /api.php?action=query&format=json&list=logevents&leprop=ids%7Ctitle%7Ctype%7Cuser%7Ctimestamp%7Ccomment&lelimit=1&letype=delete&letitle=Delete_eUSnCMq58c
✓ logs the undeletion (57ms)
Diff Compare with Variables
INFO:backend.DevWebServer:[Fri Sep 6 16:39:14 2019] 127.0.0.1:50990 [200]: /api.php
✓ should edit a page (295ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:15 2019] 127.0.0.1:50992 [200]: /api.php
✓ should edit a page, revision 2 (268ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:15 2019] 127.0.0.1:50994 [200]: /api.php
✓ should edit a page, revision 3 (241ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:15 2019] 127.0.0.1:50996 [200]: /api.php
✓ should edit a page, revision 4 (230ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:15 2019] 127.0.0.1:50998 [200]: /api.php?action=compare&format=json&fromrev=10&torev=13
✓ should compare revisions 1 and 4 (95ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:15 2019] 127.0.0.1:51000 [200]: /api.php?action=compare&format=json&fromrev=12&torev=13
✓ should compare revisions 3 and 4 (77ms)
The edit action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51002 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51004 [200]: /api.php?action=query&format=json&prop=revisions&titles=Edit_A_2dH9y3FXtg&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51006 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51008 [200]: /api.php?action=parse&format=json&page=Edit_A_2dH9y3FXtg
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51010 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51012 [200]: /api.php?action=query&format=json&prop=revisions&titles=Edit_A_2dH9y3FXtg&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51014 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51016 [200]: /api.php?action=parse&format=json&page=Edit_A_2dH9y3FXtg
✓ allows a page to be created and modified (930ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51018 [200]: /api.php
✓ skips redundant edit (164ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:16 2019] 127.0.0.1:51020 [200]: /api.php?action=query&format=json&list=logevents&leprop=ids%7Ctitle%7Ctype%7Cuser%7Ctimestamp%7Ccomment&lelimit=1&letitle=Edit_A_2dH9y3FXtg&letype=create
✓ logs page creation (57ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51022 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51024 [200]: /api.php?action=query&format=json&prop=revisions&titles=Edit_A_2dH9y3FXtg&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
✓ applies pre-save transform (337ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51026 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51028 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51030 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:17 2019] 127.0.0.1:51032 [200]: /api.php
✓ enforces the createonly and nocreate flags (661ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51036 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51038 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51040 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51042 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51044 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:18 2019] 127.0.0.1:51046 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51048 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51050 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51052 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51054 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
✓ allows bots to set the bot flag (or not) (1541ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51056 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:19 2019] 127.0.0.1:51058 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
✓ does not allow regular users to set the bot flag (351ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51060 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51062 [200]: /api.php?action=query&format=json&prop=revisions&titles=Edit_A_2dH9y3FXtg&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51064 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
✓ allows users to set the minor flag (381ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51066 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51068 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51070 [200]: /api.php?action=query&format=json&prop=revisions&titles=Edit_A_2dH9y3FXtg&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
INFO:backend.DevWebServer:[Fri Sep 6 16:39:20 2019] 127.0.0.1:51072 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cuser%7Ccomment%7Ctimestamp%7Ctitle&rclimit=1&rctitle=Edit_A_2dH9y3FXtg
✓ does not allow anon users to set the minor flag (382ms)
Links
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51074 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51076 [200]: /api.php
to pages
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51078 [200]: /api.php?action=query&format=json&prop=links&titles=LinkTest_X_4HazUi0M43
✓ can be listed (64ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51080 [200]: /api.php?action=query&format=json&prop=links&titles=LinkTest_X_4HazUi0M43&plnamespace=0
✓ can be filtered by namespace (57ms)
from pages
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51082 [200]: /api.php?action=query&format=json&prop=linkshere&titles=LinkTest_Y_dcN5gUostw
✓ can be listed (63ms)
to external pages
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51084 [200]: /api.php?action=query&format=json&prop=extlinks&titles=LinkTest_X_4HazUi0M43
✓ can be listed (64ms)
to media
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51086 [200]: /api.php?action=query&format=json&prop=images&titles=LinkTest_X_4HazUi0M43
✓ can be listed (61ms)
Listing Users
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51088 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51090 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51092 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:21 2019] 127.0.0.1:51094 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51096 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51098 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51100 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51102 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51104 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:22 2019] 127.0.0.1:51106 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:23 2019] 127.0.0.1:51108 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:23 2019] 127.0.0.1:51110 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:23 2019] 127.0.0.1:51112 [200]: /api.php?action=query&format=json&list=allusers&auprefix=PRwa3QO
✓ should get a list of registered users that begin with a given prefix (50ms)
Move action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:23 2019] 127.0.0.1:51114 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:23 2019] 127.0.0.1:51116 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:24 2019] 127.0.0.1:51118 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:24 2019] 127.0.0.1:51120 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:24 2019] 127.0.0.1:51122 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:25 2019] 127.0.0.1:51124 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:25 2019] 127.0.0.1:51126 [200]: /api.php
1) should move a page without a redirect or its subpages and talkpages
INFO:backend.DevWebServer:[Fri Sep 6 16:39:26 2019] 127.0.0.1:51128 [200]: /api.php
2) should move a page with a redirect and its subpages and talkpages
Testing a new talk page notification
INFO:backend.DevWebServer:[Fri Sep 6 16:39:26 2019] 127.0.0.1:51130 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:26 2019] 127.0.0.1:51132 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:26 2019] 127.0.0.1:51134 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:26 2019] 127.0.0.1:51136 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51138 [200]: /api.php
✓ should edit a user's talk page (355ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51140 [200]: /api.php?action=query&format=json&meta=userinfo&uiprop=hasmsg
✓ user should have a new message notification (77ms)
Test page protection levels and effectiveness
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51142 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51144 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51146 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:27 2019] 127.0.0.1:51148 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51150 [200]: /api.php
✓ should allow admin to edit Protected page (246ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51152 [200]: /api.php
✓ should allow admin to edit Semi Protected page (238ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51154 [200]: /api.php
✓ should NOT allow autoconfirmed user to edit Protected page (81ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51156 [200]: /api.php
✓ should allow autoconfirmed user to edit Semi Protected page (274ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51158 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51160 [200]: /api.php
✓ should NOT allow anonymous user to edit Protected page (102ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:28 2019] 127.0.0.1:51162 [200]: /api.php
✓ should NOT allow anonymous user to edit Semi Protected page (65ms)
The parse action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51164 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51166 [200]: /api.php?action=parse&format=json&page=Parsing_0GJTe9gdaE
✓ supports parsing the current content of a page (62ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51168 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=This%20is%20another%20%27%27test%27%27
✓ supports parsing text supplied as a parameter (91ms)
with magic words
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51170 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=__FORCETOC__%0A%3D%3D%20One%20%3D%3D%3D%3D%20Two%20%3D%3D
✓ supports __FORCETOC__ (102ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51172 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=__NOTOC__%0A%3D%3D%20One%20%3D%3D%3D%3D%20Two%20%3D%3D%3D%3D%20Three%20%3D%3D%3D%3D%20Four%20%3D%3D
✓ supports __NOTOC__ (95ms)
with variables
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51174 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=This%20is%20%7B%7BPAGENAMEE%7D%7D
✓ supports {{PAGENAMEE}} (87ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:29 2019] 127.0.0.1:51176 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&revid=46&text=This%20is%20%7B%7BREVISIONID%7D%7D%20by%20%7B%7BREVISIONUSER%7D%7D
✓ supports {{REVISIONID}} and {{REVISIONUSER}} via parameters (93ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51178 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51180 [200]: /api.php?action=parse&format=json&page=Parser_saved_magic_RHF5P94XtH
✓ supports {{REVISIONID}} and {{REVISIONUSER}} of a saved revision (322ms)
with templates
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51182 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51184 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=Say%3A%20%7B%7BTemplate%3AParsing_3neujGdW0y%7D%7D
✓ supports optional parameters (99ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51186 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=Say%3A%20%7B%7BTemplate%3AParsing_3neujGdW0y%7Cyou%7D%7D
✓ supports positional parameters (91ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51188 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=Say%3A%20%7B%7BTemplate%3AParsing_3neujGdW0y%7Cgreeting%3DCiao%7D%7D
✓ supports named parameters (92ms)
with parser functions
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51190 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=%7B%7Bplural%3A1%7Cone%7Cmany%7D%7D%20or%20%7B%7Bplural%3A2%7Cone%7Cmany%7D%7D
✓ supports {{plural}} (94ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51192 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=%7B%7Bns%3A1%7D%7D%2C%20%7B%7Bns%3A2%7D%7D%2C%20%7B%7Bns%3A3%7D%7D
✓ supports {{ns}} (94ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:30 2019] 127.0.0.1:51194 [200]: /api.php?action=parse&format=json&title=Parsing_0GJTe9gdaE&text=%7B%7Buc%3AFoo%7D%7D%20or%20%7B%7Blc%3AFoo%7D%7D
✓ supports {{uc}} and {{lc}} (90ms)
The patrol action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51196 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51198 [200]: /api.php?action=query&format=json&meta=tokens&type=patrol
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51200 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51202 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cpatrolled&rclimit=1&rctitle=Patroll_xNs5o39LjF
✓ doesn't allow a users to patrol their own edit (492ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51204 [200]: /api.php?action=query&format=json&meta=tokens&type=patrol
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51206 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51208 [200]: /api.php?action=query&format=json&list=recentchanges&rcprop=ids%7Cflags%7Cpatrolled&rclimit=1&rctitle=Patroll_xNs5o39LjF
✓ allows sysops to patrol an edit (202ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51210 [200]: /api.php?action=query&format=json&list=recentchanges&rctitle=Patroll_xNs5o39LjF&rcprop=ids%7Cflags%7Cpatrolled
✓ doesn't allow regular users to see the patrol flags (58ms)
Changing a user's preferences
INFO:backend.DevWebServer:[Fri Sep 6 16:39:31 2019] 127.0.0.1:51212 [200]: /api.php?action=query&format=json&meta=userinfo&uiprop=options
✓ should get users default date settings (53ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:32 2019] 127.0.0.1:51214 [200]: /api.php
✓ should change date preference from default to dmy (501ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:32 2019] 127.0.0.1:51216 [200]: /api.php?action=query&format=json&meta=userinfo&uiprop=options
✓ should get users updated date preference (56ms)
Recent Changes
INFO:backend.DevWebServer:[Fri Sep 6 16:39:32 2019] 127.0.0.1:51218 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:32 2019] 127.0.0.1:51220 [200]: /api.php?action=query&format=json&list=recentchanges&rctype=new&rctitle=Recent_Changes_vrUgK4AYtX
✓ should create page and get new page recent changes (394ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:32 2019] 127.0.0.1:51222 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51224 [200]: /api.php?action=query&format=json&list=recentchanges&rctype=edit&rctitle=Recent_Changes_vrUgK4AYtX
✓ should edit page and get most recent edit changes (301ms)
Testing Revisions
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51226 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51228 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51230 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51232 [200]: /api.php?action=query&format=json&prop=revisions&titles=Revision_1We0adjrFC&rvlimit=5&rvprop=ids%7Cuser%7Ccomment
✓ should get revision history (66ms)
The rollback action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:33 2019] 127.0.0.1:51234 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:34 2019] 127.0.0.1:51236 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:34 2019] 127.0.0.1:51238 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:34 2019] 127.0.0.1:51240 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:34 2019] 127.0.0.1:51242 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:34 2019] 127.0.0.1:51244 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:35 2019] 127.0.0.1:51246 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:35 2019] 127.0.0.1:51248 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:35 2019] 127.0.0.1:51250 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:35 2019] 127.0.0.1:51252 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:35 2019] 127.0.0.1:51254 [200]: /api.php?action=query&format=json&meta=tokens&type=rollback
INFO:backend.DevWebServer:[Fri Sep 6 16:39:36 2019] 127.0.0.1:51256 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:36 2019] 127.0.0.1:51258 [200]: /api.php?action=query&format=json&prop=revisions&titles=Rollback_tmGXdgszwA&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
✓ rolls back consecutive edits (1644ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:36 2019] 127.0.0.1:51260 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:36 2019] 127.0.0.1:51262 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:36 2019] 127.0.0.1:51264 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51266 [200]: /api.php
✓ doesn't roll back edits by another user (878ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51268 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51270 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51272 [200]: /api.php?action=query&format=json&meta=tokens&type=rollback
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51274 [200]: /api.php
✓ doesn't allow a regular user to roll back edits (667ms)
Testing site statistics' edits value
INFO:backend.DevWebServer:[Fri Sep 6 16:39:37 2019] 127.0.0.1:51276 [200]: /api.php?action=query&format=json&meta=siteinfo&siprop=statistics
✓ should GET site statistics (60ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:38 2019] 127.0.0.1:51278 [200]: /api.php
✓ should edit a page (283ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:38 2019] 127.0.0.1:51280 [200]: /api.php?action=query&format=json&meta=siteinfo&siprop=statistics
✓ should GET an increased site edits stat (55ms)
Testing undo functionality
INFO:backend.DevWebServer:[Fri Sep 6 16:39:38 2019] 127.0.0.1:51282 [200]: /api.php
✓ should create a page (231ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:38 2019] 127.0.0.1:51284 [200]: /api.php
✓ should edit a page, revision 2 (221ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:38 2019] 127.0.0.1:51286 [200]: /api.php
✓ should edit a page, revision 3 (244ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51288 [200]: /api.php
✓ should undo revision 2 (177ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51290 [200]: /api.php?action=parse&format=json&page=Undo_JkLI81Sid2
✓ should confirm undo action (59ms)
The block/unblock action
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51292 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51294 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51296 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51298 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:39 2019] 127.0.0.1:51300 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51302 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51304 [200]: /api.php
✓ allows an admin to block a user (505ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51306 [200]: /api.php
✓ prevents a blocked user from editing (93ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51308 [200]: /api.php
✓ allows an admin to unblock a user (133ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51310 [200]: /api.php
✓ allows a user to edit after being unblocked (244ms)
The usercontribs list query
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51312 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51314 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:40 2019] 127.0.0.1:51316 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51318 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51320 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51322 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51324 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51326 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:41 2019] 127.0.0.1:51328 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:42 2019] 127.0.0.1:51330 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:42 2019] 127.0.0.1:51332 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:42 2019] 127.0.0.1:51334 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:42 2019] 127.0.0.1:51336 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51338 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51340 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51342 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51344 [200]: /api.php?action=query&format=json&list=usercontribs&ucuser=Fiona%20fAO8oIWK1o%7CFranky%20IQtt9xES5y&ucprop=ids%7Cuser%7Ccomment%7Ctimestamp
✓ can lists all contributions for a given set of users (78ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51346 [200]: /api.php?action=query&format=json&list=usercontribs&ucuser=Fiona%20fAO8oIWK1o%7CFranky%20IQtt9xES5y&ucprop=ids%7Cuser%7Ccomment%7Ctimestamp&ucnamespace=1
✓ can filter by namespace (71ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51348 [200]: /api.php?action=query&format=json&list=usercontribs&ucuser=Fiona%20fAO8oIWK1o%7CFranky%20IQtt9xES5y&ucprop=ids%7Cuser%7Ccomment%7Ctimestamp&uctoponly=true
✓ can list top only (74ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51350 [200]: /api.php?action=query&format=json&list=usercontribs&ucuser=Fiona%20fAO8oIWK1o%7CFranky%20IQtt9xES5y&ucprop=ids%7Cuser%7Ccomment%7Ctimestamp&ucshow=new
✓ can list creation only (72ms)
The watchlist
INFO:backend.DevWebServer:[Fri Sep 6 16:39:43 2019] 127.0.0.1:51352 [200]: /api.php?action=query&format=json&meta=tokens&type=createaccount
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51354 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51356 [200]: /api.php?action=query&format=json&meta=tokens&type=login
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51358 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51360 [200]: /api.php?action=query&format=json&meta=tokens&type=csrf
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51362 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51364 [200]: /api.php?action=query&format=json&list=watchlist&wltype=edit%7Cnew&wlprop=ids%7Ctitle%7Cflags%7Cuser%7Ccomment%7Ctimestamp
✓ can have items added by an edit (369ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51366 [200]: /api.php?action=query&format=json&meta=tokens&type=watch
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51368 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:44 2019] 127.0.0.1:51370 [200]: /api.php?action=query&format=json&list=watchlist&wltype=edit%7Cnew&wlprop=ids%7Ctitle%7Cflags%7Cuser%7Ccomment%7Ctimestamp
✓ can have items removed using the unwatch flag (181ms)
INFO:backend.DevWebServer:[Fri Sep 6 16:39:45 2019] 127.0.0.1:51372 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:45 2019] 127.0.0.1:51374 [200]: /api.php
INFO:backend.DevWebServer:[Fri Sep 6 16:39:45 2019] 127.0.0.1:51376 [200]: /api.php?action=query&format=json&prop=revisions&titles=Watch_P1rBDhkfGQ&rvslots=main&rvprop=ids%7Cuser%7Ccomment%7Ccontent%7Ctimestamp%7Cflags%7Ccontentmodel&rvlimit=1
INFO:backend.DevWebServer:[Fri Sep 6 16:39:45 2019] 127.0.0.1:51378 [200]: /api.php?action=query&format=json&list=watchlist&wltype=edit%7Cnew&wlprop=ids%7Ctitle%7Cflags%7Cuser%7Ccomment%7Ctimestamp
✓ can have items added using the watch action (534ms)
85 passing (37s)
2 failing
1) Move action
should move a page without a redirect or its subpages and talkpages:
AssertionError: expected '' to not exist
at Context.it (test/Move.js:43:16)
at process._tickCallback (internal/process/next_tick.js:68:7)
2) Move action
should move a page with a redirect and its subpages and talkpages:
TypeError: Cannot read property 'from' of undefined
at Context.it (test/Move.js:73:47)
at process._tickCallback (internal/process/next_tick.js:68:7)
npm ERR! Test failed. See above for more details.
INFO:backend.DevWebServer:Terminating DevWebServer
Traceback (most recent call last):
File "/home/hashar/.local/bin/quibble", line 11, in <module>
load_entry_point('quibble', 'console_scripts', 'quibble')()
File "/home/hashar/projects/integration/quibble/quibble/cmd.py", line 465, in main
cmd.execute(plan)
File "/home/hashar/projects/integration/quibble/quibble/cmd.py", line 440, in execute
command.execute()
File "/home/hashar/projects/integration/quibble/quibble/commands.py", line 653, in execute
cmd, shell=True, cwd=self.mw_install_path)
File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'cd mediawiki/tools/api-testing && npm install && npm test' returned non-zero exit status 1.

Event Timeline