X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftest_filter_z3950_client.cpp;h=4f001adc69a5e86fe1edb992da2f9ea4ccf2d985;hb=55fdfbb42225f71fb791bb8f9ec033ca0fddbe44;hp=d8a691d7604a254348b5d554ea3fd3d42eda3f49;hpb=ced440c14eaf1e9408f994ef1e7be2deb8a7db0b;p=metaproxy-moved-to-github.git diff --git a/src/test_filter_z3950_client.cpp b/src/test_filter_z3950_client.cpp index d8a691d..4f001ad 100644 --- a/src/test_filter_z3950_client.cpp +++ b/src/test_filter_z3950_client.cpp @@ -1,34 +1,47 @@ -/* $Id: test_filter_z3950_client.cpp,v 1.1 2005-10-16 16:05:44 adam Exp $ - Copyright (c) 2005, Index Data. +/* This file is part of Metaproxy. + Copyright (C) 2005-2013 Index Data -%LICENSE% - */ +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 "filter_z3950_client.hpp" +#include -#include "router.hpp" -#include "session.hpp" -#include "package.hpp" +#include +#include #define BOOST_AUTO_TEST_MAIN +#define BOOST_TEST_DYN_LINK #include #include #include -using namespace boost::unit_test; +#include +using namespace boost::unit_test; +namespace mp = metaproxy_1; BOOST_AUTO_TEST_CASE( test_filter_z3950_client_1 ) { - try + try { - { - yp2::filter::Z3950Client zc; - } + mp::filter::Z3950Client zc; // can we construct OK? } catch ( ... ) { BOOST_CHECK (false); @@ -37,41 +50,38 @@ BOOST_AUTO_TEST_CASE( test_filter_z3950_client_1 ) BOOST_AUTO_TEST_CASE( test_filter_z3950_client_2 ) { - try + try { - { - yp2::RouterChain router; + mp::RouterChain router; - yp2::filter::Z3950Client zc; + mp::filter::Z3950Client zc; - router.rule(zc); + router.append(zc); - // Create package with Z39.50 init request in it - yp2::Package pack; + // Create package with Z39.50 init request in it + mp::Package pack; - ODR odr = odr_createmem(ODR_ENCODE); - Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); + mp::odr odr; + Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); - BOOST_CHECK(apdu); + BOOST_CHECK(apdu); - pack.request() = apdu; - odr_destroy(odr); + pack.request() = apdu; - // Put it in router - pack.router(router).move(); + // Put it in router + pack.router(router).move(); - // Inspect that we got Z39.50 init Response - a Z39.50 session - // specify a virtual host - yazpp_1::GDU *gdu = &pack.response(); + // Inspect that we got Z39.50 init Response - a Z39.50 session MUST + // specify a virtual host + yazpp_1::GDU *gdu = &pack.response(); - BOOST_CHECK(pack.session().is_closed()); + BOOST_CHECK(pack.session().is_closed()); - Z_GDU *z_gdu = gdu->get(); - BOOST_CHECK(z_gdu); - if (z_gdu) { - BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950); - BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_initResponse); - } + Z_GDU *z_gdu = gdu->get(); + BOOST_CHECK(z_gdu); + if (z_gdu) { + BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950); + BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_initResponse); } } catch ( ... ) { @@ -81,41 +91,38 @@ BOOST_AUTO_TEST_CASE( test_filter_z3950_client_2 ) BOOST_AUTO_TEST_CASE( test_filter_z3950_client_3 ) { - try + try { - { - yp2::RouterChain router; + mp::RouterChain router; - yp2::filter::Z3950Client zc; + mp::filter::Z3950Client zc; - router.rule(zc); + router.append(zc); - // Create package with Z39.50 present request in it - yp2::Package pack; + // Create package with Z39.50 present request in it + mp::Package pack; - ODR odr = odr_createmem(ODR_ENCODE); - Z_APDU *apdu = zget_APDU(odr, Z_APDU_presentRequest); + mp::odr odr; + Z_APDU *apdu = zget_APDU(odr, Z_APDU_presentRequest); - BOOST_CHECK(apdu); + BOOST_CHECK(apdu); - pack.request() = apdu; - odr_destroy(odr); + pack.request() = apdu; - // Put it in router - pack.router(router).move(); + // Put it in router + pack.router(router).move(); - // Inspect that we got Z39.50 close - a Z39.50 session must start - // with an init ! - yazpp_1::GDU *gdu = &pack.response(); + // Inspect that we got Z39.50 close - a Z39.50 session must start + // with an init ! + yazpp_1::GDU *gdu = &pack.response(); - BOOST_CHECK(pack.session().is_closed()); + BOOST_CHECK(pack.session().is_closed()); - Z_GDU *z_gdu = gdu->get(); - BOOST_CHECK(z_gdu); - if (z_gdu) { - BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950); - BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_close); - } + Z_GDU *z_gdu = gdu->get(); + BOOST_CHECK(z_gdu); + if (z_gdu) { + BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950); + BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_close); } } catch ( ... ) { @@ -125,40 +132,41 @@ BOOST_AUTO_TEST_CASE( test_filter_z3950_client_3 ) BOOST_AUTO_TEST_CASE( test_filter_z3950_client_4 ) { - try + try { - { - yp2::RouterChain router; + mp::RouterChain router; - yp2::filter::Z3950Client zc; + mp::filter::Z3950Client zc; - router.rule(zc); + router.append(zc); - // Create package with Z39.50 init request in it - yp2::Package pack; + // Create package with Z39.50 init request in it + mp::Package pack; - ODR odr = odr_createmem(ODR_ENCODE); - Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); - - const char *vhost = "localhost:9999"; - if (vhost) - yaz_oi_set_string_oidval(&apdu->u.initRequest->otherInfo, - odr, VAL_PROXY, 1, vhost); + mp::odr odr; + Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest); - BOOST_CHECK(apdu); + const char *vhost = "localhost:9999"; + if (vhost) + { + yaz_oi_set_string_oid(&apdu->u.initRequest->otherInfo, + odr, yaz_oid_userinfo_proxy, 1, vhost); + } + BOOST_CHECK(apdu); - pack.request() = apdu; - odr_destroy(odr); + pack.request() = apdu; - // Put it in router - pack.router(router).move(); + // Put it in router + pack.router(router).move(); - // Inspect that we got Z39.50 close - a Z39.50 session must start - // with an init ! + if (pack.session().is_closed()) + { + // OK, server was not up! + } + else + { + // Inspect that we got Z39.50 init response yazpp_1::GDU *gdu = &pack.response(); - - BOOST_CHECK(!pack.session().is_closed()); - Z_GDU *z_gdu = gdu->get(); BOOST_CHECK(z_gdu); if (z_gdu) { @@ -176,8 +184,9 @@ BOOST_AUTO_TEST_CASE( test_filter_z3950_client_4 ) /* * 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 */ +