### Question:
TPCDSMetadataHandler extends MetadataHandler { @Override public ListTablesResponse doListTables(BlockAllocator allocator, ListTablesRequest request) { logger.info("doListTables: enter - " + request); List<TableName> tables = Table.getBaseTables().stream() .map(next -> new TableName(request.getSchemaName(), next.getName())) .collect(Collectors.toList()); return new ListTablesResponse(request.getCatalogName(), tables); } TPCDSMetadataHandler(); @VisibleForTesting protected  TPCDSMetadataHandler(EncryptionKeyFactory keyFactory,
            AWSSecretsManager secretsManager,
            AmazonAthena athena,
            String spillBucket,
            String spillPrefix); @Override ListSchemasResponse doListSchemaNames(BlockAllocator allocator, ListSchemasRequest request); @Override ListTablesResponse doListTables(BlockAllocator allocator, ListTablesRequest request); @Override GetTableResponse doGetTable(BlockAllocator allocator, GetTableRequest request); @Override void getPartitions(BlockWriter blockWriter, GetTableLayoutRequest request, QueryStatusChecker queryStatusChecker); @Override GetSplitsResponse doGetSplits(BlockAllocator allocator, GetSplitsRequest request);  }### Answer:
@Test public void doListTables() { logger.info("doListTables - enter"); ListTablesRequest req = new ListTablesRequest(identity, "queryId", "default", "tpcds1"); ListTablesResponse res = handler.doListTables(allocator, req); logger.info("doListTables - {}", res.getTables()); assertTrue(res.getTables().contains(new TableName("tpcds1", "customer"))); assertTrue(res.getTables().size() == 25); logger.info("doListTables - exit"); }