1 /* $Id: test_filter_backend_test.cpp,v 1.1 2005-10-25 21:32:28 adam Exp $
2 Copyright (c) 2005, Index Data.
11 #include "test_util.hpp"
12 #include "filter_backend_test.hpp"
13 #include "filter_log.hpp"
16 #include "session.hpp"
17 #include "package.hpp"
20 #include <yaz/pquery.h>
21 #include <yaz/otherinfo.h>
23 #define BOOST_AUTO_TEST_MAIN
24 #include <boost/test/auto_unit_test.hpp>
25 using namespace boost::unit_test;
27 BOOST_AUTO_TEST_CASE( test_filter_backend_test_1 )
31 yp2::filter::Backend_test btest;
38 BOOST_AUTO_TEST_CASE( test_filter_backend_test_2 )
42 yp2::RouterChain router;
44 yp2::filter::Backend_test btest;
49 ODR odr = odr_createmem(ODR_ENCODE);
50 Z_APDU *apdu = zget_APDU(odr, Z_APDU_initRequest);
54 pack.request() = apdu;
58 pack.router(router).move();
60 // Inspect that we got Z39.50 init Response OK.
61 yazpp_1::GDU *gdu = &pack.response();
63 BOOST_CHECK(!pack.session().is_closed());
65 Z_GDU *z_gdu = gdu->get();
68 BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950);
69 BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_initResponse);
77 BOOST_AUTO_TEST_CASE( test_filter_backend_test_3 )
81 yp2::RouterChain router;
83 yp2::filter::Backend_test btest;
88 // send search request as first request.. That should fail with
89 // a close from the backend
90 ODR odr = odr_createmem(ODR_ENCODE);
91 Z_APDU *apdu = zget_APDU(odr, Z_APDU_searchRequest);
93 yp2::util::pqf(odr, apdu, "computer");
95 apdu->u.searchRequest->num_databaseNames = 1;
96 apdu->u.searchRequest->databaseNames = (char**)
97 odr_malloc(odr, sizeof(char *));
98 apdu->u.searchRequest->databaseNames[0] = odr_strdup(odr, "Default");
102 pack.request() = apdu;
106 pack.router(router).move();
108 // Inspect that we got Z39.50 close
109 yazpp_1::GDU *gdu = &pack.response();
111 BOOST_CHECK(pack.session().is_closed());
113 Z_GDU *z_gdu = gdu->get();
116 BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950);
117 BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_close);
125 BOOST_AUTO_TEST_CASE( test_filter_backend_test_4 )
129 yp2::RouterChain router;
131 yp2::filter::Backend_test btest;
136 // send present request as first request.. That should fail with
137 // a close from the backend
138 ODR odr = odr_createmem(ODR_ENCODE);
139 Z_APDU *apdu = zget_APDU(odr, Z_APDU_presentRequest);
143 pack.request() = apdu;
147 pack.router(router).move();
149 // Inspect that we got Z39.50 close
150 yazpp_1::GDU *gdu = &pack.response();
152 BOOST_CHECK(pack.session().is_closed());
154 Z_GDU *z_gdu = gdu->get();
157 BOOST_CHECK_EQUAL(z_gdu->which, Z_GDU_Z3950);
158 BOOST_CHECK_EQUAL(z_gdu->u.z3950->which, Z_APDU_close);
170 * indent-tabs-mode: nil
171 * c-file-style: "stroustrup"
173 * vim: shiftwidth=4 tabstop=8 expandtab