diff --git a/pkg/extensions/extension_metrics_disabled.go b/pkg/extensions/extension_metrics_disabled.go index 3b5b935b..ec6460b2 100644 --- a/pkg/extensions/extension_metrics_disabled.go +++ b/pkg/extensions/extension_metrics_disabled.go @@ -29,7 +29,8 @@ func SetupMetricsRoutes(conf *config.Config, router *mux.Router, zcommon.WriteJSON(w, http.StatusOK, m) } - router.Use(authnFunc) - router.Use(authzFunc) - router.HandleFunc("/metrics", getMetrics).Methods("GET") + extRouter := router.PathPrefix("/metrics").Subrouter() + extRouter.Use(authnFunc) + extRouter.Use(authzFunc) + extRouter.Methods("GET").Handler(http.HandlerFunc(getMetrics)) } diff --git a/test/blackbox/helpers_dist.bash b/test/blackbox/helpers_dist.bash new file mode 100644 index 00000000..54b9ab1e --- /dev/null +++ b/test/blackbox/helpers_dist.bash @@ -0,0 +1,6 @@ +function dist_route_check () { + local servername="http://127.0.0.1:${1}/v2/" + status_code=$(curl --write-out '%{http_code}' ${2} --silent --output /dev/null ${servername}) + + [ "$status_code" -eq ${3} ] +} diff --git a/test/blackbox/metrics_minimal.bats b/test/blackbox/metrics_minimal.bats index 9f4de607..f1157032 100644 --- a/test/blackbox/metrics_minimal.bats +++ b/test/blackbox/metrics_minimal.bats @@ -4,6 +4,7 @@ load helpers_zot load helpers_metrics +load helpers_dist function verify_prerequisites() { if [ ! $(command -v curl) ]; then @@ -107,4 +108,9 @@ function teardown_file() { zot_port=`cat ${BATS_FILE_TMPDIR}/zot.port` run metrics_route_check ${zot_port} "-u ${METRICS_USER}:${METRICS_PASS}" 200 [ "$status" -eq 0 ] +# anonymous policy: /v2/ endpoint should be available +# 200 - http.StatusOK + zot_port=`cat ${BATS_FILE_TMPDIR}/zot.port` + run dist_route_check ${zot_port} "" 200 + [ "$status" -eq 0 ] }