### Question:
ExampleMetadataHandler extends MetadataHandler { @Override public ListSchemasResponse doListSchemaNames(BlockAllocator allocator, ListSchemasRequest request) { logCaller(request); List<String> schemas = new ArrayList<>(); schemas.add(ExampleTable.schemaName); return new ListSchemasResponse(request.getCatalogName(), schemas); } 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 enhancePartitionSchema(SchemaBuilder partitionSchemaBuilder, GetTableLayoutRequest request); @Override void getPartitions(BlockWriter writer, GetTableLayoutRequest request, QueryStatusChecker queryStatusChecker); @Override GetSplitsResponse doGetSplits(BlockAllocator allocator, GetSplitsRequest request); void onPing(PingRequest request);  }### Answer:
@Test public void doListSchemas() { logger.info("doListSchemas - enter"); ListSchemasRequest req = new ListSchemasRequest(IdentityUtil.fakeIdentity(), "queryId", "default"); ObjectMapperUtil.assertSerialization(req); ListSchemasResponse res = metadataHandler.doListSchemaNames(allocator, req); ObjectMapperUtil.assertSerialization(res); logger.info("doListSchemas - {}", res.getSchemas()); assertFalse(res.getSchemas().isEmpty()); logger.info("doListSchemas - exit"); }