appium-doctor
Version:
Test environment for fitness to run Appium
90 lines (63 loc) • 7.41 kB
JavaScript
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==
;