private static RegionInfo makeOverlap(MasterServices services, RegionInfo a, RegionInfo b)
    throws IOException {
    RegionInfo overlapRegion = RegionInfoBuilder.newBuilder(a.getTable())
      .setStartKey(a.getStartKey()).setEndKey(b.getEndKey()).build();
    MetaTableAccessor.putsToMetaTable(services.getConnection(),
      Collections.singletonList(MetaTableAccessor.makePutFromRegionInfo(overlapRegion,
        EnvironmentEdgeManager.currentTime())));
    // TODO: Add checks at assign time to PREVENT being able to assign over existing assign.
    long assign = services.getAssignmentManager().assign(overlapRegion);
    ProcedureTestingUtility.waitProcedures(services.getMasterProcedureExecutor(), assign);
    return overlapRegion;
  }
Just make sure running fixMeta does right thing for the case of a single-region Table where the
region gets dropped. There is nothing much we can do. We can't restore what we don't know about
(at least from a read of hbase:meta).
hbase-server/src/test/java/org/apache/hadoop/hbase/master/janitor/TestMetaFixer.java