### Question:
HCatalogStore extends CatalogConstants implements CatalogStore { @Override public final List<String> getAllTableNames() throws CatalogException { List<String> dbs = null; List<String> tables = null; List<String> allTables = new ArrayList<String>(); HCatalogStoreClientPool.HCatalogStoreClient client = null; try { client = clientPool.getClient(); dbs = client.getHiveClient().getAllDatabases(); for(String eachDB: dbs) { tables = client.getHiveClient().getAllTables(eachDB); for(String eachTable: tables) { allTables.add(eachDB + "." + eachTable); } } } catch (MetaException e) { throw new CatalogException(e); } finally { client.release(); } return allTables; } HCatalogStore(final Configuration conf);  HCatalogStore(final Configuration conf, HCatalogStoreClientPool pool); @Override boolean existTable(final String name); @Override final CatalogProtos.TableDescProto getTable(final String name); @Override final List<String> getAllTableNames(); @Override final void addTable(final CatalogProtos.TableDescProto tableDescProto); @Override final void deleteTable(final String name); @Override void addPartitionMethod(CatalogProtos.PartitionMethodProto partitionMethodProto); @Override CatalogProtos.PartitionMethodProto getPartitionMethod(String tableName); @Override boolean existPartitionMethod(String tableName); @Override void delPartitionMethod(String tableName); @Override void addPartitions(CatalogProtos.PartitionsProto partitionsProto); @Override void addPartition(CatalogProtos.PartitionDescProto partitionDescProto); @Override CatalogProtos.PartitionsProto getPartitions(String tableName); @Override CatalogProtos.PartitionDescProto getPartition(String partitionName); @Override void delPartition(String partitionName); @Override void delPartitions(String tableName); @Override final void addFunction(final FunctionDesc func); @Override final void deleteFunction(final FunctionDesc func); @Override final void existFunction(final FunctionDesc func); @Override final List<String> getAllFunctionNames(); @Override void delIndex(String indexName); @Override boolean existIndex(String indexName); @Override CatalogProtos.IndexDescProto[] getIndexes(String tableName); @Override void addIndex(CatalogProtos.IndexDescProto proto); @Override CatalogProtos.IndexDescProto getIndex(String indexName); @Override CatalogProtos.IndexDescProto getIndex(String tableName, String columnName); @Override boolean existIndex(String tableName, String columnName); @Override final void close();  }### Answer:
@Test public void testGetAllTableNames() throws Exception{ TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new Options()); org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); schema.addColumn("n_name", TajoDataTypes.Type.TEXT); schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4); schema.addColumn("n_comment", TajoDataTypes.Type.TEXT); String[] tableNames = new String[]{"default.table1", "default.table2", "default.table3"}; for(String tableName : tableNames){ TableDesc table = new TableDesc(tableName, schema, meta, warehousePath); store.addTable(table.getProto()); } List<String> tables = store.getAllTableNames(); assertEquals(tableNames.length, tables.size()); for(String tableName : tableNames){ assertTrue(tables.contains(tableName)); } for(String tableName : tableNames){ store.deleteTable(tableName); } }