Replay Needs Reset or Cleanup Function
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.
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"; });