code: function createSetupHook(before, baseUrl, schemaDir, options) {
    before("setup", function(done) {
      debug("running test setup");
      if (options.timeout) {
        this.timeout(options.timeout);
      }
  
      const setupPath = path.join(schemaDir, "setup");
      requireAll(setupPath, options, function(error, schemas) {
        if (error) return done(error);
        let promise = Promise.resolve();
        schemas.forEach(function(schema) {
          promise = promise.then(function() { return _setup(schema); });
        });
        promise.then(done).catch(done);
      });
    });
    function _setup(schema) {
      return new Promise(function(resolve, reject) {
        const method = schema.methods[0];
        makeRequest(baseUrl, method, schema, options, function(error, response) {
          if (error) {
            return reject(error);
          }
          return resolve();
        });
      });
    }
  }
docs: Create test setup hook (using "before" from mocha).
  
  @private
  @param  {Function} before - 'before' from mocha, for setup hook
  @param  {String} baseUrl - base URL e.g. "http://localhost:9090/"
  @param  {String} schemaDir - directory containing schemas
  @param  {Object} options - test configurations