UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

68 lines (56 loc) 5.13 kB
/** * * Protocol bindings for all sessionStorage operations. * * <example> :sessionStorage.js // get the storage item for the given key client.sessionStorage('GET', someKey, function(err,res) { ... }); // get all keys of the storage client.sessionStorage(function(err,res) { ... }); // set the storage item for the given key client.sessionStorage('POST', {key: someKey, value: someValue}); // remove the storage item for the given key client.sessionStorage('DELETE', 'someKey'); // clear the storage client.sessionStorage('DELETE'); * </example> * * @param {String=} method method for storage operation * @param {Object|String=} args operation arguments * * @see https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/session_storage * @type protocol * */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var sessionStorage = function sessionStorage(method, args) { if (method === undefined) method = 'GET'; /** * set default options */ var data = {}; var requestOptions = { path: '/session/:sessionId/session_storage', method: method.toUpperCase() }; if (requestOptions.method === 'POST' && typeof args === 'object') { data = { key: args.key, value: args.value }; } /** * add/delete specific key */ if (requestOptions.method === 'DELETE' && typeof args === 'string' || requestOptions.method === 'GET' && typeof args === 'string') { requestOptions.path += '/key/' + args; } return this.requestHandler.create(requestOptions, data); }; exports['default'] = sessionStorage; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9zZXNzaW9uU3RvcmFnZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxJQUFJLGNBQWMsR0FBRyxTQUFqQixjQUFjLENBQWEsTUFBTSxFQUFVLElBQUksRUFBRTtRQUF0QixNQUFNLGdCQUFOLE1BQU0sR0FBRyxLQUFLOzs7OztBQUl6QyxRQUFJLElBQUksR0FBRyxFQUFFLENBQUE7QUFDYixRQUFJLGNBQWMsR0FBRztBQUNqQixZQUFJLEVBQUUscUNBQXFDO0FBQzNDLGNBQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFO0tBQy9CLENBQUE7O0FBRUQsUUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDOUQsWUFBSSxHQUFHO0FBQ0gsZUFBRyxFQUFFLElBQUksQ0FBQyxHQUFHO0FBQ2IsaUJBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNwQixDQUFBO0tBQ0o7Ozs7O0FBS0QsUUFBSSxBQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFDL0QsY0FBYyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxBQUFDLEVBQUU7QUFDOUQsc0JBQWMsQ0FBQyxJQUFJLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtLQUN4Qzs7QUFFRCxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtDQUMxRCxDQUFBOztxQkFFYyxjQUFjIiwiZmlsZSI6InNlc3Npb25TdG9yYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogUHJvdG9jb2wgYmluZGluZ3MgZm9yIGFsbCBzZXNzaW9uU3RvcmFnZSBvcGVyYXRpb25zLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpzZXNzaW9uU3RvcmFnZS5qc1xuICAgIC8vIGdldCB0aGUgc3RvcmFnZSBpdGVtIGZvciB0aGUgZ2l2ZW4ga2V5XG4gICAgY2xpZW50LnNlc3Npb25TdG9yYWdlKCdHRVQnLCBzb21lS2V5LCBmdW5jdGlvbihlcnIscmVzKSB7IC4uLiB9KTtcblxuICAgIC8vIGdldCBhbGwga2V5cyBvZiB0aGUgc3RvcmFnZVxuICAgIGNsaWVudC5zZXNzaW9uU3RvcmFnZShmdW5jdGlvbihlcnIscmVzKSB7IC4uLiB9KTtcblxuICAgIC8vIHNldCB0aGUgc3RvcmFnZSBpdGVtIGZvciB0aGUgZ2l2ZW4ga2V5XG4gICAgY2xpZW50LnNlc3Npb25TdG9yYWdlKCdQT1NUJywge2tleTogc29tZUtleSwgdmFsdWU6IHNvbWVWYWx1ZX0pO1xuXG4gICAgLy8gcmVtb3ZlIHRoZSBzdG9yYWdlIGl0ZW0gZm9yIHRoZSBnaXZlbiBrZXlcbiAgICBjbGllbnQuc2Vzc2lvblN0b3JhZ2UoJ0RFTEVURScsICdzb21lS2V5Jyk7XG5cbiAgICAvLyBjbGVhciB0aGUgc3RvcmFnZVxuICAgIGNsaWVudC5zZXNzaW9uU3RvcmFnZSgnREVMRVRFJyk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSAgICAgICAgbWV0aG9kICBtZXRob2QgZm9yIHN0b3JhZ2Ugb3BlcmF0aW9uXG4gKiBAcGFyYW0ge09iamVjdHxTdHJpbmc9fSBhcmdzICAgIG9wZXJhdGlvbiBhcmd1bWVudHNcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZVxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHNlc3Npb25TdG9yYWdlID0gZnVuY3Rpb24gKG1ldGhvZCA9ICdHRVQnLCBhcmdzKSB7XG4gICAgLyoqXG4gICAgICogc2V0IGRlZmF1bHQgb3B0aW9uc1xuICAgICAqL1xuICAgIGxldCBkYXRhID0ge31cbiAgICBsZXQgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIHBhdGg6ICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZScsXG4gICAgICAgIG1ldGhvZDogbWV0aG9kLnRvVXBwZXJDYXNlKClcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdE9wdGlvbnMubWV0aG9kID09PSAnUE9TVCcgJiYgdHlwZW9mIGFyZ3MgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICBrZXk6IGFyZ3Mua2V5LFxuICAgICAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFkZC9kZWxldGUgc3BlY2lmaWMga2V5XG4gICAgICovXG4gICAgaWYgKChyZXF1ZXN0T3B0aW9ucy5tZXRob2QgPT09ICdERUxFVEUnICYmIHR5cGVvZiBhcmdzID09PSAnc3RyaW5nJykgfHxcbiAgICAgICAocmVxdWVzdE9wdGlvbnMubWV0aG9kID09PSAnR0VUJyAmJiB0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycpKSB7XG4gICAgICAgIHJlcXVlc3RPcHRpb25zLnBhdGggKz0gJy9rZXkvJyArIGFyZ3NcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUocmVxdWVzdE9wdGlvbnMsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHNlc3Npb25TdG9yYWdlXG4iXX0=