kopia lustrzana https://github.com/c9/core
48 wiersze
1.8 KiB
JavaScript
48 wiersze
1.8 KiB
JavaScript
"use strict";
|
|
|
|
"use server";
|
|
|
|
var assert = require("assert");
|
|
var ssh = require("./ssh");
|
|
function arrayEqual(a, b) {
|
|
assert.equal(a.length, b.length);
|
|
for (var i = 0; i < a.length; i++)
|
|
assert.equal(a[i], b[i]);
|
|
}
|
|
|
|
module.exports = {
|
|
|
|
"test quote" : function() {
|
|
assert.equal(ssh.quote("a'b'c"), "'a'\\''b'\\''c'");
|
|
assert.equal(ssh.quote("abc"), "'abc'");
|
|
},
|
|
|
|
"test buildArgs": function() {
|
|
var expectedArgs = [
|
|
"-o","PasswordAuthentication=no",
|
|
"-o","IdentityFile=/key",
|
|
"-o","UserKnownHostsFile=/dev/null",
|
|
"-o","StrictHostKeyChecking=no",
|
|
"-o","IdentitiesOnly=yes",
|
|
"-F","/dev/null","-t","-t",
|
|
"-o","BatchMode=yes",
|
|
"-o","ConnectTimeout=10",
|
|
"-p",22,"foo12@124.255.121.12"
|
|
];
|
|
var proxyCmd = 'ProxyCommand=ssh -W %h:%p \'-o\' \'PasswordAuthentication=no\' \'-o\' \'IdentityFile=/key\' \'-o\' \'UserKnownHostsFile=/dev/null\' \'-o\' \'StrictHostKeyChecking=no\' \'-o\' \'IdentitiesOnly=yes\' \'-F\' \'/dev/null\' \'-t\' \'-t\' \'-o\' \'BatchMode=yes\' \'-o\' \'ConnectTimeout=10\' -p 22 \'24@100.20.12.12\'';
|
|
var args = ssh.buildArgs('/key', "foo12@124.255.121.12");
|
|
arrayEqual(args, expectedArgs);
|
|
|
|
args = ssh.buildArgs('/key', "foo12@124.255.121.12", "24@100.20.12.12");
|
|
expectedArgs.splice(expectedArgs.length - 3, 0, "-o", proxyCmd);
|
|
arrayEqual(args, expectedArgs);
|
|
|
|
args = ssh.buildArgs('/key', "foo12@124.255.121.12:1888", "24@100.20.12.12:88788");
|
|
expectedArgs[expectedArgs.length - 2] = 1888;
|
|
expectedArgs[expectedArgs.length - 4] = expectedArgs[expectedArgs.length - 4].replace(22, 88788);
|
|
arrayEqual(args, expectedArgs);
|
|
},
|
|
};
|
|
|
|
!module.parent && require("asyncjs").test.testcase(module.exports).exec();
|