@@ -394,7 +394,7 @@ public void testQueryProfile() {
394394 Truth .assertThat (results .hasNext ()).isTrue ();
395395 Truth .assertThat (results .getExplainMetrics ().isPresent ()).isTrue ();
396396 assertPlanSummary (results .getExplainMetrics ().get ().getPlanSummary ());
397- assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get ());
397+ assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get (), 2 , 2 , "2" );
398398
399399 QueryResults <Entity > results2 =
400400 datastore .run (simpleOrQuery , ExplainOptions .newBuilder ().build ());
@@ -421,7 +421,8 @@ public void testQueryProfile() {
421421 Truth .assertThat (resultsAggregation .size () > 0 ).isTrue ();
422422
423423 assertPlanSummary (resultsAggregation .getExplainMetrics ().get ().getPlanSummary ());
424- assertExecutionStats (resultsAggregation .getExplainMetrics ().get ().getExecutionStats ().get ());
424+ assertExecutionStats (
425+ resultsAggregation .getExplainMetrics ().get ().getExecutionStats ().get (), 1 , 1 , "2" );
425426
426427 AggregationQuery aggregationQuery2 =
427428 Query .newAggregationQueryBuilder ().over (simpleOrQuery ).addAggregation (count ()).build ();
@@ -569,7 +570,7 @@ public void testTransactionExplainOptionsAnalyze() {
569570
570571 ExplainMetrics explainMetrics = baseResults .getExplainMetrics ().get ();
571572 assertPlanSummary (explainMetrics .getPlanSummary ());
572- assertExecutionStats (explainMetrics .getExecutionStats ().get ());
573+ assertExecutionStats (explainMetrics .getExecutionStats ().get (), 1 , 1 , "1" );
573574
574575 baseTransaction .add (ENTITY3 );
575576 baseTransaction .commit ();
@@ -585,7 +586,7 @@ public void testTransactionExplainOptionsAnalyze() {
585586 assertTrue (results .size () > 0 );
586587
587588 assertPlanSummary (results .getExplainMetrics ().get ().getPlanSummary ());
588- assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get ());
589+ assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get (), 1 , 1 , "1" );
589590 aggregationTransaction .commit ();
590591 }
591592
@@ -625,19 +626,25 @@ private void assertPlanSummary(PlanSummary planSummary) {
625626 each -> Truth .assertThat (each .keySet ()).containsAtLeast ("properties" , "query_scope" ));
626627 }
627628
628- private void assertExecutionStats (ExecutionStats executionStats ) {
629+ private void assertExecutionStats (
630+ ExecutionStats executionStats ,
631+ long expectedReadOps ,
632+ long expectedResultsReturned ,
633+ String expectedIndexEntriesScanned ) {
629634 Map <String , Object > debugStats = executionStats .getDebugStats ();
630635 Truth .assertThat (debugStats .keySet ())
631636 .containsAtLeast ("billing_details" , "documents_scanned" , "index_entries_scanned" );
637+ Truth .assertThat (debugStats .get ("index_entries_scanned" ))
638+ .isEqualTo (expectedIndexEntriesScanned );
632639
633640 Duration executionDuration = executionStats .getExecutionDuration ();
634641 Truth .assertThat (executionDuration ).isIn (Range .greaterThan (Duration .ofMillis (0 )));
635642
636643 long readOperations = executionStats .getReadOperations ();
637- Truth .assertThat (readOperations ).isIn ( Range . atLeast ( 1L ) );
644+ Truth .assertThat (readOperations ).isEqualTo ( expectedReadOps );
638645
639646 long resultsReturned = executionStats .getResultsReturned ();
640- Truth .assertThat (resultsReturned ).isIn ( Range . atLeast ( 1L ) );
647+ Truth .assertThat (resultsReturned ).isEqualTo ( expectedResultsReturned );
641648 }
642649
643650 @ Test
@@ -1824,7 +1831,7 @@ private void testCountAggregationReadTimeWith(Consumer<AggregationQuery.Builder>
18241831 Long oldCount = getOnlyElement (results ).getLong ("total_count" );
18251832 assertThat (oldCount ).isEqualTo (2L );
18261833 assertPlanSummary (results .getExplainMetrics ().get ().getPlanSummary ());
1827- assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get ());
1834+ assertExecutionStats (results .getExplainMetrics ().get ().getExecutionStats ().get (), 1 , 1 , "2" );
18281835 } finally {
18291836 datastore .delete (entity1 .getKey (), entity2 .getKey (), entity3 .getKey ());
18301837 }
0 commit comments