From a10c1390393e363f4ac05e5293be4899d06a61c7 Mon Sep 17 00:00:00 2001 From: Jan Steemann Date: Thu, 21 Feb 2013 17:57:22 +0100 Subject: [PATCH] added tests for /_admin/echo and thus req.url --- UnitTests/HttpInterface/api-admin-spec.rb | 59 +++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/UnitTests/HttpInterface/api-admin-spec.rb b/UnitTests/HttpInterface/api-admin-spec.rb index 0ed8cbd6ce..9fd243b8ca 100644 --- a/UnitTests/HttpInterface/api-admin-spec.rb +++ b/UnitTests/HttpInterface/api-admin-spec.rb @@ -13,6 +13,65 @@ describe ArangoDB do doc = ArangoDB.log_get("admin-interface-get", cmd) end +################################################################################ +## /_admin/echo +################################################################################ + + context "checks /_admin/echo" do + prefix = "api-system" + + it "using GET" do + cmd = "/_admin/echo" + doc = ArangoDB.log_get("#{prefix}-echo", cmd) + + doc.code.should eq(200) + doc.parsed_response['url'].should eq("/_admin/echo") + doc.parsed_response['path'].should eq("/") + doc.parsed_response['parameters'].should eq({}) + doc.parsed_response['requestType'].should eq("GET") + + end + + it "using GET, with URL parameter" do + cmd = "/_admin/echo?a=1" + doc = ArangoDB.log_get("#{prefix}-echo", cmd) + + doc.code.should eq(200) + doc.parsed_response['url'].should eq("/_admin/echo?a=1") + doc.parsed_response['path'].should eq("/") + doc.parsed_response['parameters'].should eq({ "a" => "1" }) + doc.parsed_response['requestType'].should eq("GET") + end + + it "using POST, with URL parameters" do + cmd = "/_admin/echo?a=1&b=2&foo[]=bar" + body = "{\"foo\": \"bar\", \"baz\": { \"bump\": true, \"moo\": [ ] } }" + doc = ArangoDB.log_post("#{prefix}-echo", cmd, :body => body) + + doc.code.should eq(200) + doc.parsed_response['url'].should eq("/_admin/echo?a=1&b=2&foo[]=bar") + doc.parsed_response['path'].should eq("/") + doc.parsed_response['parameters'].should eq({ "foo[]" => "bar", "b" => "2", "a" => "1" }) + doc.parsed_response['requestType'].should eq("POST") + doc.parsed_response['requestBody'].should eq("{\"foo\": \"bar\", \"baz\": { \"bump\": true, \"moo\": [ ] } }") + end + + it "using PUT, with headers" do + cmd = "/_admin/echo?" + body = "{ }" + headers = { "X-Foo" => "Bar", "x-meow" => "mOO" } + doc = ArangoDB.log_put("#{prefix}-echo", cmd, :body => body, :headers => headers) + + doc.code.should eq(200) + doc.parsed_response['url'].should eq("/_admin/echo?") + doc.parsed_response['path'].should eq("/") + doc.parsed_response['parameters'].should eq({ }) + doc.parsed_response['requestType'].should eq("PUT") + doc.parsed_response['requestBody'].should eq("{ }") + end + + end + ################################################################################ ## check whether admin interface is accessible ################################################################################