%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/tests/selenium/wdio-mediawiki/ |
Current File : /www/varak.net/wiki.varak.net/tests/selenium/wdio-mediawiki/Api.js |
const MWBot = require( 'mwbot' ); // TODO: Once we require Node 7 or later, we can use async-await. module.exports = { /** * Shortcut for `MWBot#edit( .. )`. * * @since 1.0.0 * @see <https://www.mediawiki.org/wiki/API:Edit> * @param {string} title * @param {string} content * @return {Object} Promise for API action=edit response data. */ edit( title, content ) { let bot = new MWBot(); return bot.loginGetEditToken( { apiUrl: `${browser.options.baseUrl}/api.php`, username: browser.options.username, password: browser.options.password } ).then( function () { return bot.edit( title, content, `Created page with "${content}"` ); } ); }, /** * Shortcut for `MWBot#delete( .. )`. * * @since 1.0.0 * @see <https://www.mediawiki.org/wiki/API:Delete> * @param {string} title * @param {string} reason * @return {Object} Promise for API action=delete response data. */ delete( title, reason ) { let bot = new MWBot(); return bot.loginGetEditToken( { apiUrl: `${browser.options.baseUrl}/api.php`, username: browser.options.username, password: browser.options.password } ).then( function () { return bot.delete( title, reason ); } ); }, /** * Shortcut for `MWBot#request( { acount: 'createaccount', .. } )`. * * @since 1.0.0 * @see <https://www.mediawiki.org/wiki/API:Account_creation> * @param {string} username * @param {string} password * @return {Object} Promise for API action=createaccount response data. */ createAccount( username, password ) { let bot = new MWBot(); // Log in as admin return bot.loginGetCreateaccountToken( { apiUrl: `${browser.options.baseUrl}/api.php`, username: browser.options.username, password: browser.options.password } ).then( function () { // Create the new account return bot.request( { action: 'createaccount', createreturnurl: browser.options.baseUrl, createtoken: bot.createaccountToken, username: username, password: password, retype: password } ); } ); } };