@Override
    public Set<DatabaseTableName> getCachedTableNames() {
        return cachingMetastore.getCachedTableNames();
    }
@Test
    public void testGetCachedTable(@Mocked ConnectContext connectContext) {
        new Expectations() {
            {
                ConnectContext.get();
                result = connectContext;
                minTimes = 0;

                connectContext.getCommand();
                result = MysqlCommand.COM_QUERY;
                minTimes = 0;
            }
        };

        new MockUp<DeltaUtils>() {
            @mockit.Mock
            public DeltaLakeTable convertDeltaToSRTable(String catalog, String dbName, String tblName, String path,
                                                        Engine deltaEngine, long createTime) {
                return new DeltaLakeTable(1, "delta0", "db1", "table1",
                        Lists.newArrayList(), Lists.newArrayList("ts"), null,
                        "s3://bucket/path/to/table", null, 0);
            }
        };

        DeltaLakeCacheUpdateProcessor deltaLakeCacheUpdateProcessor =
                new DeltaLakeCacheUpdateProcessor(cachingDeltaLakeMetastore);
        Table table = cachingDeltaLakeMetastore.getTable("db1", "table1");

        Assert.assertEquals(1, deltaLakeCacheUpdateProcessor.getCachedTableNames().size());
        Assert.assertTrue(deltaLakeCacheUpdateProcessor.getCachedTableNames().
                contains(DatabaseTableName.of("db1", "table1")));
        Assert.assertTrue(table instanceof DeltaLakeTable);
    }