| 217 | } |
| 218 | |
| 219 | func TestSCPCommandWithKey(t *testing.T) { |
| 220 | ssh := &MakeConfig{ |
| 221 | Server: "localhost", |
| 222 | User: "drone-scp", |
| 223 | Port: "22", |
| 224 | Key: `-----BEGIN RSA PRIVATE KEY----- |
| 225 | MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26 |
| 226 | VbfAF0hIJji7ltvnYnqCU9oFfvEM33cTn7T96+od8ib/Vz25YU8ZbstqtIskPuwC |
| 227 | bv3K0mAHgsviJyRD7yM+QKTbBQEgbGuW6gtbMKhiYfiIB4Dyj7AdS/fk3v26wDgz |
| 228 | 7SHI5OBqu9bv1KhxQYdFEnU3PAtAqeccgzNpbH3eYLyGzuUxEIJlhpZ/uU2G9ppj |
| 229 | /cSrONVPiI8Ahi4RrlZjmP5l57/sq1ClGulyLpFcMw68kP5FikyqHpHJHRBNgU57 |
| 230 | 1y0Ph33SjBbs0haCIAcmreWEhGe+/OXnJe6VUQIDAQABAoIBAH97emORIm9DaVSD |
| 231 | 7mD6DqA7c5m5Tmpgd6eszU08YC/Vkz9oVuBPUwDQNIX8tT0m0KVs42VVPIyoj874 |
| 232 | bgZMJoucC1G8V5Bur9AMxhkShx9g9A7dNXJTmsKilRpk2TOk7wBdLp9jZoKoZBdJ |
| 233 | jlp6FfaazQjjKD6zsCsMATwAoRCBpBNsmT6QDN0n0bIgY0tE6YGQaDdka0dAv68G |
| 234 | R0VZrcJ9voT6+f+rgJLoojn2DAu6iXaM99Gv8FK91YCymbQlXXgrk6CyS0IHexN7 |
| 235 | V7a3k767KnRbrkqd3o6JyNun/CrUjQwHs1IQH34tvkWScbseRaFehcAm6mLT93RP |
| 236 | muauvMECgYEA9AXGtfDMse0FhvDPZx4mx8x+vcfsLvDHcDLkf/lbyPpu97C27b/z |
| 237 | ia07bu5TAXesUZrWZtKA5KeRE5doQSdTOv1N28BEr8ZwzDJwfn0DPUYUOxsN2iIy |
| 238 | MheO5A45Ko7bjKJVkZ61Mb1UxtqCTF9mqu9R3PBdJGthWOd+HUvF460CgYEA7QRf |
| 239 | Z8+vpGA+eSuu29e0xgRKnRzed5zXYpcI4aERc3JzBgO4Z0er9G8l66OWVGdMfpe6 |
| 240 | CBajC5ToIiT8zqoYxXwqJgN+glir4gJe3mm8J703QfArZiQrdk0NTi5bY7+vLLG/ |
| 241 | knTrtpdsKih6r3kjhuPPaAsIwmMxIydFvATKjLUCgYEAh/y4EihRSk5WKC8GxeZt |
| 242 | oiZ58vT4z+fqnMIfyJmD5up48JuQNcokw/LADj/ODiFM7GUnWkGxBrvDA3H67WQm |
| 243 | 49bJjs8E+BfUQFdTjYnJRlpJZ+7Zt1gbNQMf5ENw5CCchTDqEq6pN0DVf8PBnSIF |
| 244 | KvkXW9KvdV5J76uCAn15mDkCgYA1y8dHzbjlCz9Cy2pt1aDfTPwOew33gi7U3skS |
| 245 | RTerx29aDyAcuQTLfyrROBkX4TZYiWGdEl5Bc7PYhCKpWawzrsH2TNa7CRtCOh2E |
| 246 | R+V/84+GNNf04ALJYCXD9/ugQVKmR1XfDRCvKeFQFE38Y/dvV2etCswbKt5tRy2p |
| 247 | xkCe/QKBgQCkLqafD4S20YHf6WTp3jp/4H/qEy2X2a8gdVVBi1uKkGDXr0n+AoVU |
| 248 | ib4KbP5ovZlrjL++akMQ7V2fHzuQIFWnCkDA5c2ZAqzlM+ZN+HRG7gWur7Bt4XH1 |
| 249 | 7XC9wlRna4b3Ln8ew3q1ZcBjXwD4ppbTlmwAfQIaZTGJUgQbdsO9YA== |
| 250 | -----END RSA PRIVATE KEY----- |
| 251 | `, |
| 252 | } |
| 253 | |
| 254 | // source file not found |
| 255 | err := ssh.Scp("./tests/test.txt", "a.txt") |
| 256 | assert.Error(t, err) |
| 257 | |
| 258 | // target file not found ex: appleboy folder not found |
| 259 | err = ssh.Scp("./tests/a.txt", "/appleboy/a.txt") |
| 260 | assert.Error(t, err) |
| 261 | |
| 262 | err = ssh.Scp("./tests/a.txt", "a.txt") |
| 263 | assert.NoError(t, err) |
| 264 | |
| 265 | u, err := user.Lookup("drone-scp") |
| 266 | if err != nil { |
| 267 | t.Fatalf("Lookup: %v", err) |
| 268 | } |
| 269 | |
| 270 | // check file exist |
| 271 | if _, err := os.Stat(path.Join(u.HomeDir, "a.txt")); os.IsNotExist(err) { |
| 272 | t.Fatalf("SCP-error: %v", err) |
| 273 | } |
| 274 | } |
| 275 | |
| 276 | func TestProxyClient(t *testing.T) { |