Skip to content

Commit de33d05

Browse files
authored
feat(e2e): add e2e test for prometheus (#942)
1 parent 7e4ec36 commit de33d05

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ endif
8787
.PHONY: push-images
8888
push-images:
8989
ifeq ($(E2E_SKIP_BUILD), 0)
90-
docker pull apache/apisix:2.12.0-alpine
91-
docker tag apache/apisix:2.12.0-alpine $(REGISTRY)/apache/apisix:dev
90+
docker pull apache/apisix:2.13.0-alpine
91+
docker tag apache/apisix:2.13.0-alpine $(REGISTRY)/apache/apisix:dev
9292
docker push $(REGISTRY)/apache/apisix:dev
9393

9494
docker pull bitnami/etcd:3.4.14-debian-10-r0

test/e2e/features/global_rule.go

+28-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
package features
1616

1717
import (
18+
"fmt"
19+
"net/http"
1820
"time"
1921

2022
"github.com/apache/apisix-ingress-controller/pkg/id"
@@ -35,6 +37,7 @@ var _ = ginkgo.Describe("ApisixClusterConfig", func() {
3537
}
3638
s := scaffold.NewScaffold(opts)
3739
ginkgo.It("enable prometheus", func() {
40+
adminSvc, adminPort := s.ApisixAdminServiceAndPort()
3841
acc := `
3942
apiVersion: apisix.apache.org/v2beta3
4043
kind: ApisixClusterConfig
@@ -56,6 +59,30 @@ spec:
5659
// Wait until the ApisixClusterConfig create event was delivered.
5760
time.Sleep(3 * time.Second)
5861

62+
ar := fmt.Sprintf(`
63+
apiVersion: apisix.apache.org/v2beta3
64+
kind: ApisixRoute
65+
metadata:
66+
name: default
67+
spec:
68+
http:
69+
- name: public-api
70+
match:
71+
paths:
72+
- /apisix/prometheus/metrics
73+
backends:
74+
- serviceName: %s
75+
servicePort: %d
76+
plugins:
77+
- name: public-api
78+
enable: true
79+
`, adminSvc, adminPort)
80+
81+
err = s.CreateResourceFromString(ar)
82+
assert.Nil(ginkgo.GinkgoT(), err, "creating ApisixRouteConfig")
83+
84+
time.Sleep(3 * time.Second)
85+
5986
grs, err := s.ListApisixGlobalRules()
6087
assert.Nil(ginkgo.GinkgoT(), err, "listing global_rules")
6188
assert.Len(ginkgo.GinkgoT(), grs, 1)
@@ -65,7 +92,7 @@ spec:
6592
assert.Equal(ginkgo.GinkgoT(), ok, true)
6693

6794
resp := s.NewAPISIXClient().GET("/apisix/prometheus/metrics").Expect()
68-
resp.Status(200)
95+
resp.Status(http.StatusOK)
6996
resp.Body().Contains("# HELP apisix_etcd_modify_indexes Etcd modify index for APISIX keys")
7097
resp.Body().Contains("# HELP apisix_etcd_reachable Config server etcd reachable from APISIX, 0 is unreachable")
7198
resp.Body().Contains("# HELP apisix_node_info Info of APISIX node")

test/e2e/plugins/server-info.go

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ var _ = ginkgo.Describe("server-info plugin", func() {
3333
s := scaffold.NewScaffold(opts)
3434

3535
ginkgo.It("enable server-info plugin", func() {
36+
ginkgo.Skip("This plugin is disabled by default in APISIX v2.13.")
3637
serverInfoKey := [...]string{"etcd_version", "up_time", "last_report_time", "id", "hostname", "version", "boot_time"}
3738
serverInfo, err := s.GetServerInfo()
3839
assert.Nil(ginkgo.GinkgoT(), err)

0 commit comments

Comments
 (0)