forwardemail / forwardemail/supertest
Uncaught Error: ECONNREFUSED: Connection refused
- Dominant language
- JavaScript
- Stars
- 14.4k
- Forks
- 782
- PR merge metrics
- No merged PRs in 30d
Description
So I'm writing some tests using Mocha, chai and supertest.
I'm facing a really weird behavior here on a test that should work just fine. Here's the test code:
```
var app = require('../app/app');
var agent = request.agent(app);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
//Run request tests
describe('Request Tests - Setting Enviroment', () => {
before((done) => {
//set TEST env
process.env.TEST = true;
//load app
app.start().then(() => {
done();
});
});
describe('basic page request', () => {
it('should respond with 200 respond code', () => {
request(app).get('/login')
.expect(200)
.expect('Content-Type', 'text/html; charset=utf-8')
.end((err, res) => {
if (err) throw err;
});
});
});
//Server ready
describe('Fuzz Test', () => {
describe('fuzzing login page with 1000 username/password permutations', () => {
fuzzer.seed(0);
it('should respond with 403 / invalid csrf token', () => {
for(var i=0; i <= 1000; i++){
request(app).post('/login')
.send({
username: fuzzer.mutate.string('fuzzfromhere'),
password: fuzzer.mutate.string('fuzzfromhere')
})
.expect((code) => {
if (code != 403 && code != 429) throw code;
})
.end((err, res) => {
if (err) throw err;
});
}
});
});
describe('fuzzing tokenizer page with 1000 random values', () => {
it('should respond with response from External API or invalid value', () => {
// touch env to skip login and rate limiter
process.env.TEST = 'skipLogin,skipRateLimiter';
//get csrf to validate queries
request(app).get('/tokenize')
.expect((response) => {
console.log(`expect resp: ${response}`);
})
.end((err, res) => {
if (err) throw err;
console.error(`expect error: ${err}`);
});
});
});
});
//Tests completed, end server
after((done) => {
app.end().then(() => {
delete process.env.TEST;
done();
}).catch((err) => {
throw err;
});
});
});
```
For some weird reason, I am getting the following error:
> Request Tests - Setting Enviroment
> Fuzz Test
> fuzzing tokenizer page with 1000 random cards
> should respond with response from Key Manager or invalid number:
> Uncaught Error: ECONNREFUSED: Connection refused
> at Test.assert (node_modules\supertest\lib\test.js:165:15)
> at assert (node_modules\supertest\lib\test.js:131:12)
> at C:\Users...\src\node_modules\supertest\lib\test.js:128:5
> at Test.Request.callback (node_modules\superagent\lib\node\index.js:718:3)
> at ClientRequest.req.once.err (node_modules\superagent\lib\node\index.js:646:10)
> at TLSSocket.socketErrorListener (_http_client.js:387:9)
> at emitErrorNT (internal/streams/destroy.js:64:8)
> at _combinedTickCallback (internal/process/next_tick.js:138:11)
> at process._tickCallback (internal/process/next_tick.js:180:9)
Any idea what's causing this?
Contributor guide
Assessment
This issue has not been assessed yet.