node-replay icon indicating copy to clipboard operation
node-replay copied to clipboard

Replay Needs Reset or Cleanup Function

Open ggb667 opened this issue 7 years ago • 1 comments

Replay needs a cleanup function.

I tried this at the start of index.js (for use in a before block in a mocha test):

const HTTP = require('http'); const HTTPS = require('https'); const DNS = require('dns'); const origHttpRequest = HTTP.request; const origHttpGet = HTTP.get; const origHttpsGet = HTTPS.get; const originalLookup = DNS.lookup;

restore() { HTTP.request = origHttpRequest; HTTP.get = origHttpGet; HTTPS.get = origHttpsGet; DNS.lookup = originalLookup; }

But I missed something because this still has problems when people use nock or sinon, and we would need something for the before block to undo this.

ggb667 avatar Nov 12 '18 19:11 ggb667

What I ended up doing for now in each test:

before(function(){ if(process.env.REPLAY) { Replay.mode = process.env.REPLAY; } });

after(function(){ Replay.mode = "bloody"; });

ggb667 avatar Nov 12 '18 19:11 ggb667