UNPKG

appium-doctor

Version:

Test environment for fitness to run Appium

90 lines (63 loc) 7.41 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FileCheck = exports.DirCheck = void 0; require("source-map-support/register"); var _utils = require("./utils"); var _appiumSupport = require("appium-support"); var _teen_process = require("teen_process"); var _doctor = require("./doctor"); var _logger = _interopRequireDefault(require("./logger")); var _prompt = require("./prompt"); let checks = []; class DirCheck extends _doctor.DoctorCheck { constructor(path) { super({ autofix: false }); this.path = path; } async diagnose() { if (!(await _appiumSupport.fs.exists(this.path))) { return (0, _utils.nok)(`Could NOT find directory at '${this.path}'!`); } let stats = await _appiumSupport.fs.lstat(this.path); return stats.isDirectory() ? (0, _utils.ok)(`Found directory at: ${this.path}`) : (0, _utils.nok)(`'${this.path}' is NOT a directory!`); } async fix() { return `Manually create a directory at: ${this.path}`; } } exports.DirCheck = DirCheck; checks.push(new DirCheck('/tmp/appium-doctor')); checks.push(new DirCheck('/tmp/appium-doctor/demo')); class FileCheck extends _doctor.DoctorCheck { constructor(path) { super({ autofix: true }); this.path = path; } async diagnose() { return (await _appiumSupport.fs.exists(this.path)) ? (0, _utils.ok)(`Found file at: ${this.path}`) : (0, _utils.nok)(`Could NOT find file at '${this.path}'!`); } async fix() { _logger.default.info(`The following command need be executed: touch '${this.path}'`); let yesno = await (0, _prompt.fixIt)(); if (yesno === 'yes') { await (0, _teen_process.exec)('touch', [this.path]); } else { _logger.default.info(`Skipping you will need to touch '${this.path}' manually.`); throw new _doctor.FixSkippedError('bbb'); } } } exports.FileCheck = FileCheck; checks.push(new FileCheck('/tmp/appium-doctor/demo/apple.fruit')); checks.push(new FileCheck('/tmp/appium-doctor/demo/pear.fruit')); checks.push(new FileCheck('/tmp/appium-doctor/demo/orange.fruit')); var _default = checks; exports.default = _default;require('source-map-support').install(); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2RlbW8uanMiLCJuYW1lcyI6WyJjaGVja3MiLCJEaXJDaGVjayIsIkRvY3RvckNoZWNrIiwiY29uc3RydWN0b3IiLCJwYXRoIiwiYXV0b2ZpeCIsImRpYWdub3NlIiwiZnMiLCJleGlzdHMiLCJub2siLCJzdGF0cyIsImxzdGF0IiwiaXNEaXJlY3RvcnkiLCJvayIsImZpeCIsInB1c2giLCJGaWxlQ2hlY2siLCJsb2ciLCJpbmZvIiwieWVzbm8iLCJmaXhJdCIsImV4ZWMiLCJGaXhTa2lwcGVkRXJyb3IiXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvZGVtby5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBkZW1vIHJ1bGUgdG8gdGVzdCB0aGUgZ3VpXG5cbmltcG9ydCB7IG9rLCBub2sgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgeyBEb2N0b3JDaGVjaywgRml4U2tpcHBlZEVycm9yIH0gZnJvbSAnLi9kb2N0b3InO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBmaXhJdCB9IGZyb20gJy4vcHJvbXB0JztcblxuXG5sZXQgY2hlY2tzID0gW107XG5cbmNsYXNzIERpckNoZWNrIGV4dGVuZHMgRG9jdG9yQ2hlY2sge1xuICBjb25zdHJ1Y3RvciAocGF0aCkge1xuICAgIHN1cGVyKHthdXRvZml4OiBmYWxzZX0pO1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gIH1cblxuICBhc3luYyBkaWFnbm9zZSAoKSB7XG4gICAgaWYgKCFhd2FpdCBmcy5leGlzdHModGhpcy5wYXRoKSkge1xuICAgICAgcmV0dXJuIG5vayhgQ291bGQgTk9UIGZpbmQgZGlyZWN0b3J5IGF0ICcke3RoaXMucGF0aH0nIWApO1xuICAgIH1cbiAgICBsZXQgc3RhdHMgPSBhd2FpdCBmcy5sc3RhdCh0aGlzLnBhdGgpO1xuICAgIHJldHVybiBzdGF0cy5pc0RpcmVjdG9yeSgpID9cbiAgICAgIG9rKGBGb3VuZCBkaXJlY3RvcnkgYXQ6ICR7dGhpcy5wYXRofWApIDogbm9rKGAnJHt0aGlzLnBhdGh9JyBpcyBOT1QgYSBkaXJlY3RvcnkhYCk7XG4gIH1cblxuICBhc3luYyBmaXggKCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICByZXR1cm4gYE1hbnVhbGx5IGNyZWF0ZSBhIGRpcmVjdG9yeSBhdDogJHt0aGlzLnBhdGh9YDtcbiAgfVxufVxuXG5jaGVja3MucHVzaChuZXcgRGlyQ2hlY2soJy90bXAvYXBwaXVtLWRvY3RvcicpKTtcbmNoZWNrcy5wdXNoKG5ldyBEaXJDaGVjaygnL3RtcC9hcHBpdW0tZG9jdG9yL2RlbW8nKSk7XG5cbmNsYXNzIEZpbGVDaGVjayBleHRlbmRzIERvY3RvckNoZWNrIHtcbiAgY29uc3RydWN0b3IgKHBhdGgpIHtcbiAgICBzdXBlcih7YXV0b2ZpeDogdHJ1ZX0pO1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gIH1cblxuICBhc3luYyBkaWFnbm9zZSAoKSB7XG4gICAgcmV0dXJuIGF3YWl0IGZzLmV4aXN0cyh0aGlzLnBhdGgpID9cbiAgICAgIG9rKGBGb3VuZCBmaWxlIGF0OiAke3RoaXMucGF0aH1gKSA6IG5vayhgQ291bGQgTk9UIGZpbmQgZmlsZSBhdCAnJHt0aGlzLnBhdGh9JyFgKTtcbiAgfVxuXG4gIGFzeW5jIGZpeCAoKSB7XG4gICAgbG9nLmluZm8oYFRoZSBmb2xsb3dpbmcgY29tbWFuZCBuZWVkIGJlIGV4ZWN1dGVkOiB0b3VjaCAnJHt0aGlzLnBhdGh9J2ApO1xuICAgIGxldCB5ZXNubyA9IGF3YWl0IGZpeEl0KCk7XG4gICAgaWYgKHllc25vID09PSAneWVzJykge1xuICAgICAgYXdhaXQgZXhlYygndG91Y2gnLCBbdGhpcy5wYXRoXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5pbmZvKGBTa2lwcGluZyB5b3Ugd2lsbCBuZWVkIHRvIHRvdWNoICcke3RoaXMucGF0aH0nIG1hbnVhbGx5LmApO1xuICAgICAgdGhyb3cgbmV3IEZpeFNraXBwZWRFcnJvcignYmJiJyk7XG4gICAgfVxuICB9XG59XG5cbmNoZWNrcy5wdXNoKG5ldyBGaWxlQ2hlY2soJy90bXAvYXBwaXVtLWRvY3Rvci9kZW1vL2FwcGxlLmZydWl0JykpO1xuY2hlY2tzLnB1c2gobmV3IEZpbGVDaGVjaygnL3RtcC9hcHBpdW0tZG9jdG9yL2RlbW8vcGVhci5mcnVpdCcpKTtcbmNoZWNrcy5wdXNoKG5ldyBGaWxlQ2hlY2soJy90bXAvYXBwaXVtLWRvY3Rvci9kZW1vL29yYW5nZS5mcnVpdCcpKTtcblxuZXhwb3J0IHsgRGlyQ2hlY2ssIEZpbGVDaGVjayB9O1xuZXhwb3J0IGRlZmF1bHQgY2hlY2tzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLElBQUlBLE1BQU0sR0FBRyxFQUFiOztBQUVBLE1BQU1DLFFBQU4sU0FBdUJDLG1CQUF2QixDQUFtQztFQUNqQ0MsV0FBVyxDQUFFQyxJQUFGLEVBQVE7SUFDakIsTUFBTTtNQUFDQyxPQUFPLEVBQUU7SUFBVixDQUFOO0lBQ0EsS0FBS0QsSUFBTCxHQUFZQSxJQUFaO0VBQ0Q7O0VBRWEsTUFBUkUsUUFBUSxHQUFJO0lBQ2hCLElBQUksRUFBQyxNQUFNQyxpQkFBQSxDQUFHQyxNQUFILENBQVUsS0FBS0osSUFBZixDQUFQLENBQUosRUFBaUM7TUFDL0IsT0FBTyxJQUFBSyxVQUFBLEVBQUssZ0NBQStCLEtBQUtMLElBQUssSUFBOUMsQ0FBUDtJQUNEOztJQUNELElBQUlNLEtBQUssR0FBRyxNQUFNSCxpQkFBQSxDQUFHSSxLQUFILENBQVMsS0FBS1AsSUFBZCxDQUFsQjtJQUNBLE9BQU9NLEtBQUssQ0FBQ0UsV0FBTixLQUNMLElBQUFDLFNBQUEsRUFBSSx1QkFBc0IsS0FBS1QsSUFBSyxFQUFwQyxDQURLLEdBQ29DLElBQUFLLFVBQUEsRUFBSyxJQUFHLEtBQUtMLElBQUssdUJBQWxCLENBRDNDO0VBRUQ7O0VBRVEsTUFBSFUsR0FBRyxHQUFJO0lBQ1gsT0FBUSxtQ0FBa0MsS0FBS1YsSUFBSyxFQUFwRDtFQUNEOztBQWpCZ0M7OztBQW9CbkNKLE1BQU0sQ0FBQ2UsSUFBUCxDQUFZLElBQUlkLFFBQUosQ0FBYSxvQkFBYixDQUFaO0FBQ0FELE1BQU0sQ0FBQ2UsSUFBUCxDQUFZLElBQUlkLFFBQUosQ0FBYSx5QkFBYixDQUFaOztBQUVBLE1BQU1lLFNBQU4sU0FBd0JkLG1CQUF4QixDQUFvQztFQUNsQ0MsV0FBVyxDQUFFQyxJQUFGLEVBQVE7SUFDakIsTUFBTTtNQUFDQyxPQUFPLEVBQUU7SUFBVixDQUFOO0lBQ0EsS0FBS0QsSUFBTCxHQUFZQSxJQUFaO0VBQ0Q7O0VBRWEsTUFBUkUsUUFBUSxHQUFJO0lBQ2hCLE9BQU8sT0FBTUMsaUJBQUEsQ0FBR0MsTUFBSCxDQUFVLEtBQUtKLElBQWYsQ0FBTixJQUNMLElBQUFTLFNBQUEsRUFBSSxrQkFBaUIsS0FBS1QsSUFBSyxFQUEvQixDQURLLEdBQytCLElBQUFLLFVBQUEsRUFBSywyQkFBMEIsS0FBS0wsSUFBSyxJQUF6QyxDQUR0QztFQUVEOztFQUVRLE1BQUhVLEdBQUcsR0FBSTtJQUNYRyxlQUFBLENBQUlDLElBQUosQ0FBVSxrREFBaUQsS0FBS2QsSUFBSyxHQUFyRTs7SUFDQSxJQUFJZSxLQUFLLEdBQUcsTUFBTSxJQUFBQyxhQUFBLEdBQWxCOztJQUNBLElBQUlELEtBQUssS0FBSyxLQUFkLEVBQXFCO01BQ25CLE1BQU0sSUFBQUUsa0JBQUEsRUFBSyxPQUFMLEVBQWMsQ0FBQyxLQUFLakIsSUFBTixDQUFkLENBQU47SUFDRCxDQUZELE1BRU87TUFDTGEsZUFBQSxDQUFJQyxJQUFKLENBQVUsb0NBQW1DLEtBQUtkLElBQUssYUFBdkQ7O01BQ0EsTUFBTSxJQUFJa0IsdUJBQUosQ0FBb0IsS0FBcEIsQ0FBTjtJQUNEO0VBQ0Y7O0FBcEJpQzs7O0FBdUJwQ3RCLE1BQU0sQ0FBQ2UsSUFBUCxDQUFZLElBQUlDLFNBQUosQ0FBYyxxQ0FBZCxDQUFaO0FBQ0FoQixNQUFNLENBQUNlLElBQVAsQ0FBWSxJQUFJQyxTQUFKLENBQWMsb0NBQWQsQ0FBWjtBQUNBaEIsTUFBTSxDQUFDZSxJQUFQLENBQVksSUFBSUMsU0FBSixDQUFjLHNDQUFkLENBQVo7ZUFHZWhCLE0ifQ==