### Question:
MetricsMetadataHandler extends MetadataHandler { @Override public void getPartitions(BlockWriter blockWriter, GetTableLayoutRequest request, QueryStatusChecker queryStatusChecker) throws Exception { validateTable(request.getTableName()); } 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 doGetTableLayout() throws Exception { logger.info("doGetTableLayout - enter"); Map<String, ValueSet> constraintsMap = new HashMap<>(); constraintsMap.put(METRIC_NAME_FIELD, EquatableValueSet.newBuilder(allocator, Types.MinorType.VARCHAR.getType(), true, false) .add("MyMetric").build()); GetTableLayoutRequest req = new GetTableLayoutRequest(identity, "queryId", "default", new TableName(defaultSchema, "metrics"), new Constraints(constraintsMap), SchemaBuilder.newBuilder().build(), Collections.EMPTY_SET); GetTableLayoutResponse res = handler.doGetTableLayout(allocator, req); logger.info("doGetTableLayout - {}", res.getPartitions().getSchema()); logger.info("doGetTableLayout - {}", res.getPartitions()); assertTrue(res.getPartitions().getRowCount() == 1); logger.info("doGetTableLayout - exit"); }