public void testUpgrade_0_20() throws Exception {
    // If this assert trips it means we are not suppressing enough codecs up above:
    assertFalse("test infra is broken!", LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE);
    File dataDir =
        prepareBackwardsDataDir(new File(getClass().getResource("index-0.20.zip").toURI()));
    internalCluster()
        .startNode(
            ImmutableSettings.builder()
                .put("path.data", dataDir.getPath())
                .put("gateway.type", "local") // this is important we need to recover from gateway
                .put(InternalNode.HTTP_ENABLED, true)
                .build());

    assertIndexSanity();

    HttpRequestBuilder httpClient = httpClient();

    UpgradeTest.assertNotUpgraded(httpClient, "test");
    UpgradeTest.runUpgrade(httpClient, "test", "wait_for_completion", "true");
    UpgradeTest.assertUpgraded(httpClient, "test");
  }