@Test
  public void testUsingControlDirUrl() throws Throwable {
    setupExternalTableTest();
    String oldWarehouse = getWarehouseDir();
    String[] args = {"-m",  "external", "--oldWarehouseRoot", oldWarehouse, "--controlFileUrl",
        "src/test/resources/hsmm"};
    HiveConf newConf = new HiveConf(hiveConf);

    runMigrationTool(newConf, args);

    verifySubsetOfTablesBecameExternal(
        Sets.newHashSet("manwhwh", "manwhnone", "custdb.custmanwhwh")
    );
  }
Tests shouldMoveExternal option on all possible scenarios of the following dimensions:
- managed or external table type?
- location in (old) warehouse or truly external location?
- is partitioned?
- is partition location default (under table directory) or custom external path?
- default or custom database?
@throws Exception
ql/src/test/org/apache/hadoop/hive/ql/util/TestHiveStrictManagedMigration.java