ssh2-they

2.2.1 • Public • Published

Node.js ssh2-they

Extends [Mocha][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

Package Sidebar

Install

npm i ssh2-they

Weekly Downloads

2

Version

2.2.1

License

MIT

Unpacked Size

16.8 kB

Total Files

8

Last publish

Collaborators

  • david