X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Ftest_router_flexml.cpp;h=5cefd7a4b637627563f28dcbbf6e4ff9a919d2fb;hb=14d0e634d5061208301502d813d488d1e82f190b;hp=c082be36bb582d1b4e5ab6b7c75546fdcc4d2134;hpb=474111be67deb87130a5f0add13df89c89df346a;p=metaproxy-moved-to-github.git diff --git a/src/test_router_flexml.cpp b/src/test_router_flexml.cpp index c082be3..5cefd7a 100644 --- a/src/test_router_flexml.cpp +++ b/src/test_router_flexml.cpp @@ -1,4 +1,4 @@ -/* $Id: test_router_flexml.cpp,v 1.3 2005-10-31 09:40:18 marc Exp $ +/* $Id: test_router_flexml.cpp,v 1.11 2006-01-04 14:30:51 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -10,55 +10,132 @@ #include "filter.hpp" #include "router_flexml.hpp" +#include "factory_static.hpp" #define BOOST_AUTO_TEST_MAIN #include using namespace boost::unit_test; +static bool tfilter_destroyed = false; class TFilter: public yp2::filter::Base { public: void process(yp2::Package & package) const {}; + ~TFilter() { tfilter_destroyed = true; }; }; - -BOOST_AUTO_TEST_CASE( test_router_flexml_1 ) +static yp2::filter::Base* filter_creator() { - try{ - TFilter filter; + return new TFilter; +} - std::string xmlconf = "" - "" - "" - "" - "" - "210" - "" - "" - "mylog.log" - "" - "" - "" - "" - "" - "" - "" - "" - ""; - - yp2::RouterFleXML rflexml(xmlconf); - +BOOST_AUTO_UNIT_TEST( test_router_flexml_1 ) +{ + try + { + std::string xmlconf = "\n" + "\n" + " \n" + " \n" + " \n" + " 210\n" + " \n" + " \n" + " mylog1.log\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " mylog2.log\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n"; - BOOST_CHECK (true); + yp2::FactoryStatic factory; + factory.add_creator("tfilter", filter_creator); + yp2::RouterFleXML rflexml(xmlconf, factory); + } + catch ( std::runtime_error &e) { + std::cout << "std::runtime error: " << e.what() << "\n"; + BOOST_CHECK (false); + } + catch ( ... ) { + BOOST_CHECK (false); + } + BOOST_CHECK(tfilter_destroyed == true); +} - //BOOST_CHECK_EQUAL(filter.name(), std::string("filter1")); +BOOST_AUTO_UNIT_TEST( test_router_flexml_2 ) +{ + bool got_xml_error = false; + try + { + std::string xmlconf_invalid = "\n" + "\n" + " \n" + " \n" + " \n" + " 210\n"; + yp2::FactoryFilter factory; + yp2::RouterFleXML rflexml(xmlconf_invalid, factory); + } + catch ( yp2::RouterFleXML::XMLError &e) { + got_xml_error = true; + } + catch ( std::runtime_error &e) { + std::cout << "std::runtime error: " << e.what() << "\n"; + BOOST_CHECK (false); + } + catch ( ... ) { + ; + } + BOOST_CHECK(got_xml_error); +} + +BOOST_AUTO_UNIT_TEST( test_router_flexml_3 ) +{ + try + { + std::string xmlconf = "\n" + "\n" + " \n" + " \n" + " \n" + " 210\n" + " \n" + " \n" + " mylog.log\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n"; + + yp2::FactoryStatic factory; + yp2::RouterFleXML rflexml(xmlconf, factory); + } + catch ( std::runtime_error &e) { + std::cout << "std::runtime error: " << e.what() << "\n"; + BOOST_CHECK (false); } catch ( ... ) { BOOST_CHECK (false); } } + /* * Local variables: * c-basic-offset: 4