tableCreate: () => {
   const database = sinon.mock(createDatabaseStub());
   rethink.db.restore();
   sinon.stub(rethink, 'db').returns(database.object);
   return database
     .expects('tableCreate')
     .returns(createRunnable());
 }
 insert: () => {
   const table = sinon.mock(createTableStub());
   const database = Object.assign(createDatabaseStub(), { table: () => table.object });
   rethink.db.restore();
   sinon.stub(rethink, 'db').returns(database);
   return table
     .expects('insert')
     .returns(createRunnable());
 }
 tableCreate: () => {
   const database = sinon.mock(Object.assign(createDatabaseStub(),
     { tableList: () => createRunnable(['jenkins_metrics']) }));
   rethink.db.restore();
   sinon.stub(rethink, 'db').returns(database.object);
   return database
     .expects('tableCreate')
     .returns(createRunnable());
 }
 indexWait: () => {
   const table = sinon.mock(Object.assign(createTableStub(),
     { indexList: () => createRunnable(['jobName']) }));
   const database = Object.assign(createDatabaseStub(), {
     table: () => table.object,
     tableList: () => createRunnable(['jenkins_metrics'])
   });
   rethink.db.restore();
   sinon.stub(rethink, 'db').returns(database);
   return table
     .expects('indexWait')
     .returns(createRunnable());
 }
function restore() {
  rethink.connect.restore();
  rethink.db.restore();
  rethink.dbList.restore();
  rethink.dbCreate.restore();
}