@@ -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