@After
  public void after() throws Exception {
    workerPool.shutdownNow(); // shutdownNow to interrupt the worker thread sitting on `take()`
    assertTrue("timeout waiting for worker thread to terminate",
      workerPool.awaitTermination(30, TimeUnit.SECONDS));
    final Throwable workerThrowable = workerThreadThrowable.get();
    assertThat("worker thread threw unexpected exception", workerThrowable, nullValue());
  }
A test over {@link RegionNormalizerWorker}. Being a background thread, the only points of
interaction we have to this class are its input source ({@link RegionNormalizerWorkQueue} and its
callbacks invoked against {@link RegionNormalizer} and {@link MasterServices}. The work queue is
simple enough to use directly; for {@link MasterServices}, use a mock because, as of now, the
worker only invokes 4 methods.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestRegionNormalizerWorker.java