authentication_test.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. package auth_test
  18. import (
  19. "net/http"
  20. . "github.com/onsi/ginkgo/v2"
  21. "github.com/apisix/manager-api/test/e2e/base"
  22. )
  23. var _ = Describe("Authentication", func() {
  24. DescribeTable("test auth module",
  25. func(tc base.HttpTestCase) {
  26. base.RunTestCase(tc)
  27. },
  28. Entry("Access with valid authentication token", base.HttpTestCase{
  29. Object: base.ManagerApiExpect(),
  30. Method: http.MethodGet,
  31. Path: "/apisix/admin/routes",
  32. Headers: map[string]string{"Authorization": base.GetToken()},
  33. ExpectStatus: http.StatusOK,
  34. ExpectBody: `"code":0`,
  35. }),
  36. Entry("Access with malformed authentication token", base.HttpTestCase{
  37. Object: base.ManagerApiExpect(),
  38. Method: http.MethodGet,
  39. Path: "/apisix/admin/routes",
  40. Headers: map[string]string{"Authorization": "Not-A-Valid-Token"},
  41. ExpectStatus: http.StatusUnauthorized,
  42. ExpectBody: `"message":"request unauthorized"`,
  43. }),
  44. Entry("Access without authentication token", base.HttpTestCase{
  45. Object: base.ManagerApiExpect(),
  46. Method: http.MethodGet,
  47. Path: "/apisix/admin/routes",
  48. ExpectStatus: http.StatusUnauthorized,
  49. ExpectBody: `"message":"request unauthorized"`,
  50. }),
  51. )
  52. })