### Question:
AwsCmdbRecordHandler extends RecordHandler { @Override protected void readWithConstraint(BlockSpiller blockSpiller, ReadRecordsRequest readRecordsRequest, QueryStatusChecker queryStatusChecker) { TableProvider tableProvider = tableProviders.get(readRecordsRequest.getTableName()); tableProvider.readWithConstraint(blockSpiller, readRecordsRequest, queryStatusChecker); } AwsCmdbRecordHandler(); @VisibleForTesting protected  AwsCmdbRecordHandler(AmazonS3 amazonS3, AWSSecretsManager secretsManager, AmazonAthena athena, TableProviderFactory tableProviderFactory);   }### Answer:
@Test public void readWithConstraint() { ReadRecordsRequest request = new ReadRecordsRequest(identity, "catalog", "queryId", new TableName("schema", "table"), SchemaBuilder.newBuilder().build(), Split.newBuilder(S3SpillLocation.newBuilder() .withBucket(bucket) .withSplitId(UUID.randomUUID().toString()) .withQueryId(UUID.randomUUID().toString()) .withIsDirectory(true) .build(), keyFactory.create()).build(), new Constraints(Collections.EMPTY_MAP), 100_000, 100_000); handler.readWithConstraint(mockBlockSpiller, request, queryStatusChecker); verify(mockTableProvider, times(1)).readWithConstraint(any(BlockSpiller.class), eq(request), eq(queryStatusChecker)); }