github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/common/test_status.go (about)

     1  package common
     2  
     3  import (
     4  	"context"
     5  
     6  	appstudioApi "github.com/redhat-appstudio/application-api/api/v1alpha1"
     7  	"k8s.io/apimachinery/pkg/api/meta"
     8  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     9  	"sigs.k8s.io/controller-runtime/pkg/client"
    10  )
    11  
    12  func (s *SuiteController) HaveTestsSucceeded(snapshot *appstudioApi.Snapshot) bool {
    13  	return meta.IsStatusConditionTrue(snapshot.Status.Conditions, "HACBSTestSucceeded") ||
    14  		meta.IsStatusConditionTrue(snapshot.Status.Conditions, "AppStudioTestSucceeded")
    15  }
    16  
    17  func (s *SuiteController) HaveTestsFinished(snapshot *appstudioApi.Snapshot) bool {
    18  	return meta.FindStatusCondition(snapshot.Status.Conditions, "HACBSTestSucceeded") != nil ||
    19  		meta.FindStatusCondition(snapshot.Status.Conditions, "AppStudioTestSucceeded") != nil
    20  }
    21  
    22  func (s *SuiteController) MarkTestsSucceeded(snapshot *appstudioApi.Snapshot) (*appstudioApi.Snapshot, error) {
    23  	patch := client.MergeFrom(snapshot.DeepCopy())
    24  	meta.SetStatusCondition(&snapshot.Status.Conditions, metav1.Condition{
    25  		Type:    "AppStudioTestSucceeded",
    26  		Status:  metav1.ConditionTrue,
    27  		Reason:  "Passed",
    28  		Message: "Snapshot Passed",
    29  	})
    30  	err := s.KubeRest().Status().Patch(context.Background(), snapshot, patch)
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  	return snapshot, nil
    35  }