2.2.1 • Published 3 years ago

ssh2-they v2.2.1

Weekly downloads
25
License
MIT
Repository
github
Last release
3 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

3 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.4

4 years ago

2.0.3

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.3.1

5 years ago

1.3.0

6 years ago

1.2.1

6 years ago

1.2.0

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.8

8 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago