Skip to content

Commit 6b77d9d

Browse files
committed
fix(tests): try to fix flaky test
1 parent 53990d3 commit 6b77d9d

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

test/metrics/opentelemetry_test.go

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/webhookx-io/webhookx/db/entities"
1212
"github.com/webhookx-io/webhookx/test/helper"
1313
"github.com/webhookx-io/webhookx/test/helper/factory"
14+
"github.com/webhookx-io/webhookx/utils"
1415
"testing"
1516
"time"
1617
)
@@ -28,38 +29,44 @@ var _ = Describe("opentelemetry", Ordered, func() {
2829

2930
BeforeAll(func() {
3031
entitiesConfig := helper.EntitiesConfig{
31-
Endpoints: []*entities.Endpoint{factory.EndpointP(), factory.EndpointP()},
32-
Sources: []*entities.Source{factory.SourceP(factory.WithSourceAsync(true))},
32+
Endpoints: []*entities.Endpoint{
33+
factory.EndpointP(),
34+
factory.EndpointP(func(e *entities.Endpoint) {
35+
e.Request.Timeout = 1
36+
}),
37+
},
38+
Sources: []*entities.Source{factory.SourceP()},
3339
}
34-
entitiesConfig.Endpoints[1].Request.Timeout = 1
3540
helper.InitDB(true, &entitiesConfig)
3641
helper.InitOtelOutput()
3742
proxyClient = helper.ProxyClient()
38-
var err error
39-
app, err = helper.Start(map[string]string{
43+
app = utils.Must(helper.Start(map[string]string{
4044
"WEBHOOKX_METRICS_EXPORTS": "opentelemetry",
4145
"WEBHOOKX_METRICS_PUSH_INTERVAL": "3",
4246
"WEBHOOKX_METRICS_OPENTELEMETRY_PROTOCOL": protocol,
4347
"WEBHOOKX_METRICS_OPENTELEMETRY_ENDPOINT": endpoints[protocol],
44-
})
45-
assert.Nil(GinkgoT(), err)
48+
}))
49+
50+
err := helper.WaitForServer(helper.ProxyHttpURL, time.Second)
51+
assert.NoError(GinkgoT(), err)
4652
})
4753

4854
AfterAll(func() {
4955
app.Stop()
5056
})
5157

5258
It("sanity", func() {
53-
assert.Eventually(GinkgoT(), func() bool {
59+
n, err := helper.FileCountLine(helper.OtelCollectorMetricsFile)
60+
assert.Nil(GinkgoT(), err)
61+
n++
62+
63+
for i := 0; i < 3; i++ {
5464
resp, err := proxyClient.R().
55-
SetBody(`{
56-
"event_type": "foo.bar",
57-
"data": {
58-
"key": "value"
59-
}
60-
}`).Post("/")
61-
return err == nil && resp.StatusCode() == 200
62-
}, time.Second*5, time.Second)
65+
SetBody(`{"event_type": "foo.bar","data": {"key": "value"}}`).
66+
Post("/")
67+
assert.NoError(GinkgoT(), err)
68+
assert.Equal(GinkgoT(), 200, resp.StatusCode())
69+
}
6370

6471
expected := []string{
6572
"webhookx.runtime.num_goroutine",
@@ -84,9 +91,6 @@ var _ = Describe("opentelemetry", Ordered, func() {
8491
"webhookx.attempt.failed",
8592
}
8693

87-
n, err := helper.FileCountLine(helper.OtelCollectorMetricsFile)
88-
assert.Nil(GinkgoT(), err)
89-
n++
9094
uploaded := make(map[string]bool)
9195
assert.Eventually(GinkgoT(), func() bool {
9296
line, err := helper.FileLine(helper.OtelCollectorMetricsFile, n)

0 commit comments

Comments
 (0)