• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Azure / aks-app-routing-operator / 19078368359

04 Nov 2025 06:05PM UTC coverage: 79.408% (-1.9%) from 81.302%
19078368359

push

github

OliverMKing
downgrade to 24

4026 of 5070 relevant lines covered (79.41%)

21.93 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/pkg/controller/testutils/testutils.go
1
package testutils
2

3
import (
4
        "path/filepath"
5
        "testing"
6

7
        approutingv1alpha1 "github.com/Azure/aks-app-routing-operator/api/v1alpha1"
8
        "github.com/Azure/aks-app-routing-operator/pkg/controller/controllername"
9
        "github.com/Azure/aks-app-routing-operator/pkg/controller/metrics"
10
        cfgv1alpha2 "github.com/openservicemesh/osm/pkg/apis/config/v1alpha2"
11
        policyv1alpha1 "github.com/openservicemesh/osm/pkg/apis/policy/v1alpha1"
12
        promDTO "github.com/prometheus/client_model/go"
13
        "github.com/stretchr/testify/require"
14
        apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
15
        "k8s.io/apimachinery/pkg/runtime"
16
        utilruntime "k8s.io/apimachinery/pkg/util/runtime"
17
        clientgoscheme "k8s.io/client-go/kubernetes/scheme"
18
        "k8s.io/client-go/rest"
19
        "sigs.k8s.io/controller-runtime/pkg/client/fake"
20
        "sigs.k8s.io/controller-runtime/pkg/envtest"
21
        gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
22
        secv1 "sigs.k8s.io/secrets-store-csi-driver/apis/v1"
23
)
24

25
func GetErrMetricCount(t *testing.T, controllerName controllername.ControllerNamer) float64 {
×
26
        errMetric, err := metrics.AppRoutingReconcileErrors.GetMetricWithLabelValues(controllerName.MetricsName())
×
27
        require.NoError(t, err)
×
28

×
29
        metricProto := &promDTO.Metric{}
×
30

×
31
        err = errMetric.Write(metricProto)
×
32
        require.NoError(t, err)
×
33

×
34
        beforeCount := metricProto.GetCounter().GetValue()
×
35
        return beforeCount
×
36
}
×
37

38
func GetReconcileMetricCount(t *testing.T, controllerName controllername.ControllerNamer, label string) float64 {
×
39
        errMetric, err := metrics.AppRoutingReconcileTotal.GetMetricWithLabelValues(controllerName.MetricsName(), label)
×
40
        require.NoError(t, err)
×
41

×
42
        metricProto := &promDTO.Metric{}
×
43

×
44
        err = errMetric.Write(metricProto)
×
45
        require.NoError(t, err)
×
46

×
47
        beforeCount := metricProto.GetCounter().GetValue()
×
48
        return beforeCount
×
49
}
×
50

51
func StartTestingEnv() (*rest.Config, *envtest.Environment, error) {
×
52
        env := &envtest.Environment{}
×
53
        restConfig, err := env.Start()
×
54
        if err != nil {
×
55
                return nil, nil, err
×
56
        }
×
57
        return restConfig, env, nil
×
58
}
59

60
func CleanupTestingEnv(env *envtest.Environment) error {
×
61
        return env.Stop()
×
62
}
×
63

64
func RegisterSchemes(t *testing.T, builder *fake.ClientBuilder, regFuncs ...func(s *runtime.Scheme) error) *fake.ClientBuilder {
×
65
        scheme := runtime.NewScheme()
×
66
        for _, regFunc := range regFuncs {
×
67
                require.NoError(t, regFunc(scheme))
×
68
        }
×
69

70
        return builder.WithScheme(scheme)
×
71
}
72

73
func NewTestScheme() *runtime.Scheme {
×
74
        s := runtime.NewScheme()
×
75
        utilruntime.Must(clientgoscheme.AddToScheme(s))
×
76
        utilruntime.Must(secv1.Install(s))
×
77
        utilruntime.Must(cfgv1alpha2.AddToScheme(s))
×
78
        utilruntime.Must(policyv1alpha1.AddToScheme(s))
×
79
        utilruntime.Must(approutingv1alpha1.AddToScheme(s))
×
80
        utilruntime.Must(apiextensionsv1.AddToScheme(s))
×
81
        utilruntime.Must(gatewayv1.Install(s))
×
82
        return s
×
83
}
×
84

85
func NewTestEnvironment() *envtest.Environment {
×
86
        return &envtest.Environment{
×
87
                CRDDirectoryPaths: []string{
×
88
                        filepath.Join("..", "..", "config", "crd", "bases"),
×
89
                        filepath.Join("..", "..", "config", "gatewaycrd"),
×
90
                },
×
91
        }
×
92
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc