62 lines
1.6 KiB
Ruby
62 lines
1.6 KiB
Ruby
|
|
module CudCommand
|
||
|
|
|
||
|
|
HEADERS = {
|
||
|
|
"Accept" => "application/json",
|
||
|
|
"Content-Type" => "application/json"
|
||
|
|
}
|
||
|
|
|
||
|
|
def test_headers path, method="post", accept=true
|
||
|
|
m = method.downcase
|
||
|
|
if accept
|
||
|
|
h = HEADERS.clone
|
||
|
|
h["Accept"] = "application/xml"
|
||
|
|
self.send("send_#{m}", path, {}, h, 406)
|
||
|
|
end
|
||
|
|
|
||
|
|
h = HEADERS.clone
|
||
|
|
h.delete("Content-Type")
|
||
|
|
self.send("send_#{m}", path, {}, h, 415)
|
||
|
|
end
|
||
|
|
|
||
|
|
def test_request path, obj, method="post", exclude=nil
|
||
|
|
m = method.downcase
|
||
|
|
[{}, [], ""].each do |o|
|
||
|
|
next if o.class == exclude
|
||
|
|
self.send("send_#{m}", path, o, HEADERS, 400) unless exclude.is_a?(Hash)
|
||
|
|
end
|
||
|
|
self.send("send_#{m}", path, nil, HEADERS, 400)
|
||
|
|
return if exclude == obj.class
|
||
|
|
obj.keys.each do |key|
|
||
|
|
buf = obj.clone
|
||
|
|
buf.delete(key)
|
||
|
|
self.send("send_#{m}", path, buf, HEADERS, 400)
|
||
|
|
buf[key] = ""
|
||
|
|
self.send("send_#{m}", path, buf, HEADERS, 400)
|
||
|
|
buf[key] = {}
|
||
|
|
self.send("send_#{m}", path, buf, HEADERS, 400)
|
||
|
|
buf[key] = []
|
||
|
|
self.send("send_#{m}", path, buf, HEADERS, 400)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
def test_auth path, obj, empty_obj_code=400, method="post"
|
||
|
|
m = method.downcase
|
||
|
|
read_only_privileges
|
||
|
|
self.send("send_#{m}", path, {}, HEADERS, 401)
|
||
|
|
self.send("send_#{m}", path, obj, HEADERS, 401)
|
||
|
|
|
||
|
|
empty_privileges
|
||
|
|
self.send("send_#{m}", path, {}, HEADERS, 401)
|
||
|
|
self.send("send_#{m}", path, obj, HEADERS, 401)
|
||
|
|
|
||
|
|
write_only_privileges
|
||
|
|
self.send("send_#{m}", path, {}, HEADERS, empty_obj_code)
|
||
|
|
|
||
|
|
self.username = ROOTUSER
|
||
|
|
self.send("send_#{m}", path, {}, HEADERS, empty_obj_code)
|
||
|
|
|
||
|
|
all_privileges
|
||
|
|
end
|
||
|
|
|
||
|
|
end
|