forwardemail / forwardemail/supertest

Uncaught Error: ECONNREFUSED: Connection refused

Open
#484 9 comments 16 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.