github.com/operator-framework/operator-lifecycle-manager@v0.30.0/pkg/metrics/metrics_test.go (about)

     1  package metrics_test
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  
     9  	operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
    10  	"github.com/operator-framework/operator-lifecycle-manager/pkg/metrics"
    11  )
    12  
    13  func TestUpdateSubsSyncCounterStorageThreadSafety(t *testing.T) {
    14  	for i := 0; i < 1000; i++ {
    15  		go func(ii int) {
    16  			sub := &operatorsv1alpha1.Subscription{
    17  				ObjectMeta: metav1.ObjectMeta{
    18  					Namespace: "foo",
    19  					Name:      "foo",
    20  				},
    21  				Spec: &operatorsv1alpha1.SubscriptionSpec{
    22  					Channel:             "foo",
    23  					Package:             "foo",
    24  					InstallPlanApproval: "automatic",
    25  				},
    26  				Status: operatorsv1alpha1.SubscriptionStatus{
    27  					InstalledCSV: "foo",
    28  				},
    29  			}
    30  			sub.Spec.Channel = fmt.Sprintf("bar-%v", ii)
    31  			metrics.UpdateSubsSyncCounterStorage(sub)
    32  		}(i)
    33  	}
    34  }