X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ftest_filter_rewrite.cpp;h=00065a4fda955c1fadad978f1a6769c183721c57;hb=b8c30d9591850c3c0c1f9f8b7e15e76ea5517375;hp=e3802a7531ca597a4054471778271654aac0d033;hpb=8949e75975de65f081f8eb9197e9f5f9ee9dd227;p=metaproxy-moved-to-github.git
diff --git a/src/test_filter_rewrite.cpp b/src/test_filter_rewrite.cpp
index e3802a7..00065a4 100644
--- a/src/test_filter_rewrite.cpp
+++ b/src/test_filter_rewrite.cpp
@@ -38,23 +38,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
using namespace boost::unit_test;
namespace mp = metaproxy_1;
-/*
- * The global testconfig is commented out, as it won't even compile
- * on old Centos5 machines
-struct TestConfig {
- TestConfig()
- {
- std::cout << "global setup\n";
- yaz_log_init_level(YLOG_ALL);
- }
- ~TestConfig()
- {
- std::cout << "global teardown\n";
- }
-};
-
-BOOST_GLOBAL_FIXTURE( TestConfig );
-*/
BOOST_AUTO_TEST_CASE( test_filter_rewrite_1 )
{
@@ -63,23 +46,47 @@ BOOST_AUTO_TEST_CASE( test_filter_rewrite_1 )
std::cout << "Running non-xml config test case" << std::endl;
mp::RouterChain router;
mp::filter::HttpRewrite fhr;
-
+
std::string xmlconf =
"\n"
"
Welcome to our website. It doesn't make it easy to get pro"
"xified"
""
" An absolute link"
- ""
" An absolute link"
- "\n"
" Welcome to our website. It doesn't make it easy to get pro"
- "xified"
- ""
- " An absolute link"
- "; rel=absolute\r\n"
"Link: ; rel=relative\r\n"
"\r\n"
- " Welcome to our website. It doesn't make it easy to get pro"
- "xified"
- ""
- " An absolute link"
- "which, Z_GDU_HTTP_Response);
- }
-
- pack.response() = gdu_res;
-
- //feed to the router
- pack.router(router).move();
-
- //analyze the response
- Z_GDU *gdu_res_rew = pack.response().get();
- BOOST_CHECK(gdu_res_rew);
- BOOST_CHECK_EQUAL(gdu_res_rew->which, Z_GDU_HTTP_Response);
-
- Z_HTTP_Response *hres = gdu_res_rew->u.HTTP_Response;
- BOOST_CHECK(hres);
- //how to compare the buffers:
-
- odr_destroy(odr2);
+ pack.response() = gdu_res;
+
+ //feed to the router
+ pack.router(router).move();
+
+ //analyze the response
+ Z_GDU *gdu_res_rew = pack.response().get();
+ BOOST_CHECK(gdu_res_rew);
+ BOOST_CHECK_EQUAL(gdu_res_rew->which, Z_GDU_HTTP_Response);
+
+ Z_HTTP_Response *hres = gdu_res_rew->u.HTTP_Response;
+ BOOST_CHECK(hres);
+
+ z_GDU(enc, &gdu_res_rew, 0, 0);
+ char *resp_result;
+ int resp_result_len;
+ resp_result = odr_getbuf(enc, &resp_result_len, 0);
+
+ int equal = ((size_t) resp_result_len == strlen(resp_expected))
+ && !memcmp(resp_result, resp_expected, resp_result_len);
+ BOOST_CHECK(equal);
+
+ if (!equal)
+ {
+ //compare buffers
+ std::cout << "Expected result:\n" << resp_expected << "\n";
+ std::cout << "Got result:\n" << "\n";
+ fflush(stdout);
+ fwrite(resp_result, 1, resp_result_len, stdout);
+ fflush(stdout);
+ std::cout << "\nGot result buf len: " << resp_result_len
+ << "\n";
+ }
+ }
}
catch (std::exception & e) {
std::cout << e.what();
@@ -345,7 +377,6 @@ BOOST_AUTO_TEST_CASE( test_filter_rewrite_2 )
BOOST_CHECK (false);
}
}
-*/
/*
* Local variables: