Cuando llamo a la función createFile() en mi prueba de Cypress, intento crear un archivo en un servidor SFTP alojado.
Actualmente, cuando lo llamo, aparece el siguiente mensaje de error:
El siguiente error fue lanzado por un complemento. Dejamos de ejecutar sus pruebas porque un complemento falló. Verifique su archivo de complementos ( C:\Dev\SFTP_POC\cypress\plugins\index.js )
Error: poner: error interno del servidor. sftp://myHost.com@sftp.next.rec-test.com:2022/reports/ at fmtError (C:\Dev\SFTP_POC\node_modules\ssh2-sftp-client\src\utils.js:55:18) en WriteStream. (C:\Dev\SFTP_POC\node_modules\ssh2-sftp-client\src\index.js:728:18) en Object.onceWrapper (events.js:418:26) en WriteStream.emit (events.js:323: 22) en Object.cb (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\SFTP.js:3629:12) en 101 (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\SFTP. js:2622:11) en SFTP.push (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\SFTP.js:278:11) en CHANNEL_DATA (C:\Dev\SFTP_POC\node_modules\ssh2\lib\ client.js:525:23) en 94 (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\handlers.misc.js:859:16) en Protocol.onPayload (C:\Dev\SFTP_POC\node_modules\ ssh2\lib\protocol\Protocol.js:2025:10) en AESGCMDecipherNative.decrypt (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\crypto.js:987:26) en Protocol.parsePacket [como _parse] (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\Protocol.js:1994:25) en Protocol.parse (C:\Dev\SFTP_POC\node_modules\ssh2\lib\protocol\Protocol.js:293: 16) en el zócalo. (C:\Dev\SFTP_POC\node_modules\ssh2\lib\client.js:713:21) en Socket.emit (events.js:311:20) en addChunk (_stream_readable.js:294:12) en readableAddChunk (_stream_readable .js:275:11) en Socket.Readable.push (_stream_readable.js:209:10) en TCP.onStreamRead (interno/stream_base_commons.js:186:23)
A continuación se muestra mi código index.js actual:
module.exports = (on, config) => { on('task', { createFile() { const fs = require('fs'); let data = fs.createReadStream('C:/Dev/SFTP_POC/cypress/fixtures/example.json'); let remote = 'sftp://myHost.com:2022/reports/'; let Client = require('ssh2-sftp-client'); let sftp = new Client(); const config = { host: 'myHost.com', port: '2022', username: 'myUsername', password: 'myPassword' }; sftp.connect(config).then(() => { sftp.put(data, remote); }) .then(data => { console.log('Success'); }) .then(() => { sftp.end(); }) .catch(err => { console.log(err); }) return null; } }) } Mi variable remote es una carpeta que existe en el servidor. Sin embargo, después de la prueba, no se agrega un nuevo archivo.
¿Puede alguien decirme qué estoy haciendo mal aquí y cómo resolverlo?