Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions generate/input/descriptor.json
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,9 @@
"git_cred_ssh_key_from_agent":{
"isAsync": false
},
"git_cred_ssh_key_new": {
"isAsync": false
},
"git_cred_userpass": {
"ignore": true
}
Expand Down
27 changes: 27 additions & 0 deletions test/id_rsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA5E3IF5x7qkdIG8HoJ6/Wcc+IU5I41f0qYCTTyc+5qPxyjW8d
K6o49T9MhkdOd0fRkhRYptrreDSvQzz1JEHcrnMPg6C5GERyZpSeATWvTUwg9LJf
nklztvevZGaIwmEjoG5pAicfJnYE8Ic3YBP44Qa7GNITxOqUU5VPh+vP83jXSVAC
CX9Cy1zpt4aUyiwNfVSApbZf4/VbwSaYER3QcpVxMi/B6JGKY5EEJNWV495uzZaP
Mg3YOFXJYziVgvl4fJMUTHyucf1UVbGCgkFzeUJcynqn+1EkQ1Ev+5haD1AVvneJ
MCrRsUbFriC9snqs4n2VEzoLIffmVgFsVn30GQIDAQABAoIBAQDPQm2sQbti0mN8
D4Uawl8D40v30n8WhUa7EbPTOmlqKAQ2sfDhex9KRbTLEmEBmImA/Eee8o9iCTIy
8Fv8Fm6pUHt9G6Pti/XvemwW3Q3QNpSUkHqN0FDkgecQVqVBEb6uHo3mDm4RFINX
eOmkp30BjIK9/blEw1D0sFALLOEUPaDdPMwiXtFgqfrFSgpDET3TvQIwZ2LxxTm0
cNmP3sCSlZHJNkZI4hBEWaaXR+V5/+C1qblDCo5blAWTcX3UzqrwUUJgFi6VnBuh
7S9Q6+CEIU+4JRyWQNmY8YgZFaAp6IOr/kyfPxTP1+UEVVgcLn3WDYwfG9og0tmz
fzlruAgBAoGBAPfz73Pey86tNZEanhJhbX8gVjzy2hvyhT0paHg0q/H6c1VWOtUH
OwZ3Ns2xAZqJhlDqCHnQYSCZDly042U/theP4N8zo1APb4Yg4qdmXF9QE1+2M03r
kS6138gU/CSCLf8pCYa6pA/GmsaXxloeJGLvT4fzOZRsVav80/92XHRhAoGBAOu2
mKh4Gr1EjgN9QNbk9cQTSFDtlBEqO/0pTepvL73UvNp/BAn4iYZFU4WnklFVBSWc
L84Sc732xU12TAbTTUsa6E7W29pS8u7zVTxlIdQIIU5pzDyU1pNNk2kpxzte5p3Y
PDtniPFsoYLWoH0LpsKL93t2pLAj+IOkE6f3XBq5AoGAIKaYo5N1FxQr952frx/x
QUpK0N/R5Ng8v18SiLG26rhmM5iVSrQXC7TrHI7wfR8a9tC6qP/NqnM9NuwC/bQ0
EEo7/GhaWxKNRwZRkmWiSFLNGk9t1hbtGU+N1lUdFtmloPIQdRNiw0kN3JTj474Q
YI7O1EItFORnK6yxZfR6HEECgYEA1CT7MGUoa8APsMRCXyaiq15Pb8bjxK8mXquW
HLEFXuzhLCW1FORDoj0y9s/iuKC0iS0ROX8R/J7k5NrbgikbH8WP36UxKkYNr1IC
HOFImPTYRSKjVsL+fIUNb1DSp3S6SsYbL7v3XJJQqtlQiDq8U8x1aQFXJ9C4EoLR
zhKrKsECgYBtU/TSF/TATZY5XtrN9O+HX1Fbz70Ci8XgvioheVI2fezOcXPRzDcC
OYPaCMNKA5E8gHdg4s0TN7uDvKTJ+KhSg2V7gZ39A28dHrJaRX7Nz4k6t2uEBjX9
a1JidpAIbJ+3w7+hj6L299tVZvS+Y/6Dz/uuEQGXfJg/l/5CCvQPsA==
-----END RSA PRIVATE KEY-----
1 change: 1 addition & 0 deletions test/id_rsa.pub
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTcgXnHuqR0gbwegnr9Zxz4hTkjjV/SpgJNPJz7mo/HKNbx0rqjj1P0yGR053R9GSFFim2ut4NK9DPPUkQdyucw+DoLkYRHJmlJ4BNa9NTCD0sl+eSXO2969kZojCYSOgbmkCJx8mdgTwhzdgE/jhBrsY0hPE6pRTlU+H68/zeNdJUAIJf0LLXOm3hpTKLA19VICltl/j9VvBJpgRHdBylXEyL8HokYpjkQQk1ZXj3m7Nlo8yDdg4VcljOJWC+Xh8kxRMfK5x/VRVsYKCQXN5QlzKeqf7USRDUS/7mFoPUBW+d4kwKtGxRsWuIL2yeqzifZUTOgsh9+ZWAWxWffQZ [email protected]
24 changes: 24 additions & 0 deletions test/tests/clone.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ describe("Clone", function() {
var http = path.resolve("test/repos/http");
var https = path.resolve("test/repos/https");
var ssh = path.resolve("test/repos/ssh");
var sshManual = path.resolve("test/repos/sshmanual");
var git = path.resolve("test/repos/git");
var file = path.resolve("test/repos/file");

var sshPublicKey = path.resolve("./id_rsa.pub");
var sshPrivateKey = path.resolve("./id_rsa");

var Repository = require("../../lib/repository");
var Clone = require("../../lib/clone");
var NodeGit = require("../../");
Expand Down Expand Up @@ -62,6 +66,26 @@ describe("Clone", function() {
});
});

it("can clone with ssh while manually loading a key", function() {
var url = "[email protected]:nodegit/test.git";
var opts = {
ignoreCertErrors: 1,
remoteCallbacks: {
credentials: function(url, userName) {
return NodeGit.Cred.sshKeyNew(
userName,
sshPublicKey,
sshPrivateKey,
"");
}
}
};

return Clone.clone(url, sshManual, opts).then(function(repository) {
assert.ok(repository instanceof Repository);
});
});

it("can clone with git", function() {
var url = "git://github.com/nodegit/test.git";
var opts = { ignoreCertErrors: 1 };
Expand Down
16 changes: 9 additions & 7 deletions test/tests/cred.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
var assert = require("assert");
var path = require("path");

describe("Cred", function() {
var NodeGit = require("../../");
var sshPublicKey = path.resolve("./id_rsa.pub");
var sshPrivateKey = path.resolve("./id_rsa");

it("can create default credentials", function() {
NodeGit.Cred.defaultNew().then(function (defaultCreds) {
Expand All @@ -10,14 +13,13 @@ describe("Cred", function() {
});

it("can create ssh credentials using passed keys", function() {
NodeGit.Cred.sshKeyNew(
var cred = NodeGit.Cred.sshKeyNew(
"username",
"public key",
"private key",
"passphrase")
.then(function (sshCreds) {
assert(sshCreds instanceof NodeGit.Cred);
});
sshPublicKey,
sshPrivateKey,
"");

assert(cred instanceof NodeGit.Cred);
});

it("can create credentials using plaintext", function() {
Expand Down