This repository is aimed to provide you with the means to setup and interact with a small sftp server that you can use to run end to end tests in an application using ssh2-sftp-client or another node based sftp client. The package is mostly tested against ssh2-sftp-client.
You can check out the API reference here
Mostly e2e tests but you could also run the server as a standalone service in a dev cluster. Just know that the files will be kept in memory so try not to go overboard
npm install --save-dev @micham/sftp-mock-server
yarn add -D @micham/sftp-mock-server
const mockServer = await createSftpMockServer({
port: '9999',
hostname: '127.0.0.1',
debug: (msg: string) => logger.debug(msg),
});
const mockServer = await createSftpMockServer({
port: '9999',
hostname: '127.0.0.1',
debug: (msg: string) => logger.debug(msg),
users: {
alice: {
publicKey: clientPublicKey,
},
},
});
await data.client.connect({
host: '127.0.0.1',
port: 9999,
username: 'test',
privateKey: clientPrivateKey,
});
import Client from 'ssh2-sftp-client';
const mockServer = await createSftpMockServer({
port: '9999',
hostname: '127.0.0.1',
debug: (msg: string) => logger.debug(msg),
users: {
alice: {
password: 'password',
publicKey: clientPublicKey,
},
},
});
const client = new Client();
await client.connect({
host: '127.0.0.1',
port: 9999,
username: 'test',
password: 'test',
});
await client.put(Buffer.from('File content'), 'tmp/data.txt');
const content = await client.get('tmp/data.txt');
Generated using TypeDoc