-/* $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.9 2005-12-02 12:21:07 adam Exp $
Copyright (c) 2005, Index Data.
%LICENSE%
#include <iostream>
#include <stdexcept>
+#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"
using namespace boost::unit_test;
-BOOST_AUTO_TEST_CASE( test_filter_virt_db_1 )
+BOOST_AUTO_UNIT_TEST( test_filter_virt_db_1 )
{
try
{
}
}
-BOOST_AUTO_TEST_CASE( test_filter_virt_db_2 )
+BOOST_AUTO_UNIT_TEST( test_filter_virt_db_2 )
{
try
{
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();
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);
return;
pack.request() = apdu;
- odr_destroy(odr);
// Put it in router
pack.router(router).move();
}
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**)
pack.request() = apdu;
- odr_destroy(odr);
-
Z_GDU *gdu_test = pack.request().get();
BOOST_CHECK(gdu_test);
{
// 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);
pack.request() = apdu;
- odr_destroy(odr);
-
Z_GDU *gdu_test = pack.request().get();
BOOST_CHECK(gdu_test);
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
{
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);
+ router.append(vdb);
vdb.add_map_db2vhost("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;