Skip to content

Commit 0d92218

Browse files
authored
fix zrouter (#85)
* fix zrouter * tests
1 parent 73f82ab commit 0d92218

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

pkg/zrouter/zrouter.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package zrouter
33
import (
44
"context"
55
"github.com/go-chi/chi/v5"
6-
"github.com/zondax/golem/internal/version"
76
"github.com/zondax/golem/pkg/logger"
87
"github.com/zondax/golem/pkg/metrics"
98
"github.com/zondax/golem/pkg/metrics/collectors"
@@ -26,6 +25,8 @@ type Config struct {
2625
WriteTimeOut time.Duration
2726
Logger *logger.Logger
2827
EnableRequestID bool
28+
AppVersion string
29+
AppRevision string
2930
}
3031

3132
func (c *Config) setDefaultValues() {
@@ -84,6 +85,10 @@ func New(metricsServer metrics.TaskMetrics, config *Config) ZRouter {
8485
config = &Config{}
8586
}
8687

88+
if config.AppVersion == "" || config.AppRevision == "" {
89+
panic("appVersion and appRevision are mandatory.")
90+
}
91+
8792
config.setDefaultValues()
8893
zr := &zrouter{
8994
router: chi.NewRouter(),
@@ -144,15 +149,15 @@ func (r *zrouter) Run(addr ...string) error {
144149
panic(err)
145150
}
146151

147-
if err := r.metricsServer.UpdateMetric(appVersionMetric, 1, version.GitVersion); err != nil {
152+
if err := r.metricsServer.UpdateMetric(appVersionMetric, 1, r.config.AppVersion); err != nil {
148153
panic(err)
149154
}
150155

151156
if err := r.metricsServer.RegisterMetric(appRevisionMetric, "Current revision of the application", []string{appRevisionMetric}, &collectors.Gauge{}); err != nil {
152157
panic(err)
153158
}
154159

155-
if err := r.metricsServer.UpdateMetric(appRevisionMetric, 1, version.GitRevision); err != nil {
160+
if err := r.metricsServer.UpdateMetric(appRevisionMetric, 1, r.config.AppRevision); err != nil {
156161
panic(err)
157162
}
158163

pkg/zrouter/zrouter_test.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@ type ZRouterSuite struct {
1616
}
1717

1818
func (suite *ZRouterSuite) SetupTest() {
19-
suite.router = New(nil, nil)
19+
suite.router = New(nil, &Config{AppVersion: "app_version", AppRevision: "app_revision"})
2020
logger.InitLogger(logger.Config{})
2121
}
2222

2323
func (suite *ZRouterSuite) TestRegisterAndGetRoutes() {
24-
2524
suite.router.GET("/get", func(ctx Context) (domain.ServiceResponse, error) {
2625
return domain.NewServiceResponse(http.StatusOK, []byte("GET OK")), nil
2726
})
@@ -54,3 +53,25 @@ func (suite *ZRouterSuite) TestRouteHandling() {
5453
func TestZRouterSuite(t *testing.T) {
5554
suite.Run(t, new(ZRouterSuite))
5655
}
56+
57+
func TestValidateAppVersionAndRevision(t *testing.T) {
58+
defer func() {
59+
r := recover()
60+
if r == nil {
61+
t.Errorf("The code did not panic")
62+
return
63+
}
64+
errorMessage, ok := r.(string)
65+
if !ok {
66+
t.Errorf("Expected panic with a string message but got %T", r)
67+
return
68+
}
69+
70+
expectedMessage := "appVersion and appRevision are mandatory."
71+
if errorMessage != expectedMessage {
72+
t.Errorf("Expected panic with message %q but got %q", expectedMessage, errorMessage)
73+
}
74+
}()
75+
76+
New(nil, nil)
77+
}

0 commit comments

Comments
 (0)