X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Ftest_filter2.cpp;h=c8847f572142d4d8a5a29c67777911df01884f59;hb=b43efd912574977452da0eafc8c346bbf1ee2a20;hp=c1d34b2902a408608af37c19f6ab7fecc959b9ea;hpb=c3805961da509f3e6dc69d5134bd6512be4a8be8;p=metaproxy-moved-to-github.git diff --git a/src/test_filter2.cpp b/src/test_filter2.cpp index c1d34b2..c8847f5 100644 --- a/src/test_filter2.cpp +++ b/src/test_filter2.cpp @@ -1,7 +1,22 @@ -/* $Id: test_filter2.cpp,v 1.11 2005-10-24 10:16:33 adam Exp $ - Copyright (c) 2005, Index Data. +/* $Id: test_filter2.cpp,v 1.24 2007-11-02 17:30:04 adam Exp $ + Copyright (c) 2005-2007, Index Data. -%LICENSE% +This file is part of Metaproxy. + +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 Metaproxy; see the file LICENSE. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ #include @@ -9,30 +24,28 @@ #include "config.hpp" #include "filter.hpp" -#include "router.hpp" +#include "router_chain.hpp" #include "package.hpp" #include #define BOOST_AUTO_TEST_MAIN +#define BOOST_TEST_DYN_LINK #include using namespace boost::unit_test; +namespace mp = metaproxy_1; -class FilterConstant: public yp2::filter::Base { +class FilterConstant: public mp::filter::Base { public: FilterConstant() : m_constant(1234) { }; - void process(yp2::Package & package) const { - package.data() = m_constant; + void process(mp::Package & package) const { package.move(); }; void configure(const xmlNode* ptr = 0); int get_constant() const { return m_constant; }; private: - bool parse_xml_text(const xmlNode *xml_ptr, bool &val); - bool parse_xml_text(const xmlNode *xml_ptr, std::string &val); -private: const xmlNode *m_ptr; int m_constant; }; @@ -75,88 +88,53 @@ void FilterConstant::configure(const xmlNode* ptr) } } -bool FilterConstant::parse_xml_text(const xmlNode *xml_ptr, bool &val) -{ - std::string v; - if (!parse_xml_text(xml_ptr, v)) - return false; - if (v.length() == 1 && v[0] == '1') - val = true; - else - val = false; - return true; -} - -bool FilterConstant::parse_xml_text(const xmlNode *xml_ptr, std::string &val) -{ - xmlNodePtr ptr = (xmlNodePtr) xml_ptr; - bool found = false; - std::string v; - for(ptr = ptr->children; ptr; ptr = ptr->next) - if (ptr->type == XML_TEXT_NODE) - { - xmlChar *t = ptr->content; - if (t) - { - v += (const char *) t; - found = true; - } - } - if (found) - val = v; - return found; -} - // This filter dose not have a configure function -class FilterDouble: public yp2::filter::Base { +class FilterDouble: public mp::filter::Base { public: - void process(yp2::Package & package) const { - package.data() = package.data() * 2; + void process(mp::Package & package) const { package.move(); }; }; - + BOOST_AUTO_TEST_CASE( testfilter2_1 ) { try { FilterConstant fc; - fc.name() = "FilterConstant"; FilterDouble fd; - fd.name() = "FilterDouble"; { - yp2::RouterChain router1; + mp::RouterChain router1; // test filter set/get/exception - router1.rule(fc); + router1.append(fc); - router1.rule(fd); + router1.append(fd); - yp2::Session session; - yp2::Origin origin; - yp2::Package pack(session, origin); + mp::Session session; + mp::Origin origin; + mp::Package pack(session, origin); pack.router(router1).move(); - BOOST_CHECK (pack.data() == 2468); + //BOOST_CHECK_EQUAL(pack.data(), 2468); } { - yp2::RouterChain router2; + mp::RouterChain router2; - router2.rule(fd); - router2.rule(fc); + router2.append(fd); + router2.append(fc); - yp2::Session session; - yp2::Origin origin; - yp2::Package pack(session, origin); + mp::Session session; + mp::Origin origin; + mp::Package pack(session, origin); pack.router(router2).move(); - BOOST_CHECK (pack.data() == 1234); + //BOOST_CHECK_EQUAL(pack.data(), 1234); } @@ -177,7 +155,7 @@ BOOST_AUTO_TEST_CASE( testfilter2_2 ) FilterConstant fc; BOOST_CHECK_EQUAL(fc.get_constant(), 1234); - yp2::filter::Base *base = &fc; + mp::filter::Base *base = &fc; std::string some_xml = "\n" "\n"