This is an automated email from the ASF dual-hosted git repository.
majunjie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git
The following commit(s) were added to refs/heads/master by this push:
new 4ebf467 feat: rewrite e2e test (route with plugins cors test) using
ginkgo (#1676)
4ebf467 is described below
commit 4ebf467daa0f55cade4d600bc4a7957e92726f93
Author: Bisakh Mondal <[email protected]>
AuthorDate: Mon Mar 29 14:03:16 2021 +0530
feat: rewrite e2e test (route with plugins cors test) using ginkgo (#1676)
---
.../route}/route_with_plugin_cors_test.go | 119 ++++++++++-----------
1 file changed, 55 insertions(+), 64 deletions(-)
diff --git a/api/test/e2e/route_with_plugin_cors_test.go
b/api/test/e2enew/route/route_with_plugin_cors_test.go
similarity index 72%
rename from api/test/e2e/route_with_plugin_cors_test.go
rename to api/test/e2enew/route/route_with_plugin_cors_test.go
index 9811cf2..2fc6320 100644
--- a/api/test/e2e/route_with_plugin_cors_test.go
+++ b/api/test/e2enew/route/route_with_plugin_cors_test.go
@@ -14,26 +14,31 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package e2e
+package route
import (
"net/http"
- "testing"
+
+ "github.com/onsi/ginkgo"
+ "github.com/onsi/ginkgo/extensions/table"
+
+ "github.com/apisix/manager-api/test/e2enew/base"
)
-func TestRoute_With_Plugin_Cors(t *testing.T) {
- tests := []HttpTestCase{
- {
- Desc: "make sure the route is not created",
- Object: APISIXExpect(t),
+var _ = ginkgo.Describe("route with plugin cors", func() {
+ table.DescribeTable("test route with plugin cors",
+ func(tc base.HttpTestCase) {
+ base.RunTestCase(tc)
+ },
+ table.Entry("make sure the route is not created",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
ExpectStatus: http.StatusNotFound,
ExpectBody: `{"error_msg":"404 Route Not Found"}`,
- },
- {
- Desc: "create route with cors default setting",
- Object: ManagerApiExpect(t),
+ }),
+ table.Entry("create route with cors default setting",
base.HttpTestCase{
+ Object: base.ManagerApiExpect(),
Method: http.MethodPut,
Path: "/apisix/admin/routes/r1",
Body: `{
@@ -51,12 +56,11 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
}]
}
}`,
- Headers: map[string]string{"Authorization": token},
+ Headers: map[string]string{"Authorization":
base.GetToken()},
ExpectStatus: http.StatusOK,
- },
- {
- Desc: "verify route with cors default setting",
- Object: APISIXExpect(t),
+ }),
+ table.Entry("verify route with cors default setting",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
ExpectStatus: http.StatusOK,
@@ -65,11 +69,10 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
"Access-Control-Allow-Methods": "*",
},
ExpectBody: "hello world",
- Sleep: sleepTime,
- },
- {
- Desc: "update route with specified setting",
- Object: ManagerApiExpect(t),
+ Sleep: base.SleepTime,
+ }),
+ table.Entry("update route with specified setting",
base.HttpTestCase{
+ Object: base.ManagerApiExpect(),
Method: http.MethodPut,
Path: "/apisix/admin/routes/r1",
Body: `{
@@ -94,12 +97,11 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
}]
}
}`,
- Headers: map[string]string{"Authorization": token},
+ Headers: map[string]string{"Authorization":
base.GetToken()},
ExpectStatus: http.StatusOK,
- },
- {
- Desc: "verify route with cors specified setting",
- Object: APISIXExpect(t),
+ }),
+ table.Entry("verify route with cors specified setting",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
Headers: map[string]string{
@@ -115,11 +117,10 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
"Access-Control-Max-Age": "50",
},
ExpectBody: "hello world",
- Sleep: sleepTime,
- },
- {
- Desc: "verify route with cors specified no match
origin",
- Object: APISIXExpect(t),
+ Sleep: base.SleepTime,
+ }),
+ table.Entry("verify route with cors specified no match origin",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
Headers: map[string]string{
@@ -134,11 +135,10 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
"Access-Control-Max-Age": "",
},
ExpectBody: "hello world",
- Sleep: sleepTime,
- },
- {
- Desc: "verify route with options method",
- Object: APISIXExpect(t),
+ Sleep: base.SleepTime,
+ }),
+ table.Entry("verify route with options method",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodOptions,
Headers: map[string]string{
"Origin": "http://sub2.domain.com",
@@ -153,10 +153,9 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
"Access-Control-Max-Age": "50",
},
ExpectBody: "",
- },
- {
- Desc: "update route with cors setting force wildcard",
- Object: ManagerApiExpect(t),
+ }),
+ table.Entry("update route with cors setting force wildcard",
base.HttpTestCase{
+ Object: base.ManagerApiExpect(),
Method: http.MethodPut,
Path: "/apisix/admin/routes/r1",
Body: `{
@@ -179,12 +178,11 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
}]
}
}`,
- Headers: map[string]string{"Authorization": token},
+ Headers: map[string]string{"Authorization":
base.GetToken()},
ExpectStatus: http.StatusOK,
- },
- {
- Desc: "verify route with cors setting force wildcard",
- Object: APISIXExpect(t),
+ }),
+ table.Entry("verify route with cors setting force wildcard",
base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
Headers: map[string]string{
@@ -204,29 +202,22 @@ func TestRoute_With_Plugin_Cors(t *testing.T) {
"Access-Control-Allow-Credentials": "",
},
ExpectBody: "hello world",
- Sleep: sleepTime,
- },
- {
- Desc: "delete route",
- Object: ManagerApiExpect(t),
+ Sleep: base.SleepTime,
+ }),
+ table.Entry("delete route", base.HttpTestCase{
+ Object: base.ManagerApiExpect(),
Method: http.MethodDelete,
Path: "/apisix/admin/routes/r1",
- Headers: map[string]string{"Authorization": token},
+ Headers: map[string]string{"Authorization":
base.GetToken()},
ExpectStatus: http.StatusOK,
- },
- {
- Desc: "make sure the route deleted",
- Object: APISIXExpect(t),
+ }),
+ table.Entry("make sure the route deleted", base.HttpTestCase{
+ Object: base.APISIXExpect(),
Method: http.MethodGet,
Path: "/hello",
ExpectStatus: http.StatusNotFound,
ExpectBody: `{"error_msg":"404 Route Not Found"}`,
- Sleep: sleepTime,
- },
- }
-
- for _, tc := range tests {
- testCaseCheck(tc, t)
- }
-
-}
+ Sleep: base.SleepTime,
+ }),
+ )
+})