Replay Needs Reset or Cleanup Function
ggb667 opened this issue · 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.
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";
});