@@ -238,6 +238,8 @@ private Map<UUID, List<EntityReference>> batchFetchTestCases(List<TestSuite> tes
238238 public void clearFields (TestSuite entity , EntityUtil .Fields fields ) {
239239 entity .setPipelines (fields .contains ("pipelines" ) ? entity .getPipelines () : null );
240240 entity .setSummary (fields .contains ("summary" ) ? entity .getSummary () : null );
241+ entity .setTestCaseResultSummary (
242+ fields .contains ("summary" ) ? entity .getTestCaseResultSummary () : null );
241243 entity .withTests (fields .contains (UPDATE_FIELDS ) ? entity .getTests () : null );
242244 }
243245
@@ -423,25 +425,23 @@ private void fetchAndSetTestCaseResultSummary(
423425 List <UUID > suiteIds = testSuites .stream ().map (TestSuite ::getId ).toList ();
424426 Map <UUID , List <ResultSummary >> testCaseResultSummaryMap = batchGetResultSummary (suiteIds );
425427
426- Set <String > allTestCaseFQNs =
427- testCaseResultSummaryMap .values ().stream ()
428- .flatMap (List ::stream )
429- .map (ResultSummary ::getTestCaseName )
430- .collect (Collectors .toSet ());
431- Map <String , String > entityLinkMap = batchResolveEntityLinks (allTestCaseFQNs );
432-
433- Map <UUID , TestSummary > testSummaryMap =
434- testCaseResultSummaryMap .entrySet ().stream ()
435- .collect (
436- Collectors .toMap (
437- Map .Entry ::getKey , entry -> getTestSummary (entry .getValue (), entityLinkMap )));
438-
439- setFieldFromMap (
440- true , testSuites , testCaseResultSummaryMap , TestSuite ::setTestCaseResultSummary );
428+ Map <UUID , TestSummary > testSummaryMap = new HashMap <>();
429+ testCaseResultSummaryMap .forEach (
430+ (id , results ) -> testSummaryMap .put (id , computeSimpleSummary (results )));
441431
442432 setFieldFromMap (true , testSuites , testSummaryMap , TestSuite ::setSummary );
443433 }
444434
435+ private TestSummary computeSimpleSummary (List <ResultSummary > results ) {
436+ Map <String , Integer > statusCounts = new HashMap <>();
437+ for (ResultSummary r : results ) {
438+ statusCounts .merge (r .getStatus ().toString (), 1 , Integer ::sum );
439+ }
440+ TestSummary summary = createTestSummary (statusCounts );
441+ summary .setTotal (results .size ());
442+ return summary ;
443+ }
444+
445445 protected void fetchAndSetIngestionPipelines (List <TestSuite > entities , EntityUtil .Fields fields ) {
446446 if (!fields .contains ("pipelines" ) || entities == null || entities .isEmpty ()) {
447447 return ;
@@ -472,21 +472,6 @@ private Map<UUID, List<ResultSummary>> batchGetResultSummary(List<UUID> testSuit
472472 return repository .listResultSummariesForTestSuites (testSuiteIds );
473473 }
474474
475- private Map <String , String > batchResolveEntityLinks (Set <String > testCaseFQNs ) {
476- if (testCaseFQNs .isEmpty ()) {
477- return Map .of ();
478- }
479- List <TestCase > testCases =
480- Entity .getEntityByNames (TEST_CASE , new ArrayList <>(testCaseFQNs ), "" , ALL );
481- Map <String , String > entityLinkMap = new HashMap <>();
482- for (TestCase tc : testCases ) {
483- MessageParser .EntityLink entityLink = MessageParser .EntityLink .parse (tc .getEntityLink ());
484- String linkString = entityLink .getFieldName () == null ? "table" : entityLink .getLinkString ();
485- entityLinkMap .put (tc .getFullyQualifiedName (), linkString );
486- }
487- return entityLinkMap ;
488- }
489-
490475 private TestSummary getTestSummary (
491476 List <ResultSummary > testCaseResults , Map <String , String > entityLinkMap ) {
492477 record ProcessedTestCaseResults (String entityLink , String status ) {}
0 commit comments