X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=test%2Fremote-url.cpp;h=36b79894e5d394cf3b741883691165534f76ce67;hb=804c00ece54887c9b1e417290946ff8c1cba09e0;hp=19e5ffe06f63eb39a6d351a4fb490fe9998db193;hpb=6de4cef3ae7517d0d728612c4734c9e53883a9fe;p=icinga2 diff --git a/test/remote-url.cpp b/test/remote-url.cpp index 19e5ffe06..36b79894e 100644 --- a/test/remote-url.cpp +++ b/test/remote-url.cpp @@ -1,21 +1,4 @@ -/****************************************************************************** - * Icinga 2 * - * Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/) * - * * - * This program is free software; you can redistribute it and/or * - * modify it under the terms of the GNU General Public License * - * as published by the Free Software Foundation; either version 2 * - * of the License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the Free Software Foundation * - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * - ******************************************************************************/ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ #include "base/array.hpp" #include "remote/url.hpp" @@ -53,31 +36,50 @@ BOOST_AUTO_TEST_CASE(get_and_set) BOOST_CHECK(url->Format(false, true) == "ftp://Horst:Seehofer@koenigreich.bayern:1918/path/to/m%C3%BCnchen"); - std::map > m; - std::vector v1 { "hip", "hip", "hurra" }; - std::vector v2 { "äü^ä+#ül-" }; - std::vector v3 { "1", "2" }; - m.insert(std::make_pair("shout", v1)); - m.insert(std::make_pair("sonderzeichen", v2)); - url->SetQuery(m); - url->SetQueryElements("count", v3); + url->SetQuery({ + {"shout", "hip"}, + {"shout", "hip"}, + {"shout", "hurra"}, + {"sonderzeichen", "äü^ä+#ül-"} + }); url->AddQueryElement("count", "3"); - std::map > mn = url->GetQuery(); - BOOST_CHECK(mn["shout"][0] == v1[0]); - BOOST_CHECK(mn["sonderzeichen"][0] == v2[0]); - BOOST_CHECK(mn["count"][2] == "3"); + auto mn (url->GetQuery()); + + BOOST_CHECK(mn.size() == 5); + + BOOST_CHECK(mn[0].first == "shout"); + BOOST_CHECK(mn[0].second == "hip"); + + BOOST_CHECK(mn[1].first == "shout"); + BOOST_CHECK(mn[1].second == "hip"); + + BOOST_CHECK(mn[2].first == "shout"); + BOOST_CHECK(mn[2].second == "hurra"); + + BOOST_CHECK(mn[3].first == "sonderzeichen"); + BOOST_CHECK(mn[3].second == "äü^ä+#ül-"); + + BOOST_CHECK(mn[4].first == "count"); + BOOST_CHECK(mn[4].second == "3"); } BOOST_AUTO_TEST_CASE(parameters) { - Url::Ptr url = new Url("https://icinga.com/hya/?rain=karl&rair=robert&foo[]=bar"); + Url::Ptr url = new Url("https://icinga.com/hya/?rair=robert&rain=karl&foo[]=bar"); + + auto query (url->GetQuery()); + + BOOST_CHECK(query.size() == 3); + + BOOST_CHECK(query[0].first == "rair"); + BOOST_CHECK(query[0].second == "robert"); + + BOOST_CHECK(query[1].first == "rain"); + BOOST_CHECK(query[1].second == "karl"); - BOOST_CHECK(url->GetQueryElement("rair") == "robert"); - BOOST_CHECK(url->GetQueryElement("rain") == "karl"); - std::vector test = url->GetQueryElements("foo"); - BOOST_CHECK(test.size() == 1); - BOOST_CHECK(test[0] == "bar"); + BOOST_CHECK(query[2].first == "foo"); + BOOST_CHECK(query[2].second == "bar"); } BOOST_AUTO_TEST_CASE(format)