2.2.1 • Published 5 years ago

ssh2-they v2.2.1

Weekly downloads
25
License
MIT
Repository
github
Last release
5 years ago

Node.js ssh2-they

Extends Mocha with a new they function replacing it. The goal is to execute the same test in multiple environments. This package was originally written to test ssh2-fs, ssh2-exec and Nikita. For example, in those packages, each test is run twice: the first time on a local environment and the second time over SSH.

If no environment is provided, the default behaviour of this package is to attempt to open a passwordless ssh connection on localhost with the current running user. Thus, it expects correct deployment of your ssh public key inside your own authorized_key file.

Additionally, you can call the configure function with multiple environment parameters. Refer to the "ssh2-connect" and "ssh2" packages for a complete list of supported options.

Installation

This is OSS and licensed under the new BSD license.

npm install ssh2-fs

Examples

The below examples found inspiration in the exists test of the ssh2-fs module.

This test will connect to localhost with the current working user:

const should = require('should')
const fs = require('ssh2-fs')
const they = require('ssh2-they')

describe('exists', function(){
  they('on file', function({ssh}, next){
    fs.exists( ssh, "#{__filename}", function(err, exists){
      exists.should.be.true()
      next()
    })
  })
})

This test will attempt a remote connection using the root user:

const should = require('should')
const fs = require('ssh2-fs')
const they = require('ssh2-they').configure([
  null,
  {
    debug: true,
    ssh: null
  }, {
    debug: true,
    ssh: {
      host: 'localhost',
      port: 22,
      username: 'root',
      privateKey: require('fs').readFileSync('/here/is/my/key')
    }
  }
])

describe('exists', function(){
  they('on file', function({debug, ssh}, next){
    fs.exists( ssh, "#{__filename}", function(err, exists){
      exists.should.be.true()
      next()
    })
  })
})

Travis integration

You can make it work with Travis by adding the following lines to your ".travis.yml" file:

before_script:

  • "ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''"
  • "cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys"

Contributors

2.2.1

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.4

6 years ago

2.0.3

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.1

7 years ago

1.2.0

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago