@@ -6,13 +6,18 @@ import (
66 "testing"
77 "time"
88
9+ "github.com/prometheus/client_golang/prometheus"
910 "github.com/prometheus/client_golang/prometheus/promhttp"
1011 "github.com/stretchr/testify/require"
1112 "github.com/taylorchu/work"
1213 "github.com/taylorchu/work/redistest"
1314)
1415
1516func TestHandleFuncMetrics (t * testing.T ) {
17+ reg := prometheus .NewRegistry ()
18+ err := RegisterMetrics (reg )
19+ require .NoError (t , err )
20+
1621 job := work .NewJob ()
1722 opt := & work.DequeueOptions {
1823 Namespace : "{ns1}" ,
@@ -22,7 +27,7 @@ func TestHandleFuncMetrics(t *testing.T) {
2227 return nil
2328 })
2429
25- err : = h (job , opt )
30+ err = h (job , opt )
2631 require .NoError (t , err )
2732
2833 h = HandleFuncMetrics (func (* work.Job , * work.DequeueOptions ) error {
@@ -32,7 +37,8 @@ func TestHandleFuncMetrics(t *testing.T) {
3237 require .Error (t , err )
3338
3439 r := httptest .NewRecorder ()
35- promhttp .Handler ().ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
40+ promhttp .HandlerFor (reg , promhttp.HandlerOpts {}).
41+ ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
3642
3743 for _ , m := range []string {
3844 `work_job_executed_total{` ,
@@ -44,6 +50,10 @@ func TestHandleFuncMetrics(t *testing.T) {
4450}
4551
4652func TestEnqueueFuncMetrics (t * testing.T ) {
53+ reg := prometheus .NewRegistry ()
54+ err := RegisterMetrics (reg )
55+ require .NoError (t , err )
56+
4757 job := work .NewJob ()
4858 opt := & work.EnqueueOptions {
4959 Namespace : "{ns1}" ,
@@ -53,7 +63,7 @@ func TestEnqueueFuncMetrics(t *testing.T) {
5363 return nil
5464 })
5565
56- err : = h (job , opt )
66+ err = h (job , opt )
5767 require .NoError (t , err )
5868
5969 h = EnqueueFuncMetrics (func (* work.Job , * work.EnqueueOptions ) error {
@@ -63,7 +73,8 @@ func TestEnqueueFuncMetrics(t *testing.T) {
6373 require .Error (t , err )
6474
6575 r := httptest .NewRecorder ()
66- promhttp .Handler ().ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
76+ promhttp .HandlerFor (reg , promhttp.HandlerOpts {}).
77+ ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
6778
6879 for _ , m := range []string {
6980 `work_job_enqueued_total{` ,
@@ -73,6 +84,10 @@ func TestEnqueueFuncMetrics(t *testing.T) {
7384}
7485
7586func TestExportWorkerMetrics (t * testing.T ) {
87+ reg := prometheus .NewRegistry ()
88+ err := RegisterMetrics (reg )
89+ require .NoError (t , err )
90+
7691 client := redistest .NewClient ()
7792 defer client .Close ()
7893 require .NoError (t , redistest .Reset (client ))
@@ -81,7 +96,7 @@ func TestExportWorkerMetrics(t *testing.T) {
8196 Namespace : "{ns1}" ,
8297 Queue : work .NewRedisQueue (client ),
8398 })
84- err : = w .Register ("test" ,
99+ err = w .Register ("test" ,
85100 func (* work.Job , * work.DequeueOptions ) error { return nil },
86101 & work.JobOptions {
87102 MaxExecutionTime : time .Second ,
@@ -95,7 +110,8 @@ func TestExportWorkerMetrics(t *testing.T) {
95110 require .NoError (t , err )
96111
97112 r := httptest .NewRecorder ()
98- promhttp .Handler ().ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
113+ promhttp .HandlerFor (reg , promhttp.HandlerOpts {}).
114+ ServeHTTP (r , httptest .NewRequest ("GET" , "/metrics" , nil ))
99115
100116 for _ , m := range []string {
101117 `job_ready{` ,
0 commit comments