### Question:
ExampleMetadataHandler extends MetadataHandler { @Override public ListTablesResponse doListTables(BlockAllocator allocator, ListTablesRequest request) { logger.info("doListTables: enter - " + request); List<TableName> tables = new ArrayList<>(); return new ListTablesResponse(request.getCatalogName(), tables); } ExampleMetadataHandler(); @VisibleForTesting protected  ExampleMetadataHandler(EncryptionKeyFactory keyFactory,
            AWSSecretsManager awsSecretsManager,
            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() { if (!enableTests) { logger.info("doListTables: Tests are disabled, to enable them set the 'publishing' environment variable " + "using maven clean install -Dpublishing=true"); return; } logger.info("doListTables - enter"); ListTablesRequest req = new ListTablesRequest(fakeIdentity(), "queryId", "default", "schema1"); ListTablesResponse res = handler.doListTables(allocator, req); logger.info("doListTables - {}", res.getTables()); assertFalse(res.getTables().isEmpty()); logger.info("doListTables - exit"); }