### Question:
MetricsMetadataHandler extends MetadataHandler { @Override public ListTablesResponse doListTables(BlockAllocator blockAllocator, ListTablesRequest listTablesRequest) { List<TableName> tables = new ArrayList<>(); TABLES.keySet().stream().forEach(next -> tables.add(new TableName(SCHEMA_NAME, next))); return new ListTablesResponse(listTablesRequest.getCatalogName(), tables); } MetricsMetadataHandler(); @VisibleForTesting protected  MetricsMetadataHandler(AmazonCloudWatch metrics,
            EncryptionKeyFactory keyFactory,
            AWSSecretsManager secretsManager,
            AmazonAthena athena,
            String spillBucket,
            String spillPrefix); @Override ListSchemasResponse doListSchemaNames(BlockAllocator blockAllocator, ListSchemasRequest listSchemasRequest); @Override ListTablesResponse doListTables(BlockAllocator blockAllocator, ListTablesRequest listTablesRequest); @Override GetTableResponse doGetTable(BlockAllocator blockAllocator, GetTableRequest getTableRequest); @Override void getPartitions(BlockWriter blockWriter, GetTableLayoutRequest request, QueryStatusChecker queryStatusChecker); @Override GetSplitsResponse doGetSplits(BlockAllocator blockAllocator, GetSplitsRequest getSplitsRequest);  }### Answer:
@Test public void doListTables() { logger.info("doListTables - enter"); ListTablesRequest req = new ListTablesRequest(identity, "queryId", "default", defaultSchema); ListTablesResponse res = handler.doListTables(allocator, req); logger.info("doListTables - {}", res.getTables()); assertEquals(2, res.getTables().size()); assertTrue(res.getTables().contains(new TableName(defaultSchema, "metrics"))); assertTrue(res.getTables().contains(new TableName(defaultSchema, "metric_samples"))); logger.info("doListTables - exit"); }