public static void setCurator(CuratorFramework curator) {
    CURATOR_TL.set(curator);
  }
@Test
  public void testCreatingParentContainersIfNeeded() throws Exception {

    String connectString = zkServer.getConnectString();
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
    Configuration conf = getSecretConf(connectString);
    CuratorFramework curatorFramework =
        CuratorFrameworkFactory.builder()
        .connectString(connectString)
        .retryPolicy(retryPolicy)
        .build();
    curatorFramework.start();
    ZKDelegationTokenSecretManager.setCurator(curatorFramework);
    DelegationTokenManager tm1 = new DelegationTokenManager(conf, new Text("foo"));

    // When the init method is called,
    // the ZKDelegationTokenSecretManager#startThread method will be called,
    // and the creatingParentContainersIfNeeded will be called to create the nameSpace.
    tm1.init();

    String workingPath = "/" + conf.get(ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH,
        ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH_DEAFULT) + "/ZKDTSMRoot";

    // Check if the created NameSpace exists.
    Stat stat = curatorFramework.checkExists().forPath(workingPath);
    Assert.assertNotNull(stat);

    tm1.destroy();
    curatorFramework.close();
  }