X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ftest_filter_virt_db.cpp;h=f0953736c3299c4ae0570965e86fea41c40b228f;hb=743341841a21a695d08c99b27a30329119030db5;hp=68056f29b5be99389a1a068878852145f19a3e9b;hpb=a19294f809fc1e5481ad596faa5e604a6c84aa83;p=metaproxy-moved-to-github.git diff --git a/src/test_filter_virt_db.cpp b/src/test_filter_virt_db.cpp index 68056f2..f095373 100644 --- a/src/test_filter_virt_db.cpp +++ b/src/test_filter_virt_db.cpp @@ -1,4 +1,4 @@ -/* $Id: test_filter_virt_db.cpp,v 1.3 2005-10-25 16:01:36 adam Exp $ +/* $Id: test_filter_virt_db.cpp,v 1.11 2006-01-16 17:02:55 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -8,11 +8,12 @@ #include #include +#include "util.hpp" #include "filter_virt_db.hpp" #include "filter_backend_test.hpp" #include "filter_log.hpp" -#include "router.hpp" +#include "router_chain.hpp" #include "session.hpp" #include "package.hpp" @@ -25,7 +26,7 @@ using namespace boost::unit_test; -BOOST_AUTO_TEST_CASE( test_filter_virt_db_1 ) +BOOST_AUTO_UNIT_TEST( test_filter_virt_db_1 ) { try { @@ -36,7 +37,7 @@ BOOST_AUTO_TEST_CASE( test_filter_virt_db_1 ) } } -BOOST_AUTO_TEST_CASE( test_filter_virt_db_2 ) +BOOST_AUTO_UNIT_TEST( test_filter_virt_db_2 ) { try { @@ -44,20 +45,19 @@ BOOST_AUTO_TEST_CASE( test_filter_virt_db_2 ) yp2::filter::Virt_db vdb; - router.rule(vdb); + router.append(vdb); // Create package with Z39.50 init request in it // Since there is not vhost given, the virt will make its // own init response (regardless of backend) yp2::Package pack; - ODR odr = odr_createmem(ODR_ENCODE); + yp2::odr odr; Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); BOOST_CHECK(apdu); pack.request() = apdu; - odr_destroy(odr); // Put it in router pack.router(router).move(); @@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE( test_filter_virt_db_2 ) static void init(yp2::Package &pack, yp2::Router &router) { // Create package with Z39.50 init request in it - ODR odr = odr_createmem(ODR_ENCODE); + yp2::odr odr; Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); BOOST_CHECK(apdu); @@ -91,7 +91,6 @@ static void init(yp2::Package &pack, yp2::Router &router) return; pack.request() = apdu; - odr_destroy(odr); // Put it in router pack.router(router).move(); @@ -110,27 +109,17 @@ static void init(yp2::Package &pack, yp2::Router &router) } static void search(yp2::Package &pack, yp2::Router &router, - const char *pqf_query, const char *db, + const std::string &query, const char *db, const char *setname) { // Create package with Z39.50 search request in it - ODR odr = odr_createmem(ODR_ENCODE); + yp2::odr odr; Z_APDU *apdu = zget_APDU(odr, Z_APDU_searchRequest); - - YAZ_PQF_Parser pqf_parser = yaz_pqf_create(); - - Z_RPNQuery *rpn = yaz_pqf_parse(pqf_parser, odr, pqf_query); - BOOST_CHECK(rpn); - if (!rpn) - return; - Z_Query query; - query.which = Z_Query_type_1; - query.u.type_1 = rpn; - - apdu->u.searchRequest->resultSetName = odr_strdup(odr, setname); - apdu->u.searchRequest->query = &query; + yp2::util::pqf(odr, apdu, query); + + apdu->u.searchRequest->resultSetName = odr_strdup(odr, setname); apdu->u.searchRequest->num_databaseNames = 1; apdu->u.searchRequest->databaseNames = (char**) @@ -143,8 +132,6 @@ static void search(yp2::Package &pack, yp2::Router &router, pack.request() = apdu; - odr_destroy(odr); - Z_GDU *gdu_test = pack.request().get(); BOOST_CHECK(gdu_test); @@ -170,7 +157,7 @@ static void present(yp2::Package &pack, yp2::Router &router, { // Create package with Z39.50 present request in it - ODR odr = odr_createmem(ODR_ENCODE); + yp2::odr odr; Z_APDU *apdu = zget_APDU(odr, Z_APDU_presentRequest); apdu->u.presentRequest->resultSetId = odr_strdup(odr, setname); @@ -183,8 +170,6 @@ static void present(yp2::Package &pack, yp2::Router &router, pack.request() = apdu; - odr_destroy(odr); - Z_GDU *gdu_test = pack.request().get(); BOOST_CHECK(gdu_test); @@ -204,7 +189,7 @@ static void present(yp2::Package &pack, yp2::Router &router, BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_presentResponse); } -BOOST_AUTO_TEST_CASE( test_filter_virt_db_3 ) +BOOST_AUTO_UNIT_TEST( test_filter_virt_db_3 ) { try { @@ -212,18 +197,18 @@ BOOST_AUTO_TEST_CASE( test_filter_virt_db_3 ) yp2::filter::Log filter_log1("FRONT"); #if 0 - router.rule(filter_log1); + router.append(filter_log1); #endif yp2::filter::Virt_db vdb; - router.rule(vdb); - vdb.add_map_db2vhost("Default", "localhost:210"); + router.append(vdb); + vdb.add_map_db2target("Default", "localhost:210", ""); yp2::filter::Log filter_log2("BACK"); #if 0 - router.rule(filter_log2); + router.append(filter_log2); #endif yp2::filter::Backend_test btest; - router.rule(btest); + router.append(btest); yp2::Session session1; yp2::Origin origin1;