### Question:
ElasticsearchMetadataHandler extends GlueMetadataHandler { @Override protected Field convertField(String fieldName, String glueType) { logger.debug("convertField - fieldName: {}, glueType: {}", fieldName, glueType); return GlueFieldLexer.lex(fieldName, glueType, glueTypeMapper); } ElasticsearchMetadataHandler(); @VisibleForTesting protected  ElasticsearchMetadataHandler(AWSGlue awsGlue,
                                           EncryptionKeyFactory keyFactory,
                                           AWSSecretsManager awsSecretsManager,
                                           AmazonAthena athena,
                                           String spillBucket,
                                           String spillPrefix,
                                           ElasticsearchDomainMapProvider domainMapProvider,
                                           AwsRestHighLevelClientFactory clientFactory,
                                           long queryTimeout); @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 convertFieldTest() { logger.info("convertFieldTest: enter"); handler = new ElasticsearchMetadataHandler(awsGlue, new LocalKeyFactory(), awsSecretsManager, amazonAthena, "spill-bucket", "spill-prefix", domainMapProvider, clientFactory, 10); Field field = handler.convertField("myscaled", "SCALED_FLOAT(10.51)"); assertEquals("myscaled", field.getName()); assertEquals("10.51", field.getMetadata().get("scaling_factor")); field = handler.convertField("myscaledlist", "ARRAY<SCALED_FLOAT(100)>"); assertEquals("myscaledlist", field.getName()); assertEquals(Types.MinorType.LIST.getType(), field.getType()); assertEquals("100", field.getChildren().get(0).getMetadata().get("scaling_factor")); field = handler.convertField("myscaledstruct", "STRUCT<myscaledstruct:SCALED_FLOAT(10.0)>"); assertEquals(Types.MinorType.STRUCT.getType(), field.getType()); assertEquals("myscaledstruct", field.getChildren().get(0).getName()); assertEquals("10.0", field.getChildren().get(0).getMetadata().get("scaling_factor")); logger.info("convertFieldTest: exit"); }