@@ -253,6 +253,8 @@ private Map<UUID, List<EntityReference>> batchFetchTestCases(List<TestSuite> tes
253253 public void clearFields (TestSuite entity , EntityUtil .Fields fields ) {
254254 entity .setPipelines (fields .contains ("pipelines" ) ? entity .getPipelines () : null );
255255 entity .setSummary (fields .contains ("summary" ) ? entity .getSummary () : null );
256+ entity .setTestCaseResultSummary (
257+ fields .contains ("summary" ) ? entity .getTestCaseResultSummary () : null );
256258 entity .withTests (fields .contains (UPDATE_FIELDS ) ? entity .getTests () : null );
257259 }
258260
@@ -519,25 +521,23 @@ private void fetchAndSetTestCaseResultSummary(
519521 List <UUID > suiteIds = testSuites .stream ().map (TestSuite ::getId ).toList ();
520522 Map <UUID , List <ResultSummary >> testCaseResultSummaryMap = batchGetResultSummary (suiteIds );
521523
522- Set <String > allTestCaseFQNs =
523- testCaseResultSummaryMap .values ().stream ()
524- .flatMap (List ::stream )
525- .map (ResultSummary ::getTestCaseName )
526- .collect (Collectors .toSet ());
527- Map <String , String > entityLinkMap = batchResolveEntityLinks (allTestCaseFQNs );
528-
529- Map <UUID , TestSummary > testSummaryMap =
530- testCaseResultSummaryMap .entrySet ().stream ()
531- .collect (
532- Collectors .toMap (
533- Map .Entry ::getKey , entry -> getTestSummary (entry .getValue (), entityLinkMap )));
534-
535- setFieldFromMap (
536- true , testSuites , testCaseResultSummaryMap , TestSuite ::setTestCaseResultSummary );
524+ Map <UUID , TestSummary > testSummaryMap = new HashMap <>();
525+ testCaseResultSummaryMap .forEach (
526+ (id , results ) -> testSummaryMap .put (id , computeSimpleSummary (results )));
537527
538528 setFieldFromMap (true , testSuites , testSummaryMap , TestSuite ::setSummary );
539529 }
540530
531+ private TestSummary computeSimpleSummary (List <ResultSummary > results ) {
532+ Map <String , Integer > statusCounts = new HashMap <>();
533+ for (ResultSummary r : results ) {
534+ statusCounts .merge (r .getStatus ().toString (), 1 , Integer ::sum );
535+ }
536+ TestSummary summary = createTestSummary (statusCounts );
537+ summary .setTotal (results .size ());
538+ return summary ;
539+ }
540+
541541 protected void fetchAndSetIngestionPipelines (List <TestSuite > entities , EntityUtil .Fields fields ) {
542542 if (!fields .contains ("pipelines" ) || entities == null || entities .isEmpty ()) {
543543 return ;
@@ -568,21 +568,6 @@ private Map<UUID, List<ResultSummary>> batchGetResultSummary(List<UUID> testSuit
568568 return repository .listResultSummariesForTestSuites (testSuiteIds );
569569 }
570570
571- private Map <String , String > batchResolveEntityLinks (Set <String > testCaseFQNs ) {
572- if (testCaseFQNs .isEmpty ()) {
573- return Map .of ();
574- }
575- List <TestCase > testCases =
576- Entity .getEntityByNames (TEST_CASE , new ArrayList <>(testCaseFQNs ), "" , ALL );
577- Map <String , String > entityLinkMap = new HashMap <>();
578- for (TestCase tc : testCases ) {
579- MessageParser .EntityLink entityLink = MessageParser .EntityLink .parse (tc .getEntityLink ());
580- String linkString = entityLink .getFieldName () == null ? "table" : entityLink .getLinkString ();
581- entityLinkMap .put (tc .getFullyQualifiedName (), linkString );
582- }
583- return entityLinkMap ;
584- }
585-
586571 private TestSummary getTestSummary (
587572 List <ResultSummary > testCaseResults , Map <String , String > entityLinkMap ) {
588573 record ProcessedTestCaseResults (String entityLink , String status ) {}
0 commit comments