@@ -7,6 +7,7 @@ package baseserver_test
7
7
import (
8
8
"fmt"
9
9
"github.com/gitpod-io/gitpod/common-go/baseserver"
10
+ "github.com/prometheus/client_golang/prometheus"
10
11
"github.com/stretchr/testify/require"
11
12
"net/http"
12
13
"testing"
@@ -40,3 +41,36 @@ func TestServer_ServesReady(t *testing.T) {
40
41
require .NoError (t , err )
41
42
require .Equal (t , http .StatusOK , resp .StatusCode )
42
43
}
44
+
45
+ func TestServer_ServesMetricsEndpointWithDefaultConfig (t * testing.T ) {
46
+ srv := baseserver .NewForTests (t )
47
+
48
+ go func (t * testing.T ) {
49
+ require .NoError (t , srv .ListenAndServe ())
50
+ }(t )
51
+
52
+ baseserver .WaitForServerToBeReachable (t , srv , 3 * time .Second )
53
+
54
+ readyUR := fmt .Sprintf ("%s/metrics" , srv .HTTPAddress ())
55
+ resp , err := http .Get (readyUR )
56
+ require .NoError (t , err )
57
+ require .Equal (t , http .StatusOK , resp .StatusCode )
58
+ }
59
+
60
+ func TestServer_ServesMetricsEndpointWithCustomMetricsConfig (t * testing.T ) {
61
+ registry := prometheus .NewRegistry ()
62
+ srv := baseserver .NewForTests (t ,
63
+ baseserver .WithMetricsRegistry (registry ),
64
+ )
65
+
66
+ go func (t * testing.T ) {
67
+ require .NoError (t , srv .ListenAndServe ())
68
+ }(t )
69
+
70
+ baseserver .WaitForServerToBeReachable (t , srv , 3 * time .Second )
71
+
72
+ readyUR := fmt .Sprintf ("%s/metrics" , srv .HTTPAddress ())
73
+ resp , err := http .Get (readyUR )
74
+ require .NoError (t , err )
75
+ require .Equal (t , http .StatusOK , resp .StatusCode )
76
+ }
0 commit comments