X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftest_filter2.cpp;h=fb3c0a3ccf4ebe447903aed66983e934c60b846d;hb=586d78659d671683f33ec55f4a7d32b28e345ccd;hp=8bb4224fd0e98de9703fa13bd8266af49820cbef;hpb=48cfd383e1e94fa9d34d8a783b7c0137ae598a9d;p=metaproxy-moved-to-github.git diff --git a/src/test_filter2.cpp b/src/test_filter2.cpp index 8bb4224..fb3c0a3 100644 --- a/src/test_filter2.cpp +++ b/src/test_filter2.cpp @@ -1,20 +1,34 @@ -/* $Id: test_filter2.cpp,v 1.21 2006-09-14 19:53:57 marc Exp $ - Copyright (c) 2005-2006, Index Data. +/* This file is part of Metaproxy. + Copyright (C) Index Data - See the LICENSE file for details - */ +Metaproxy 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, or (at your option) any later +version. + +Metaproxy 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 +*/ + +#include "config.hpp" #include #include -#include "config.hpp" -#include "filter.hpp" -#include "router_chain.hpp" -#include "package.hpp" +#include +#include +#include #include #define BOOST_AUTO_TEST_MAIN +#define BOOST_TEST_DYN_LINK #include using namespace boost::unit_test; @@ -27,7 +41,7 @@ public: void process(mp::Package & package) const { package.move(); }; - void configure(const xmlNode* ptr = 0); + void configure(const xmlNode* ptr, bool test_only, const char *path); int get_constant() const { return m_constant; }; private: const xmlNode *m_ptr; @@ -35,15 +49,16 @@ private: }; -void FilterConstant::configure(const xmlNode* ptr) +void FilterConstant::configure(const xmlNode* ptr, bool test_only, + const char *path) { m_ptr = ptr; - + BOOST_CHECK_EQUAL (ptr->type, XML_ELEMENT_NODE); BOOST_CHECK_EQUAL(std::string((const char *) ptr->name), "filter"); - + const struct _xmlAttr *attr; - + for (attr = ptr->properties; attr; attr = attr->next) { BOOST_CHECK_EQUAL( std::string((const char *)attr->name), "type"); @@ -56,15 +71,15 @@ void FilterConstant::configure(const xmlNode* ptr) { if (p->type != XML_ELEMENT_NODE) continue; - + BOOST_CHECK_EQUAL (p->type, XML_ELEMENT_NODE); BOOST_CHECK_EQUAL(std::string((const char *) p->name), "value"); - + const xmlNode *val = p->children; BOOST_CHECK(val); if (!val) continue; - + BOOST_CHECK_EQUAL(val->type, XML_TEXT_NODE); BOOST_CHECK_EQUAL(std::string((const char *)val->content), "2"); @@ -73,16 +88,18 @@ void FilterConstant::configure(const xmlNode* ptr) } // This filter dose not have a configure function - + class FilterDouble: public mp::filter::Base { public: void process(mp::Package & package) const { package.move(); }; + void configure(const xmlNode * ptr, bool test_only, + const char *path) { }; }; - -BOOST_AUTO_UNIT_TEST( testfilter2_1 ) + +BOOST_AUTO_TEST_CASE( testfilter2_1 ) { try { FilterConstant fc; @@ -90,36 +107,36 @@ BOOST_AUTO_UNIT_TEST( testfilter2_1 ) { mp::RouterChain router1; - + // test filter set/get/exception router1.append(fc); - + router1.append(fd); mp::Session session; mp::Origin origin; mp::Package pack(session, origin); - - pack.router(router1).move(); - + + pack.router(router1).move(); + //BOOST_CHECK_EQUAL(pack.data(), 2468); - + } - + { mp::RouterChain router2; - + router2.append(fd); router2.append(fc); - + mp::Session session; mp::Origin origin; mp::Package pack(session, origin); - + pack.router(router2).move(); - + //BOOST_CHECK_EQUAL(pack.data(), 1234); - + } } @@ -133,7 +150,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_1 ) } -BOOST_AUTO_UNIT_TEST( testfilter2_2 ) +BOOST_AUTO_TEST_CASE( testfilter2_2 ) { try { FilterConstant fc; @@ -145,7 +162,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_2 ) "\n" " 2\n" ""; - + // std::cout << some_xml << std::endl; xmlDocPtr doc = xmlParseMemory(some_xml.c_str(), some_xml.size()); @@ -155,9 +172,9 @@ BOOST_AUTO_UNIT_TEST( testfilter2_2 ) if (doc) { xmlNodePtr root_element = xmlDocGetRootElement(doc); - - base->configure(root_element); - + + base->configure(root_element, true, 0); + xmlFreeDoc(doc); } @@ -176,8 +193,9 @@ BOOST_AUTO_UNIT_TEST( testfilter2_2 ) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil - * c-file-style: "stroustrup" * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +