### Question:
MetricsMetadataHandler extends MetadataHandler { @Override public GetTableResponse doGetTable(BlockAllocator blockAllocator, GetTableRequest getTableRequest) { validateTable(getTableRequest.getTableName()); Table table = TABLES.get(getTableRequest.getTableName().getTableName()); return new GetTableResponse(getTableRequest.getCatalogName(), getTableRequest.getTableName(), table.getSchema(), table.getPartitionColumns()); } 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 doGetMetricsTable() { logger.info("doGetMetricsTable - enter"); GetTableRequest metricsTableReq = new GetTableRequest(identity, "queryId", "default", new TableName(defaultSchema, "metrics")); GetTableResponse metricsTableRes = handler.doGetTable(allocator, metricsTableReq); logger.info("doGetMetricsTable - {} {}", metricsTableRes.getTableName(), metricsTableRes.getSchema()); assertEquals(new TableName(defaultSchema, "metrics"), metricsTableRes.getTableName()); assertNotNull(metricsTableRes.getSchema()); assertEquals(6, metricsTableRes.getSchema().getFields().size()); logger.info("doGetMetricsTable - exit"); }
@Test public void doGetMetricSamplesTable() { logger.info("doGetMetricSamplesTable - enter"); GetTableRequest metricsTableReq = new GetTableRequest(identity, "queryId", "default", new TableName(defaultSchema, "metric_samples")); GetTableResponse metricsTableRes = handler.doGetTable(allocator, metricsTableReq); logger.info("doGetMetricSamplesTable - {} {}", metricsTableRes.getTableName(), metricsTableRes.getSchema()); assertEquals(new TableName(defaultSchema, "metric_samples"), metricsTableRes.getTableName()); assertNotNull(metricsTableRes.getSchema()); assertEquals(9, metricsTableRes.getSchema().getFields().size()); logger.info("doGetMetricSamplesTable - exit"); }