Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(admin): correct the count field of plugin-metadata/global-rule #6155

Merged
merged 8 commits into from
Jan 23, 2022
88 changes: 88 additions & 0 deletions t/admin/global-rules2.t
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,91 @@ __DATA__
}
--- response_body
{"action":"get","count":0,"node":{"dir":true,"key":"/apisix/global_rules","nodes":{}}}



=== TEST 2: set global rule
--- config
location /t {
content_by_lua_block {
local json = require("toolkit.json")
local t = require("lib.test_admin").test
local code, message, res = t('/apisix/admin/global_rules/1',
ngx.HTTP_PUT,
[[{
"plugins": {
"proxy-rewrite": {
"uri": "/"
}
}
}]]
)

if code >= 300 then
ngx.status = code
ngx.say(message)
return
end

res = json.decode(res)
res.node.value.create_time = nil
res.node.value.update_time = nil
ngx.say(json.encode(res))
}
}
--- response_body
{"action":"set","node":{"key":"/apisix/global_rules/1","value":{"id":"1","plugins":{"proxy-rewrite":{"uri":"/"}}}}}
--- request
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no need to repeat the two sections below?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to add a test cases for non-empty resources like TEST 3, so put a new global rules.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, I have removed request and error log phrase.

GET /t
--- no_error_log
[error]



=== TEST 3: list global rules
--- config
location /t {
content_by_lua_block {
local json = require("toolkit.json")
local t = require("lib.test_admin").test

local code, message, res = t('/apisix/admin/global_rules',
ngx.HTTP_GET
)

if code >= 300 then
ngx.status = code
ngx.say(message)
return
end

res = json.decode(res)
ngx.say(json.encode(res))
}
}
--- response_body_like
{"action":"get","count":1,"node":\{"dir":true,"key":"/apisix/global_rules","nodes":.*



=== TEST 4: delete global rules
--- config
location /t {
content_by_lua_block {
local t = require("lib.test_admin").test
local code, message = t('/apisix/admin/global_rules/1',
ngx.HTTP_DELETE,
nil,
[[{
"action": "delete"
}]]
)
ngx.say("[delete] code: ", code, " message: ", message)
}
}
--- request
GET /t
--- response_body
[delete] code: 200 message: passed
--- no_error_log
[error]