2016-05-31 17:16:45 +00:00
|
|
|
"use strict";
|
|
|
|
require("typings-test");
|
2016-06-01 00:31:29 +00:00
|
|
|
require("should");
|
|
|
|
var smartssh = require("../dist/index");
|
|
|
|
describe("smartssh", function () {
|
|
|
|
var testSshInstance;
|
|
|
|
var testSshKey;
|
2016-06-01 03:09:20 +00:00
|
|
|
describe(".SshKey", function () {
|
|
|
|
it("'new' keyword should create a valid SshKey object", function () {
|
|
|
|
testSshKey = new smartssh.SshKey({
|
|
|
|
host: "example.com",
|
|
|
|
private: "someExamplePrivateKey",
|
|
|
|
public: "someExamplePublicKey"
|
|
|
|
});
|
|
|
|
testSshKey.should.be.instanceof(smartssh.SshKey);
|
|
|
|
});
|
|
|
|
it(".type should be a valid type", function () {
|
|
|
|
testSshKey.type.should.equal("duplex");
|
|
|
|
});
|
|
|
|
it(".publicKey should be public key", function () {
|
|
|
|
testSshKey.publicKey.should.equal("someExamplePublicKey");
|
|
|
|
});
|
|
|
|
it(".privateKey should be private key", function () {
|
|
|
|
testSshKey.privateKey.should.equal("someExamplePrivateKey");
|
|
|
|
});
|
|
|
|
it(".publicKeyBase64 should be public key base 64 encoded", function () {
|
|
|
|
testSshKey.publicKeyBase64;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe(".SshInstance", function () {
|
2016-06-01 02:18:31 +00:00
|
|
|
it("'new' keyword should create a new SshInstance object from class", function () {
|
2016-06-01 00:31:29 +00:00
|
|
|
testSshInstance = new smartssh.SshInstance();
|
|
|
|
testSshInstance.should.be.instanceof(smartssh.SshInstance);
|
|
|
|
});
|
2016-06-01 02:18:31 +00:00
|
|
|
it(".addKey() should accept a new SshKey object", function () {
|
2016-06-01 00:48:38 +00:00
|
|
|
testSshInstance.addKey(new smartssh.SshKey({
|
|
|
|
public: "somePublicKey",
|
|
|
|
private: "somePrivateKey",
|
|
|
|
host: "gitlab.com"
|
|
|
|
}));
|
|
|
|
testSshInstance.addKey(new smartssh.SshKey({
|
|
|
|
public: "somePublicKey",
|
|
|
|
private: "somePrivateKey",
|
|
|
|
host: "bitbucket.org"
|
|
|
|
}));
|
|
|
|
testSshInstance.addKey(new smartssh.SshKey({
|
2016-06-01 02:18:31 +00:00
|
|
|
public: "someGitHubPublicKey",
|
|
|
|
private: "someGitHubPrivateKey",
|
2016-06-01 00:48:38 +00:00
|
|
|
host: "github.com"
|
|
|
|
}));
|
|
|
|
});
|
2016-06-01 02:18:31 +00:00
|
|
|
it(".sshKeys should point to an array of sshKeys", function () {
|
2016-06-01 01:57:17 +00:00
|
|
|
var sshKeyArray = testSshInstance.sshKeys;
|
|
|
|
sshKeyArray.should.be.Array();
|
|
|
|
sshKeyArray[0].host.should.equal("gitlab.com");
|
2016-06-01 02:18:31 +00:00
|
|
|
sshKeyArray[1].host.should.equal("bitbucket.org");
|
|
|
|
sshKeyArray[2].host.should.equal("github.com");
|
|
|
|
});
|
|
|
|
it(".getKey() should get a specific key selected by host", function () {
|
|
|
|
testSshInstance.getKey("github.com").publicKey.should.equal("someGitHubPublicKey");
|
|
|
|
});
|
|
|
|
it(".removeKey() should remove a key", function () {
|
|
|
|
testSshInstance.removeKey(testSshInstance.getKey("bitbucket.org"));
|
|
|
|
testSshInstance.sshKeys[1].host.should.equal("github.com");
|
2016-06-01 00:48:38 +00:00
|
|
|
});
|
2016-06-01 00:31:29 +00:00
|
|
|
});
|
|
|
|
});
|
2016-04-25 02:06:20 +00:00
|
|
|
|
2016-06-13 22:11:20 +00:00
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FDUCxDQUFDLENBRG9CO0FBQ3JCLFFBQU8sUUFBUSxDQUFDLENBQUE7QUFDaEIsSUFBTyxRQUFRLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDM0MsUUFBUSxDQUFDLFVBQVUsRUFBQztJQUNoQixJQUFJLGVBQW9DLENBQUM7SUFDekMsSUFBSSxVQUEwQixDQUFDO0lBQy9CLFFBQVEsQ0FBQyxTQUFTLEVBQUM7UUFDZixFQUFFLENBQUMsbURBQW1ELEVBQUM7WUFDbkQsVUFBVSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDN0IsSUFBSSxFQUFDLGFBQWE7Z0JBQ2xCLE9BQU8sRUFBQyx1QkFBdUI7Z0JBQy9CLE1BQU0sRUFBQyxzQkFBc0I7YUFDaEMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyw4QkFBOEIsRUFBQztZQUM5QixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsaUNBQWlDLEVBQUM7WUFDakMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsbUNBQW1DLEVBQUM7WUFDbkMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsdURBQXVELEVBQUM7WUFDdkQsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGNBQWMsRUFBQztRQUNwQixFQUFFLENBQUMsaUVBQWlFLEVBQUM7WUFDakUsZUFBZSxHQUFHLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsNkNBQTZDLEVBQUM7WUFDN0MsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3ZDLE1BQU0sRUFBQyxlQUFlO2dCQUN0QixPQUFPLEVBQUMsZ0JBQWdCO2dCQUN4QixJQUFJLEVBQUMsWUFBWTthQUNwQixDQUFDLENBQUMsQ0FBQztZQUNKLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxNQUFNLEVBQUMsZUFBZTtnQkFDdEIsT0FBTyxFQUFDLGdCQUFnQjtnQkFDeEIsSUFBSSxFQUFDLGVBQWU7YUFDdkIsQ0FBQyxDQUFDLENBQUM7WUFDSixlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDdkMsTUFBTSxFQUFDLHFCQUFxQjtnQkFDNUIsT0FBTyxFQUFDLHNCQUFzQjtnQkFDOUIsSUFBSSxFQUFDLFlBQVk7YUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBQztZQUM5QyxJQUFJLFdBQVcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQzFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHNEQUFzRCxFQUFDO1lBQ3RELGVBQWUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBQztZQUNsQyxlQUFlLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNuRSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQSIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCJcbmltcG9ydCBcInNob3VsZFwiO1xuaW1wb3J0IHNtYXJ0c3NoID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXhcIik7XG5kZXNjcmliZShcInNtYXJ0c3NoXCIsZnVuY3Rpb24oKXtcbiAgICBsZXQgdGVzdFNzaEluc3RhbmNlOnNtYXJ0c3NoLlNzaEluc3RhbmNlO1xuICAgIGxldCB0ZXN0U3NoS2V5OnNtYXJ0c3NoLlNzaEtleTtcbiAgICBkZXNjcmliZShcIi5Tc2hLZXlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcIiduZXcnIGtleXdvcmQgc2hvdWxkIGNyZWF0ZSBhIHZhbGlkIFNzaEtleSBvYmplY3RcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFNzaEtleSA9IG5ldyBzbWFydHNzaC5Tc2hLZXkoe1xuICAgICAgICAgICAgICAgIGhvc3Q6XCJleGFtcGxlLmNvbVwiLFxuICAgICAgICAgICAgICAgIHByaXZhdGU6XCJzb21lRXhhbXBsZVByaXZhdGVLZXlcIixcbiAgICAgICAgICAgICAgICBwdWJsaWM6XCJzb21lRXhhbXBsZVB1YmxpY0tleVwiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRlc3RTc2hLZXkuc2hvdWxkLmJlLmluc3RhbmNlb2Yoc21hcnRzc2guU3NoS2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwiLnR5cGUgc2hvdWxkIGJlIGEgdmFsaWQgdHlwZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAg
|