@Override
    public Table getTable(String dbName, String tableName) {
        if (ConnectContext.get() != null && ConnectContext.get().getCommand() == MysqlCommand.COM_QUERY) {
            DatabaseTableName databaseTableName = DatabaseTableName.of(dbName, tableName);
            lastAccessTimeMap.put(databaseTableName, System.currentTimeMillis());
        }
        return get(tableCache, DatabaseTableName.of(dbName, tableName));
    }
@Test
    public void testGetTable() {
        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);
            }
        };

        CachingDeltaLakeMetastore cachingDeltaLakeMetastore =
                CachingDeltaLakeMetastore.createCatalogLevelInstance(metastore, executor, expireAfterWriteSec,
                        refreshAfterWriteSec, 100);

        Table table = cachingDeltaLakeMetastore.getTable("db1", "table1");
        Assert.assertTrue(table instanceof DeltaLakeTable);
        DeltaLakeTable deltaLakeTable = (DeltaLakeTable) table;
        Assert.assertEquals("db1", deltaLakeTable.getDbName());
        Assert.assertEquals("table1", deltaLakeTable.getTableName());
        Assert.assertEquals("s3://bucket/path/to/table", deltaLakeTable.getTableLocation());
    }