From f74b3a51b031ac62d395e30868cd036e40315b85 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 26 Jun 2016 16:16:12 +0200 Subject: [PATCH] now creating config as standard --- dist/smartssh.classes.sshconfig.js | 9 +++++---- dist/smartssh.classes.sshdir.d.ts | 7 ++++--- dist/smartssh.classes.sshdir.js | 21 +++++++++++++-------- test/test.js | 9 +++++++-- test/test.ts | 9 +++++++-- ts/smartssh.classes.sshconfig.ts | 7 ++++--- ts/smartssh.classes.sshdir.ts | 24 ++++++++++++++---------- 7 files changed, 54 insertions(+), 32 deletions(-) diff --git a/dist/smartssh.classes.sshconfig.js b/dist/smartssh.classes.sshconfig.js index d705d89..a7ca86e 100644 --- a/dist/smartssh.classes.sshconfig.js +++ b/dist/smartssh.classes.sshconfig.js @@ -10,14 +10,15 @@ var SshConfig = (function () { */ SshConfig.prototype.store = function (dirPathArg) { var done = plugins.q.defer(); - var configArray; + var configArray = []; var configString; for (var key in this.sshKeyArray) { var sshKey = this.sshKeyArray[key]; if (sshKey.host) { configString = "Host " + sshKey.host + "\n" + " HostName " + sshKey.host + "\n" + - " IdentityFile ~/.ssh/" + sshKey.host + "\n"; + " IdentityFile ~/.ssh/" + sshKey.host + "\n" + + " StrictHostKeyChecking no" + "\n"; } configArray.push({ configString: configString, @@ -30,7 +31,7 @@ var SshConfig = (function () { configFile = configFile + configArray[key].configString + "\n"; } ; - plugins.smartfile.memory.toFsSync(configFile, dirPathArg); + plugins.smartfile.memory.toFsSync(configFile, plugins.path.join(dirPathArg, "config")); return done.promise; }; SshConfig.prototype.read = function (dirPathArg) { @@ -44,4 +45,4 @@ exports.SshConfig = SshConfig; ; ; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUk5QztJQUVJLG1CQUFZLGNBQXVCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILHlCQUFLLEdBQUwsVUFBTSxVQUFpQjtRQUNuQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksV0FBMEIsQ0FBQztRQUMvQixJQUFJLFlBQVksQ0FBQztRQUNqQixHQUFHLENBQUEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUEsQ0FBQztZQUM3QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLEVBQUUsQ0FBQSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDO2dCQUNaLFlBQVksR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJO29CQUN4QixhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJO29CQUNsQyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtZQUNwRSxDQUFDO1lBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDYixZQUFZLEVBQUMsWUFBWTtnQkFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2dCQUM3QixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1FBQzNCLEdBQUcsQ0FBQSxDQUFDLElBQUksR0FBRyxJQUFJLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDeEIsVUFBVSxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNuRSxDQUFDO1FBQUEsQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNELHdCQUFJLEdBQUosVUFBSyxVQUFVO1FBQ1gsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLFdBQTBCLENBQUM7UUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNMLGdCQUFDO0FBQUQsQ0F2Q0EsQUF1Q0MsSUFBQTtBQXZDWSxpQkFBUyxZQXVDckIsQ0FBQTtBQUFBLENBQUM7QUFNRCxDQUFDIiwiZmlsZSI6InNtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRzc2gucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgaGVscGVycyBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLmhlbHBlcnNcIjtcbmltcG9ydCB7U3NoS2V5fSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGtleVwiXG5cbmV4cG9ydCBjbGFzcyBTc2hDb25maWcge1xuICAgIHNzaEtleUFycmF5OlNzaEtleVtdO1xuICAgIGNvbnN0cnVjdG9yKHNzaEtleUFycmF5QXJnOlNzaEtleVtdKXtcbiAgICAgICAgdGhpcy5zc2hLZXlBcnJheSA9IHNzaEtleUFycmF5QXJnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHN0b3JlcyBhIGNvbmZpZyBmaWxlXG4gICAgICovXG4gICAgc3RvcmUoZGlyUGF0aEFyZzpzdHJpbmcpe1xuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgICAgICBsZXQgY29uZmlnQXJyYXk6Y29uZmlnT2JqZWN0W107XG4gICAgICAgIGxldCBjb25maWdTdHJpbmc7XG4gICAgICAgIGZvcihsZXQga2V5IGluIHRoaXMuc3NoS2V5QXJyYXkpe1xuICAgICAgICAgICAgbGV0IHNzaEtleSA9IHRoaXMuc3NoS2V5QXJyYXlba2V5XTtcbiAgICAgICAgICAgIGlmKHNzaEtleS5ob3N0KXtcbiAgICAgICAgICAgICAgICBjb25maWdTdHJpbmcgPSBcIkhvc3QgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSG9zdE5hbWUgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSWRlbnRpdHlGaWxlIH4vLnNzaC9cIiArIHNzaEtleS5ob3N0ICsgXCJcXG5cIlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uZmlnQXJyYXkucHVzaCh7XG4gICAgICAgICAgICAgICAgY29uZmlnU3RyaW5nOmNvbmZpZ1N0cmluZyxcbiAgICAgICAgICAgICAgICBhdXRob3JpemVkOiBzc2hLZXkuYXV0aG9yaXplZCxcbiAgICAgICAgICAgICAgICBzc2hLZXk6IHNzaEtleVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNvbmZpZ0ZpbGU6c3RyaW5nID0gXCJcIjtcbiAgICAgICAgZm9yKGxldCBrZXkgaW4gY29uZmlnQXJyYXkpe1xuICAgICAgICAgICAgY29uZmlnRmlsZSA9IGNvbmZpZ0ZpbGUgKyBjb25maWdBcnJheVtrZXldLmNvbmZpZ1N0cmluZyArIFwiXFxuXCI7XG4gICAgICAgIH07XG4gICAgICAgIHBsdWdpbnMuc21hcnRmaWxlLm1lbW9yeS50b0ZzU3luYyhjb25maWdGaWxlLGRpclBhdGhBcmcpO1xuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xuICAgIH1cbiAgICByZWFkKGRpclBhdGhBcmcpe1xuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgICAgICBsZXQgY29uZmlnQXJyYXk6Y29uZmlnT2JqZWN0W107XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xuICAgIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgY29uZmlnT2JqZWN0IHtcbiAgICBjb25maWdTdHJpbmc6c3RyaW5nO1xuICAgIGF1dGhvcml6ZWQ6Ym9vbGVhbjtcbiAgICBzc2hLZXk6U3NoS2V5O1xufTtcblxuIl19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUk5QztJQUVJLG1CQUFZLGNBQXVCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILHlCQUFLLEdBQUwsVUFBTSxVQUFpQjtRQUNuQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksV0FBVyxHQUFrQixFQUFFLENBQUM7UUFDcEMsSUFBSSxZQUFZLENBQUM7UUFDakIsR0FBRyxDQUFBLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDN0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxFQUFFLENBQUEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQztnQkFDWixZQUFZLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSTtvQkFDeEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSTtvQkFDbEMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJO29CQUM3Qyw0QkFBNEIsR0FBRyxJQUFJLENBQUE7WUFDMUQsQ0FBQztZQUNELFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsWUFBWSxFQUFDLFlBQVk7Z0JBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDN0IsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksVUFBVSxHQUFVLEVBQUUsQ0FBQztRQUMzQixHQUFHLENBQUEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQSxDQUFDO1lBQ3hCLFVBQVUsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDbkUsQ0FBQztRQUFBLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCx3QkFBSSxHQUFKLFVBQUssVUFBVTtRQUNYLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxXQUEwQixDQUFDO1FBRS9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDTCxnQkFBQztBQUFELENBeENBLEFBd0NDLElBQUE7QUF4Q1ksaUJBQVMsWUF3Q3JCLENBQUE7QUFBQSxDQUFDO0FBTUQsQ0FBQyIsImZpbGUiOiJzbWFydHNzaC5jbGFzc2VzLnNzaGNvbmZpZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3NtYXJ0c3NoLnBsdWdpbnNcIjtcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzXCI7XG5pbXBvcnQge1NzaEtleX0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hrZXlcIlxuXG5leHBvcnQgY2xhc3MgU3NoQ29uZmlnIHtcbiAgICBzc2hLZXlBcnJheTpTc2hLZXlbXTtcbiAgICBjb25zdHJ1Y3Rvcihzc2hLZXlBcnJheUFyZzpTc2hLZXlbXSl7XG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBzc2hLZXlBcnJheUFyZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzdG9yZXMgYSBjb25maWcgZmlsZVxuICAgICAqL1xuICAgIHN0b3JlKGRpclBhdGhBcmc6c3RyaW5nKXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgbGV0IGNvbmZpZ0FycmF5OmNvbmZpZ09iamVjdFtdID0gW107XG4gICAgICAgIGxldCBjb25maWdTdHJpbmc7XG4gICAgICAgIGZvcihsZXQga2V5IGluIHRoaXMuc3NoS2V5QXJyYXkpe1xuICAgICAgICAgICAgbGV0IHNzaEtleSA9IHRoaXMuc3NoS2V5QXJyYXlba2V5XTtcbiAgICAgICAgICAgIGlmKHNzaEtleS5ob3N0KXtcbiAgICAgICAgICAgICAgICBjb25maWdTdHJpbmcgPSBcIkhvc3QgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSG9zdE5hbWUgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSWRlbnRpdHlGaWxlIH4vLnNzaC9cIiArIHNzaEtleS5ob3N0ICsgXCJcXG5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiICBTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgbm9cIiArIFwiXFxuXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbmZpZ0FycmF5LnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbmZpZ1N0cmluZzpjb25maWdTdHJpbmcsXG4gICAgICAgICAgICAgICAgYXV0aG9yaXplZDogc3NoS2V5LmF1dGhvcml6ZWQsXG4gICAgICAgICAgICAgICAgc3NoS2V5OiBzc2hLZXlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjb25maWdGaWxlOnN0cmluZyA9IFwiXCI7XG4gICAgICAgIGZvcihsZXQga2V5IGluIGNvbmZpZ0FycmF5KXtcbiAgICAgICAgICAgIGNvbmZpZ0ZpbGUgPSBjb25maWdGaWxlICsgY29uZmlnQXJyYXlba2V5XS5jb25maWdTdHJpbmcgKyBcIlxcblwiO1xuICAgICAgICB9O1xuICAgICAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9Gc1N5bmMoY29uZmlnRmlsZSxwbHVnaW5zLnBhdGguam9pbihkaXJQYXRoQXJnLFwiY29uZmlnXCIpKTtcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9XG4gICAgcmVhZChkaXJQYXRoQXJnKXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgbGV0IGNvbmZpZ0FycmF5OmNvbmZpZ09iamVjdFtdO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIGNvbmZpZ09iamVjdCB7XG4gICAgY29uZmlnU3RyaW5nOnN0cmluZztcbiAgICBhdXRob3JpemVkOmJvb2xlYW47XG4gICAgc3NoS2V5OlNzaEtleTtcbn07XG5cbiJdfQ== diff --git a/dist/smartssh.classes.sshdir.d.ts b/dist/smartssh.classes.sshdir.d.ts index 3d3b8ea..831b50c 100644 --- a/dist/smartssh.classes.sshdir.d.ts +++ b/dist/smartssh.classes.sshdir.d.ts @@ -2,11 +2,12 @@ import "typings-global"; import { SshKey } from "./smartssh.classes.sshkey"; import { SshConfig } from "./smartssh.classes.sshconfig"; export declare class SshDir { - path: string; - private sshKeyArray; - private sshConfig; + private _path; + private _sshKeyArray; + private _sshConfig; constructor(sshKeyArray: SshKey[], sshConfig: SshConfig, sshDirPathArg?: string); writeToDir(): void; readFromDir(): void; + updateDirPath(dirPathArg: string): void; getKeys(): SshKey[]; } diff --git a/dist/smartssh.classes.sshdir.js b/dist/smartssh.classes.sshdir.js index 8f81677..0a135a4 100644 --- a/dist/smartssh.classes.sshdir.js +++ b/dist/smartssh.classes.sshdir.js @@ -4,30 +4,35 @@ var plugins = require("./smartssh.plugins"); var helpers = require("./smartssh.classes.helpers"); var SshDir = (function () { function SshDir(sshKeyArray, sshConfig, sshDirPathArg) { - this.sshKeyArray = sshKeyArray; + this._sshKeyArray = sshKeyArray; + this._sshConfig = sshConfig; if (sshDirPathArg) { - this.path = sshDirPathArg; + this._path = sshDirPathArg; } else { - this.path = plugins.path.join(plugins.smartpath.get.home(), ".ssh/"); + this._path = plugins.path.join(plugins.smartpath.get.home(), ".ssh/"); } ; } SshDir.prototype.writeToDir = function () { var _this = this; - this.sshKeyArray.forEach(function (sshKeyArg) { - sshKeyArg.store(_this.path); + this._sshKeyArray.forEach(function (sshKeyArg) { + sshKeyArg.store(_this._path); }); - this.sshConfig.store(this.path); + this._sshConfig.store(this._path); }; ; SshDir.prototype.readFromDir = function () { }; + SshDir.prototype.updateDirPath = function (dirPathArg) { + this._path = dirPathArg; + }; + ; SshDir.prototype.getKeys = function () { - return helpers.sshKeyArrayFromDir(this.path); + return helpers.sshKeyArrayFromDir(this._path); }; return SshDir; }()); exports.SshDir = SshDir; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUM5QyxJQUFZLE9BQU8sV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBSXREO0lBSUksZ0JBQVksV0FBb0IsRUFBQyxTQUFtQixFQUFDLGFBQXFCO1FBQ3RFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUM5QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELDJCQUFVLEdBQVY7UUFBQSxpQkFLQztRQUpHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQUMsU0FBUztZQUMvQixTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOztJQUNELDRCQUFXLEdBQVg7SUFFQSxDQUFDO0lBQ0Qsd0JBQU8sR0FBUDtRQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDTCxhQUFDO0FBQUQsQ0F4QkEsQUF3QkMsSUFBQTtBQXhCWSxjQUFNLFNBd0JsQixDQUFBIiwiZmlsZSI6InNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRzc2gucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgaGVscGVycyBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLmhlbHBlcnNcIjtcbmltcG9ydCB7U3NoSW5zdGFuY2V9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2VcIjtcbmltcG9ydCB7U3NoS2V5fSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGtleVwiO1xuaW1wb3J0IHtTc2hDb25maWd9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnXCI7XG5leHBvcnQgY2xhc3MgU3NoRGlyIHsgLy8gc3NoRGlyIGNsYXNzIC0+IE5PVCBFWFBPUlRFRCwgT05MWSBGT1IgSU5URVJOQUwgVVNFXG4gICAgcGF0aDpzdHJpbmc7IC8vIHRoZSBwYXRoIG9mIHRoZSBzc2ggZGlyZWN0b3J5XG4gICAgcHJpdmF0ZSBzc2hLZXlBcnJheTpTc2hLZXlbXTtcbiAgICBwcml2YXRlIHNzaENvbmZpZzpTc2hDb25maWc7XG4gICAgY29uc3RydWN0b3Ioc3NoS2V5QXJyYXk6U3NoS2V5W10sc3NoQ29uZmlnOlNzaENvbmZpZyxzc2hEaXJQYXRoQXJnPzpzdHJpbmcpe1xuICAgICAgICB0aGlzLnNzaEtleUFycmF5ID0gc3NoS2V5QXJyYXk7XG4gICAgICAgIGlmKHNzaERpclBhdGhBcmcpe1xuICAgICAgICAgICAgdGhpcy5wYXRoID0gc3NoRGlyUGF0aEFyZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGF0aCA9IHBsdWdpbnMucGF0aC5qb2luKHBsdWdpbnMuc21hcnRwYXRoLmdldC5ob21lKCksXCIuc3NoL1wiKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgd3JpdGVUb0RpcigpeyAvLyBzeW5jcyBzc2hJbnN0YW5jZSB0byBkaXJlY3RvcnlcbiAgICAgICAgdGhpcy5zc2hLZXlBcnJheS5mb3JFYWNoKChzc2hLZXlBcmcpID0+IHtcbiAgICAgICAgICAgIHNzaEtleUFyZy5zdG9yZSh0aGlzLnBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zc2hDb25maWcuc3RvcmUodGhpcy5wYXRoKTtcbiAgICB9O1xuICAgIHJlYWRGcm9tRGlyKCl7IC8vIHN5bmNzIHNzaEluc3RhbmNlIGZyb20gZGlyZWN0b3J5XG4gICAgICAgIFxuICAgIH1cbiAgICBnZXRLZXlzKCl7XG4gICAgICAgIHJldHVybiBoZWxwZXJzLnNzaEtleUFycmF5RnJvbURpcih0aGlzLnBhdGgpO1xuICAgIH1cbn0iXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUM5QyxJQUFZLE9BQU8sV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBSXREO0lBSUksZ0JBQVksV0FBb0IsRUFBQyxTQUFtQixFQUFDLGFBQXFCO1FBQ3RFLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztRQUMvQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELDJCQUFVLEdBQVY7UUFBQSxpQkFLQztRQUpHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQUMsU0FBUztZQUNoQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOztJQUNELDRCQUFXLEdBQVg7SUFFQSxDQUFDO0lBQ0QsOEJBQWEsR0FBYixVQUFjLFVBQWlCO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO0lBQzVCLENBQUM7O0lBQ0Qsd0JBQU8sR0FBUDtRQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDTCxhQUFDO0FBQUQsQ0E1QkEsQUE0QkMsSUFBQTtBQTVCWSxjQUFNLFNBNEJsQixDQUFBIiwiZmlsZSI6InNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRzc2gucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgaGVscGVycyBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLmhlbHBlcnNcIjtcbmltcG9ydCB7U3NoSW5zdGFuY2V9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2VcIjtcbmltcG9ydCB7U3NoS2V5fSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGtleVwiO1xuaW1wb3J0IHtTc2hDb25maWd9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnXCI7XG5leHBvcnQgY2xhc3MgU3NoRGlyIHsgLy8gc3NoRGlyIGNsYXNzIC0+IE5PVCBFWFBPUlRFRCwgT05MWSBGT1IgSU5URVJOQUwgVVNFXG4gICAgcHJpdmF0ZSBfcGF0aDpzdHJpbmc7IC8vIHRoZSBwYXRoIG9mIHRoZSBzc2ggZGlyZWN0b3J5XG4gICAgcHJpdmF0ZSBfc3NoS2V5QXJyYXk6U3NoS2V5W107XG4gICAgcHJpdmF0ZSBfc3NoQ29uZmlnOlNzaENvbmZpZztcbiAgICBjb25zdHJ1Y3Rvcihzc2hLZXlBcnJheTpTc2hLZXlbXSxzc2hDb25maWc6U3NoQ29uZmlnLHNzaERpclBhdGhBcmc/OnN0cmluZyl7XG4gICAgICAgIHRoaXMuX3NzaEtleUFycmF5ID0gc3NoS2V5QXJyYXk7XG4gICAgICAgIHRoaXMuX3NzaENvbmZpZyA9IHNzaENvbmZpZztcbiAgICAgICAgaWYoc3NoRGlyUGF0aEFyZyl7XG4gICAgICAgICAgICB0aGlzLl9wYXRoID0gc3NoRGlyUGF0aEFyZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3BhdGggPSBwbHVnaW5zLnBhdGguam9pbihwbHVnaW5zLnNtYXJ0cGF0aC5nZXQuaG9tZSgpLFwiLnNzaC9cIik7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHdyaXRlVG9EaXIoKXsgLy8gc3luY3Mgc3NoSW5zdGFuY2UgdG8gZGlyZWN0b3J5XG4gICAgICAgIHRoaXMuX3NzaEtleUFycmF5LmZvckVhY2goKHNzaEtleUFyZykgPT4ge1xuICAgICAgICAgICAgc3NoS2V5QXJnLnN0b3JlKHRoaXMuX3BhdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3NoQ29uZmlnLnN0b3JlKHRoaXMuX3BhdGgpO1xuICAgIH07XG4gICAgcmVhZEZyb21EaXIoKXsgLy8gc3luY3Mgc3NoSW5zdGFuY2UgZnJvbSBkaXJlY3RvcnlcbiAgICAgICAgXG4gICAgfVxuICAgIHVwZGF0ZURpclBhdGgoZGlyUGF0aEFyZzpzdHJpbmcpe1xuICAgICAgICB0aGlzLl9wYXRoID0gZGlyUGF0aEFyZztcbiAgICB9O1xuICAgIGdldEtleXMoKXtcbiAgICAgICAgcmV0dXJuIGhlbHBlcnMuc3NoS2V5QXJyYXlGcm9tRGlyKHRoaXMuX3BhdGgpO1xuICAgIH1cbn0iXX0= diff --git a/test/test.js b/test/test.js index 86f99dc..e5e9e8f 100644 --- a/test/test.js +++ b/test/test.js @@ -33,7 +33,9 @@ describe("smartssh", function () { }); describe(".SshInstance", function () { it("'new' keyword should create a new SshInstance object from class", function () { - testSshInstance = new smartssh.SshInstance(); + testSshInstance = new smartssh.SshInstance({ + sshDirPath: path.join(process.cwd(), "test/temp/") + }); testSshInstance.should.be.instanceof(smartssh.SshInstance); }); it(".addKey() should accept a new SshKey object", function () { @@ -67,7 +69,10 @@ describe("smartssh", function () { testSshInstance.removeKey(testSshInstance.getKey("bitbucket.org")); testSshInstance.sshKeys[1].host.should.equal("github.com"); }); + it("it should store to disk", function () { + testSshInstance.writeToDisk(); + }); }); }); -//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFDLE9BQU8sQ0FBQztZQUMxQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxzREFBc0QsRUFBQztZQUN0RCxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMsa0NBQWtDLEVBQUM7WUFDbEMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDbkUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUEiLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtdGVzdFwiXG5pbXBvcnQgXCJzaG91bGRcIjtcbmltcG9ydCBzbWFydHNzaCA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xuaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmRlc2NyaWJlKFwic21hcnRzc2hcIixmdW5jdGlvbigpe1xuICAgIGxldCB0ZXN0U3NoSW5zdGFuY2U6c21hcnRzc2guU3NoSW5zdGFuY2U7XG4gICAgbGV0IHRlc3RTc2hLZXk6c21hcnRzc2guU3NoS2V5O1xuICAgIGRlc2NyaWJlKFwiLlNzaEtleVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwiJ25ldycga2V5d29yZCBzaG91bGQgY3JlYXRlIGEgdmFsaWQgU3NoS2V5IG9iamVjdFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5ID0gbmV3IHNtYXJ0c3NoLlNzaEtleSh7XG4gICAgICAgICAgICAgICAgaG9zdDpcImV4YW1wbGUuY29tXCIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZTpcInNvbWVFeGFtcGxlUHJpdmF0ZUtleVwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzpcInNvbWVFeGFtcGxlUHVibGljS2V5XCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGVzdFNzaEtleS5zaG91bGQuYmUuaW5zdGFuY2VvZihzbWFydHNzaC5Tc2hLZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIudHlwZSBzaG91bGQgYmUgYSB2YWxpZCB0eXBlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hLZXkudHlwZS5zaG91bGQuZXF1YWwoXCJkdXBsZXhcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcIi5wdWJsaWNLZXkgc2hvdWxkIGJlIHB1YmxpYyBrZXlcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEtleS5wdWJLZXkuc2hvdWxkLmVxdWFsKFwic29tZUV4YW1wbGVQdWJsaWNLZXlcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcIi5wcml2YXRlS2V5IHNob3VsZCBiZSBwcml2YXRlIGtleVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5LnByaXZLZXkuc2hvdWxkLmVxdWFsKFwic29tZUV4YW1wbGVQcml2YXRlS2V5XCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIucHVibGljS2V5QmFzZTY0IHNob3VsZCBiZSBwdWJsaWMga2V5IGJhc2UgNjQgZW5jb2RlZFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5LnB1YktleUJhc2U2NDtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLnN0b3JlKCkgc2hvdWxkIHN0b3JlIHRoZSBmaWxlIHRvIGRpc2tcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEtleS5zdG9yZShwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSxcInRlc3QvdGVtcFwiKSk7XG4gICAgICAgIH0pXG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuU3NoSW5zdGFuY2VcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcIiduZXcnIGtleXdvcmQgc2hvdWxkIGNyZWF0ZSBhIG5ldyBTc2hJbnN0YW5jZSBvYmplY3QgZnJvbSBjbGFzc1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoSW5zdGFuY2UgPSBuZXcgc21hcnRzc2guU3NoSW5zdGFuY2UoKTtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5zaG91bGQuYmUuaW5zdGFuY2VvZihzbWFydHNzaC5Tc2hJbnN0YW5jZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcIi5hZGRLZXkoKSBzaG91bGQgYWNjZXB0IGEgbmV3IFNzaEtleSBvYmplY3RcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEluc3RhbmNlLmFkZEtleShuZXcgc21hcnRzc2guU3NoS2V5KHtcbiAgICAgICAgICAgICAgICBwdWJsaWM6XCJzb21lUHVibGljS2V5XCIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZTpcInNvbWVQcml2YXRlS2V5XCIsXG4gICAgICAgICAgICAgICAgaG9zdDpcImdpdGxhYi5jb21cIlxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGVzdFNzaEluc3RhbmNlLmFkZEtleShuZXcgc21hcnRzc2guU3NoS2V5KHtcbiAgICAgICAgICAgICAgICBwdWJsaWM6XCJzb21lUHVibGljS2V5XCIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZTpcInNvbWVQcml2YXRlS2V5XCIsXG4gICAgICAgICAgICAgICAgaG9zdDpcImJpdGJ1Y2tldC5vcmdcIlxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGVzdFNzaEluc3RhbmNlLmFkZEtleShuZXcgc21hcnRzc2guU3NoS2V5KHtcbiAgICAgICAgICAgICAgICBwdWJsaWM6XCJzb21lR2l0SHViUHVibGljS2V5XCIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZTpcInNvbWVHaXRIdWJQcml2YXRlS2V5XCIsXG4gICAgICAgICAgICAgICAgaG9zdDpcImdpdGh1Yi5jb21cIlxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIuc3NoS2V5cyBzaG91bGQgcG9pbnQgdG8gYW4gYXJyYXkgb2Ygc3NoS2V5c1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBsZXQgc3NoS2V5QXJyYXkgPSB0ZXN0U3NoSW5zdGFuY2Uuc3NoS2V5cztcbiAgICAgICAgICAgIHNzaEtleUFycmF5LnNob3VsZC5iZS5BcnJheSgpO1xuICAgICAgICAgICAgc3NoS2V5QXJyYXlbMF0uaG9zdC5zaG91bGQuZXF1YWwoXCJnaXRsYWIuY29tXCIpO1xuICAgICAgICAgICAgc3NoS2V5QXJyYXlbMV0uaG9zdC5zaG91bGQuZXF1YWwoXCJiaXRidWNrZXQub3JnXCIpO1xuICAgICAgICAgICAgc3NoS2V5QXJyYXlbMl0uaG9zdC5zaG91bGQuZXF1YWwoXCJnaXRodWIuY29tXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIuZ2V0S2V5KCkgc2hvdWxkIGdldCBhIHNwZWNpZmljIGtleSBzZWxlY3RlZCBieSBob3N0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5nZXRLZXkoXCJnaXRodWIuY29tXCIpLnB1YktleS5zaG91bGQuZXF1YWwoXCJzb21lR2l0SHViUHVibGljS2V5XCIpO1xuICAgICAgICB9KVxuICAgICAgICBpdChcIi5yZW1vdmVLZXkoKSBzaG91bGQgcmVtb3ZlIGEga2V5XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5yZW1vdmVLZXkodGVzdFNzaEluc3RhbmNlLmdldEtleShcImJpdGJ1Y2tldC5vcmdcIikpO1xuICAgICAgICAgICAgdGVzdFNzaEluc3RhbmNlLnNzaEtleXNbMV0uaG9zdC5zaG91bGQuZXF1YWwoXCJnaXRodWIuY29tXCIpO1xuICAgICAgICB9KVxuICAgIH0pO1xufSkiXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,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aW5ncy10ZXN0XCJcbmltcG9ydCBcInNob3VsZFwiO1xuaW1wb3J0IHNtYXJ0c3NoID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXhcIik7XG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZGVzY3JpYmUoXCJzbWFydHNzaFwiLGZ1bmN0aW9uKCl7XG4gICAgbGV0IHRlc3RTc2hJbnN0YW5jZTpzbWFydHNzaC5Tc2hJbnN0YW5jZTtcbiAgICBsZXQgdGVzdFNzaEtleTpzbWFydHNzaC5Tc2hLZXk7XG4gICAgZGVzY3JpYmUoXCIuU3NoS2V5XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCInbmV3JyBrZXl3b3JkIHNob3VsZCBjcmVhdGUgYSB2YWxpZCBTc2hLZXkgb2JqZWN0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hLZXkgPSBuZXcgc21hcnRzc2guU3NoS2V5KHtcbiAgICAgICAgICAgICAgICBob3N0OlwiZXhhbXBsZS5jb21cIixcbiAgICAgICAgICAgICAgICBwcml2YXRlOlwic29tZUV4YW1wbGVQcml2YXRlS2V5XCIsXG4gICAgICAgICAgICAgICAgcHVibGljOlwic29tZUV4YW1wbGVQdWJsaWNLZXlcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5LnNob3VsZC5iZS5pbnN0YW5jZW9mKHNtYXJ0c3NoLlNzaEtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcIi50eXBlIHNob3VsZCBiZSBhIHZhbGlkIHR5cGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEtleS50eXBlLnNob3VsZC5lcXVhbChcImR1cGxleFwiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLnB1YmxpY0tleSBzaG91bGQgYmUgcHVibGljIGtleVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5LnB1YktleS5zaG91bGQuZXF1YWwoXCJzb21lRXhhbXBsZVB1YmxpY0tleVwiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLnByaXZhdGVLZXkgc2hvdWxkIGJlIHByaXZhdGUga2V5XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hLZXkucHJpdktleS5zaG91bGQuZXF1YWwoXCJzb21lRXhhbXBsZVByaXZhdGVLZXlcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcIi5wdWJsaWNLZXlCYXNlNjQgc2hvdWxkIGJlIHB1YmxpYyBrZXkgYmFzZSA2NCBlbmNvZGVkXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hLZXkucHViS2V5QmFzZTY0O1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIuc3RvcmUoKSBzaG91bGQgc3RvcmUgdGhlIGZpbGUgdG8gZGlza1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoS2V5LnN0b3JlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLFwidGVzdC90ZW1wXCIpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuU3NoSW5zdGFuY2VcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcIiduZXcnIGtleXdvcmQgc2hvdWxkIGNyZWF0ZSBhIG5ldyBTc2hJbnN0YW5jZSBvYmplY3QgZnJvbSBjbGFzc1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoSW5zdGFuY2UgPSBuZXcgc21hcnRzc2guU3NoSW5zdGFuY2Uoe1xuICAgICAgICAgICAgICAgIHNzaERpclBhdGg6IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLFwidGVzdC90ZW1wL1wiKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZXN0U3NoSW5zdGFuY2Uuc2hvdWxkLmJlLmluc3RhbmNlb2Yoc21hcnRzc2guU3NoSW5zdGFuY2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCIuYWRkS2V5KCkgc2hvdWxkIGFjY2VwdCBhIG5ldyBTc2hLZXkgb2JqZWN0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5hZGRLZXkobmV3IHNtYXJ0c3NoLlNzaEtleSh7XG4gICAgICAgICAgICAgICAgcHVibGljOlwic29tZVB1YmxpY0tleVwiLFxuICAgICAgICAgICAgICAgIHByaXZhdGU6XCJzb21lUHJpdmF0ZUtleVwiLFxuICAgICAgICAgICAgICAgIGhvc3Q6XCJnaXRsYWIuY29tXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5hZGRLZXkobmV3IHNtYXJ0c3NoLlNzaEtleSh7XG4gICAgICAgICAgICAgICAgcHVibGljOlwic29tZVB1YmxpY0tleVwiLFxuICAgICAgICAgICAgICAgIHByaXZhdGU6XCJzb21lUHJpdmF0ZUtleVwiLFxuICAgICAgICAgICAgICAgIGhvc3Q6XCJiaXRidWNrZXQub3JnXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5hZGRLZXkobmV3IHNtYXJ0c3NoLlNzaEtleSh7XG4gICAgICAgICAgICAgICAgcHVibGljOlwic29tZUdpdEh1YlB1YmxpY0tleVwiLFxuICAgICAgICAgICAgICAgIHByaXZhdGU6XCJzb21lR2l0SHViUHJpdmF0ZUtleVwiLFxuICAgICAgICAgICAgICAgIGhvc3Q6XCJnaXRodWIuY29tXCJcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLnNzaEtleXMgc2hvdWxkIHBvaW50IHRvIGFuIGFycmF5IG9mIHNzaEtleXNcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbGV0IHNzaEtleUFycmF5ID0gdGVzdFNzaEluc3RhbmNlLnNzaEtleXM7XG4gICAgICAgICAgICBzc2hLZXlBcnJheS5zaG91bGQuYmUuQXJyYXkoKTtcbiAgICAgICAgICAgIHNzaEtleUFycmF5WzBdLmhvc3Quc2hvdWxkLmVxdWFsKFwiZ2l0bGFiLmNvbVwiKTtcbiAgICAgICAgICAgIHNzaEtleUFycmF5WzFdLmhvc3Quc2hvdWxkLmVxdWFsKFwiYml0YnVja2V0Lm9yZ1wiKTtcbiAgICAgICAgICAgIHNzaEtleUFycmF5WzJdLmhvc3Quc2hvdWxkLmVxdWFsKFwiZ2l0aHViLmNvbVwiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLmdldEtleSgpIHNob3VsZCBnZXQgYSBzcGVjaWZpYyBrZXkgc2VsZWN0ZWQgYnkgaG9zdFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoSW5zdGFuY2UuZ2V0S2V5KFwiZ2l0aHViLmNvbVwiKS5wdWJLZXkuc2hvdWxkLmVxdWFsKFwic29tZUdpdEh1YlB1YmxpY0tleVwiKTtcbiAgICAgICAgfSlcbiAgICAgICAgaXQoXCIucmVtb3ZlS2V5KCkgc2hvdWxkIHJlbW92ZSBhIGtleVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0U3NoSW5zdGFuY2UucmVtb3ZlS2V5KHRlc3RTc2hJbnN0YW5jZS5nZXRLZXkoXCJiaXRidWNrZXQub3JnXCIpKTtcbiAgICAgICAgICAgIHRlc3RTc2hJbnN0YW5jZS5zc2hLZXlzWzFdLmhvc3Quc2hvdWxkLmVxdWFsKFwiZ2l0aHViLmNvbVwiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiaXQgc2hvdWxkIHN0b3JlIHRvIGRpc2tcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEluc3RhbmNlLndyaXRlVG9EaXNrKCk7XG4gICAgICAgIH0pXG4gICAgfSk7XG59KSJdfQ== diff --git a/test/test.ts b/test/test.ts index 0c79a6c..27e6452 100644 --- a/test/test.ts +++ b/test/test.ts @@ -28,11 +28,13 @@ describe("smartssh",function(){ }); it(".store() should store the file to disk",function(){ testSshKey.store(path.join(process.cwd(),"test/temp")); - }) + }); }); describe(".SshInstance",function(){ it("'new' keyword should create a new SshInstance object from class",function(){ - testSshInstance = new smartssh.SshInstance(); + testSshInstance = new smartssh.SshInstance({ + sshDirPath: path.join(process.cwd(),"test/temp/") + }); testSshInstance.should.be.instanceof(smartssh.SshInstance); }); it(".addKey() should accept a new SshKey object",function(){ @@ -65,6 +67,9 @@ describe("smartssh",function(){ it(".removeKey() should remove a key",function(){ testSshInstance.removeKey(testSshInstance.getKey("bitbucket.org")); testSshInstance.sshKeys[1].host.should.equal("github.com"); + }); + it("it should store to disk",function(){ + testSshInstance.writeToDisk(); }) }); }) \ No newline at end of file diff --git a/ts/smartssh.classes.sshconfig.ts b/ts/smartssh.classes.sshconfig.ts index dc288ae..79f651a 100644 --- a/ts/smartssh.classes.sshconfig.ts +++ b/ts/smartssh.classes.sshconfig.ts @@ -14,14 +14,15 @@ export class SshConfig { */ store(dirPathArg:string){ let done = plugins.q.defer(); - let configArray:configObject[]; + let configArray:configObject[] = []; let configString; for(let key in this.sshKeyArray){ let sshKey = this.sshKeyArray[key]; if(sshKey.host){ configString = "Host " + sshKey.host + "\n" + " HostName " + sshKey.host + "\n" + - " IdentityFile ~/.ssh/" + sshKey.host + "\n" + " IdentityFile ~/.ssh/" + sshKey.host + "\n" + + " StrictHostKeyChecking no" + "\n" } configArray.push({ configString:configString, @@ -33,7 +34,7 @@ export class SshConfig { for(let key in configArray){ configFile = configFile + configArray[key].configString + "\n"; }; - plugins.smartfile.memory.toFsSync(configFile,dirPathArg); + plugins.smartfile.memory.toFsSync(configFile,plugins.path.join(dirPathArg,"config")); return done.promise; } read(dirPathArg){ diff --git a/ts/smartssh.classes.sshdir.ts b/ts/smartssh.classes.sshdir.ts index 328014f..5ba5005 100644 --- a/ts/smartssh.classes.sshdir.ts +++ b/ts/smartssh.classes.sshdir.ts @@ -5,27 +5,31 @@ import {SshInstance} from "./smartssh.classes.sshinstance"; import {SshKey} from "./smartssh.classes.sshkey"; import {SshConfig} from "./smartssh.classes.sshconfig"; export class SshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE - path:string; // the path of the ssh directory - private sshKeyArray:SshKey[]; - private sshConfig:SshConfig; + private _path:string; // the path of the ssh directory + private _sshKeyArray:SshKey[]; + private _sshConfig:SshConfig; constructor(sshKeyArray:SshKey[],sshConfig:SshConfig,sshDirPathArg?:string){ - this.sshKeyArray = sshKeyArray; + this._sshKeyArray = sshKeyArray; + this._sshConfig = sshConfig; if(sshDirPathArg){ - this.path = sshDirPathArg; + this._path = sshDirPathArg; } else { - this.path = plugins.path.join(plugins.smartpath.get.home(),".ssh/"); + this._path = plugins.path.join(plugins.smartpath.get.home(),".ssh/"); }; } writeToDir(){ // syncs sshInstance to directory - this.sshKeyArray.forEach((sshKeyArg) => { - sshKeyArg.store(this.path); + this._sshKeyArray.forEach((sshKeyArg) => { + sshKeyArg.store(this._path); }); - this.sshConfig.store(this.path); + this._sshConfig.store(this._path); }; readFromDir(){ // syncs sshInstance from directory } + updateDirPath(dirPathArg:string){ + this._path = dirPathArg; + }; getKeys(){ - return helpers.sshKeyArrayFromDir(this.path); + return helpers.sshKeyArrayFromDir(this._path); } } \ No newline at end of file