Files
FastDeploy/fastdeploy/golang_router/pkg/metrics/metrics_test.go
T
mouxin 0a92e96f20 [Feature] Add Golang-based Router for Request Scheduling and Load Balancing (#5882)
* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

---------

Co-authored-by: mouxin <mouxin@baidu.com>
2026-01-07 21:28:08 +08:00

46 lines
1.0 KiB
Go

package metrics
import (
"strings"
"testing"
"github.com/prometheus/client_golang/prometheus"
)
func TestMetricsInitialization(t *testing.T) {
// Verify all metrics are registered
metrics := []prometheus.Collector{
TotalRequests,
InferenceRequests,
RequestDuration,
}
for _, metric := range metrics {
if err := prometheus.Register(metric); err == nil {
t.Errorf("Metric %T should already be registered", metric)
}
}
}
func TestMetricsHelpText(t *testing.T) {
tests := []struct {
name string
metric prometheus.Collector
expected string
}{
{"TotalRequests", TotalRequests, "Total number of HTTP requests"},
{"InferenceRequests", InferenceRequests, "Total number of inference requests"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
desc := make(chan *prometheus.Desc, 1)
tt.metric.Describe(desc)
d := <-desc
if !strings.Contains(d.String(), tt.expected) {
t.Errorf("Expected help text to contain '%s', got '%s'", tt.expected, d.String())
}
})
}
}