### Question:
DocDBMetadataHandler extends GlueMetadataHandler { @Override public GetSplitsResponse doGetSplits(BlockAllocator blockAllocator, GetSplitsRequest request) { SpillLocation spillLocation = makeSpillLocation(request); return new GetSplitsResponse(request.getCatalogName(), Split.newBuilder(spillLocation, makeEncryptionKey()) .add(DOCDB_CONN_STR, getConnStr(request)) .build()); } DocDBMetadataHandler(); @VisibleForTesting protected  DocDBMetadataHandler(AWSGlue glue,
            DocDBConnectionFactory connectionFactory,
            EncryptionKeyFactory keyFactory,
            AWSSecretsManager secretsManager,
            AmazonAthena athena,
            String spillBucket,
            String spillPrefix); @Override ListSchemasResponse doListSchemaNames(BlockAllocator blockAllocator, ListSchemasRequest request); @Override ListTablesResponse doListTables(BlockAllocator blockAllocator, ListTablesRequest request); @Override GetTableResponse doGetTable(BlockAllocator blockAllocator, GetTableRequest request); @Override void getPartitions(BlockWriter blockWriter, GetTableLayoutRequest request, QueryStatusChecker queryStatusChecker); @Override GetSplitsResponse doGetSplits(BlockAllocator blockAllocator, GetSplitsRequest request);  }### Answer:
@Test public void doGetSplits() { List<String> partitionCols = new ArrayList<>(); Block partitions = BlockUtils.newBlock(allocator, PARTITION_ID, Types.MinorType.INT.getType(), 0); String continuationToken = null; GetSplitsRequest originalReq = new GetSplitsRequest(IDENTITY, QUERY_ID, DEFAULT_CATALOG, TABLE_NAME, partitions, partitionCols, new Constraints(new HashMap<>()), null); GetSplitsRequest req = new GetSplitsRequest(originalReq, continuationToken); logger.info("doGetSplits: req[{}]", req); MetadataResponse rawResponse = handler.doGetSplits(allocator, req); assertEquals(MetadataRequestType.GET_SPLITS, rawResponse.getRequestType()); GetSplitsResponse response = (GetSplitsResponse) rawResponse; continuationToken = response.getContinuationToken(); logger.info("doGetSplits: continuationToken[{}] - numSplits[{}]", new Object[] {continuationToken, response.getSplits().size()}); assertTrue("Continuation criteria violated", response.getSplits().size() == 1); assertTrue("Continuation criteria violated", response.getContinuationToken() == null); }