diff --git a/lib/http/request.js b/lib/http/request.js index c486f35515..87e21d3de0 100644 --- a/lib/http/request.js +++ b/lib/http/request.js @@ -4,7 +4,6 @@ const https = require('https'); const dns = require('dns'); const HttpUtil = require('./http.js'); const HttpOptions = require('./options.js'); -const fs = require('fs'); const path = require('path'); const Auth = require('./auth.js'); const Formatter = require('./formatter.js'); @@ -418,8 +417,9 @@ class HttpRequest extends EventEmitter { bufferArray.push(Buffer.from(delimiter + crlf + header + crlf + crlf)); // set data + const {readFileSync} = require('fs'); if (fieldValue.filePath) { - bufferArray.push(fs.readFileSync(fieldValue.filePath)); + bufferArray.push(readFileSync(fieldValue.filePath)); } else { bufferArray.push(Buffer.from(fieldValue.data)); } diff --git a/lib/transport/selenium-webdriver/browserstack/appAutomate.js b/lib/transport/selenium-webdriver/browserstack/appAutomate.js index 0ec70a9263..727fcdc77a 100644 --- a/lib/transport/selenium-webdriver/browserstack/appAutomate.js +++ b/lib/transport/selenium-webdriver/browserstack/appAutomate.js @@ -52,6 +52,7 @@ class AppAutomate extends BrowserStack { url: 'https://api-cloud.browserstack.com/app-automate/upload', method: 'POST', use_ssl: true, + port: 443, auth: { user: this.username, pass: this.accessKey diff --git a/test/src/index/testRequest.js b/test/src/index/testRequest.js index 0becdd6f0a..d8e8ab1044 100644 --- a/test/src/index/testRequest.js +++ b/test/src/index/testRequest.js @@ -415,11 +415,11 @@ describe('test HttpRequest', function() { }); it('send POST request with multi-part form data', function(done) { - const appPath = path.resolve(__dirname, '../../extra/output/app.apk'); - const appDir = path.dirname(appPath); - - fs.mkdirSync(appDir, {recursive: true}); - fs.writeFileSync(appPath, 'app-data'); + mockery.registerMock('fs', { + readFileSync() { + return Buffer.from('app-data'); + } + }); const options = { method: 'POST', @@ -428,7 +428,7 @@ describe('test HttpRequest', function() { port: 443, multiPartFormData: { file: { - filePath: appPath + filePath: 'some/path/app.apk' }, custom_id: { data: 'some_app' @@ -438,8 +438,6 @@ describe('test HttpRequest', function() { const request = new HttpRequest(options); request.on('success', function () { - fs.rmSync(appPath); - done(); }).send();