title: Why doesn't my sinon fake server return anything?
body: <p>I'm trying to setup a fake sinon server for testing some requests. In the code below, my callback function never gets called.  The test errors out with <code>Error: timeout of 500ms exceeded. Ensure the done() callback is being called in this test.</code> Why does the callback function not get called immediately?</p>
  
  <pre><code>var request = require('request');
  var sinon = require('sinon');
  
  describe('Job gets data', function(){
  
      var server;
  
      beforeEach(function(){
          server = sinon.fakeServer.create();
      });
  
      afterEach(function(){
          server.restore();
      });
  
      context('When there is a GET request to /something', function(){
  
          it('will throw an error if response format is invalid', sinon.test(function(done){
  
              server.respondWith('GET', '/something', [200, { "Content-Type": "application/json" }, '{invalid: "data"}']);
              request.get('/something', function (err, response, body) {
                  console.log(response);
                  console.log(body);
                  done();
              });
          }));
  
      });
  </code></pre>