Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ require (
)

require (
github.com/codeready-toolchain/api v0.0.0-20250131222557-beba5463f429
github.com/codeready-toolchain/api v0.0.0-20250227073728-5999971adb48
github.com/ghodss/yaml v1.0.0
github.com/google/go-cmp v0.6.0
github.com/google/go-github/v52 v52.0.0
github.com/google/uuid v1.6.0
github.com/migueleliasweb/go-github-mock v0.0.18
github.com/prometheus/client_golang v1.18.0
github.com/prometheus/client_model v0.5.0
golang.org/x/oauth2 v0.12.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/kubectl v0.29.2
Expand Down Expand Up @@ -86,7 +87,6 @@ require (
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.45.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/shopspring/decimal v1.2.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/codeready-toolchain/api v0.0.0-20250131222557-beba5463f429 h1:I7xzHRmstvzucH9NqF54xvsM/yYuWOp/G5+BUr5j4tY=
github.com/codeready-toolchain/api v0.0.0-20250131222557-beba5463f429/go.mod h1:gPwicZPTmRm1PF75ysEYXaYKdXoFgwgCggTJd1oYmOs=
github.com/codeready-toolchain/api v0.0.0-20250227073728-5999971adb48 h1:jqGcYw4KdQzqe5WEp+06HXBRyosAktgO5Y6ADs+NF5A=
github.com/codeready-toolchain/api v0.0.0-20250227073728-5999971adb48/go.mod h1:gPwicZPTmRm1PF75ysEYXaYKdXoFgwgCggTJd1oYmOs=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
Expand Down
33 changes: 33 additions & 0 deletions pkg/test/metrics/metric.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package metrics

import (
"fmt"
"testing"

"github.com/prometheus/client_golang/prometheus"
promtestutil "github.com/prometheus/client_golang/prometheus/testutil"
promclientgo "github.com/prometheus/client_model/go"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func AssertMetricsCounterEquals(t *testing.T, expected int, c prometheus.Counter) {
Expand All @@ -27,3 +30,33 @@ func AssertCounterGreaterOrEqualsInt(t *testing.T, threshold int, c prometheus.C
func AssertMetricsGaugeEquals(t *testing.T, expected int, g prometheus.Gauge, msgAndArgs ...interface{}) {
assert.InDelta(t, float64(expected), promtestutil.ToFloat64(g), 0.01, msgAndArgs...)
}

func AssertHistogramBucketEquals(t *testing.T, expected, bucket float64, h prometheus.Histogram, msgAndArgs ...interface{}) {
metric := promclientgo.Metric{}
err := h.Write(&metric)
require.NoError(t, err)
for _, buck := range metric.GetHistogram().GetBucket() {
if buck.GetUpperBound() == bucket {
assert.Equal(t, uint64(expected), buck.GetCumulativeCount(), msgAndArgs...) // nolint:gosec
return
}
}
assert.Fail(t, fmt.Sprintf("the bucket with the upper limit '%v' wasn't found, actual: %v", bucket, metric.GetHistogram().GetBucket()), msgAndArgs...)
}

func AssertHistogramSampleCountEquals(t *testing.T, expected uint64, h prometheus.Histogram, msgAndArgs ...interface{}) {
metric := promclientgo.Metric{}
err := h.Write(&metric)
require.NoError(t, err)
assert.Equal(t, expected, metric.GetHistogram().GetSampleCount(), msgAndArgs...)
}

func AssertAllHistogramBucketsAreEmpty(t *testing.T, h prometheus.Histogram, msgAndArgs ...interface{}) {
metric := promclientgo.Metric{}
err := h.Write(&metric)
require.NoError(t, err)
for _, buck := range metric.GetHistogram().GetBucket() {
assert.Empty(t, buck.GetCumulativeCount(), msgAndArgs...)
}
assert.Empty(t, metric.GetHistogram().GetSampleCount(), msgAndArgs...)
}
6 changes: 6 additions & 0 deletions pkg/test/usersignup/usersignup.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,12 @@ func WithAnnotation(key, value string) Modifier {
}
}

func WithRequestReceivedTimeAnnotation(t time.Time) Modifier {
return func(userSignup *toolchainv1alpha1.UserSignup) {
userSignup.Annotations[toolchainv1alpha1.UserSignupRequestReceivedTimeAnnotationKey] = t.Format(time.RFC3339)
}
}

func WithoutAnnotation(key string) Modifier {
return func(userSignup *toolchainv1alpha1.UserSignup) {
delete(userSignup.Annotations, key)
Expand Down
Loading