X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_solr.c;h=6ea884cebf3d01a5b5f6737a675443cafae52b21;hp=6b156a288a17c68ac6f867f9b369dc9d72f2b4f4;hb=13ac77e545b5d7e8b5ecb053d0aaa321ce12e487;hpb=0c46d2e66bdeea1600e700124a81a5d0a65d349e diff --git a/test/test_solr.c b/test/test_solr.c index 6b156a2..6ea884c 100644 --- a/test/test_solr.c +++ b/test/test_solr.c @@ -8,6 +8,7 @@ #include #include +#include #if YAZ_HAVE_XML2 #include #endif @@ -65,9 +66,10 @@ void tst_encoding(void) Z_SRW_PDU *sr = yaz_srw_get_pdu(odr, Z_SRW_searchRetrieve_request, "1.2"); + sr->u.request->query = "title:solr"; YAZ_CHECK(compare_solr_req( odr, sr, 0, - "GET Default/select? HTTP/1.1\r\n" + "GET Default/select?q=title%3Asolr HTTP/1.1\r\n" "User-Agent: YAZ/" YAZ_VERSION "\r\n" "Host: localhost\r\n" "Content-Type: text/xml\r\n\r\n")); @@ -76,9 +78,10 @@ void tst_encoding(void) { Z_SRW_PDU *sr = yaz_srw_get_pdu(odr, Z_SRW_searchRetrieve_request, "1.2"); + sr->u.request->query = "title:solr"; YAZ_CHECK(compare_solr_req( odr, sr, "utf-8", - "GET Default/select? HTTP/1.1\r\n" + "GET Default/select?q=title%3Asolr HTTP/1.1\r\n" "User-Agent: YAZ/" YAZ_VERSION "\r\n" "Host: localhost\r\n" "Content-Type: text/xml; charset=utf-8\r\n\r\n")); @@ -88,8 +91,7 @@ void tst_encoding(void) Z_SRW_PDU *sr = yaz_srw_get_pdu(odr, Z_SRW_searchRetrieve_request, "1.2"); - sr->u.request->query_type = Z_SRW_query_type_cql; - sr->u.request->query.cql = "title:solr"; + sr->u.request->query = "title:solr"; sr->u.request->startRecord = odr_intdup(odr, 3); sr->u.request->maximumRecords = odr_intdup(odr, 10); @@ -106,8 +108,7 @@ void tst_encoding(void) Z_SRW_PDU *sr = yaz_srw_get_pdu(odr, Z_SRW_searchRetrieve_request, "1.2"); - sr->u.request->query_type = Z_SRW_query_type_cql; - sr->u.request->query.cql = "title:solr"; + sr->u.request->query = "title:solr"; sr->u.request->startRecord = odr_intdup(odr, 3); sr->u.request->maximumRecords = odr_intdup(odr, 10); sr->u.request->facetList = yaz_pqf_parse_facet_list( @@ -329,6 +330,42 @@ void tst_decoding(void) odr_destroy(odr); #endif } + +void tst_yaz_700(void) +{ + ODR odr = odr_createmem(ODR_ENCODE); + int r; + const char *url = + "http://localhost:9036/XXX/cproxydebug-7/node102/p/105/c=content_connector" + "a=usr/pw#&? r=cfusr/cfpw p=1.2.3.4:80/www.indexdata.com/staff/"; + int use_full_host = 0; + Z_GDU *gdu_req = z_get_HTTP_Request_uri(odr, url, 0, use_full_host); + Z_HTTP_Request *hreq = gdu_req->u.HTTP_Request; + hreq->method = "GET"; + + hreq->content_buf = odr_strdup(odr, ""); + hreq->content_len = 0; + + r = z_GDU(odr, &gdu_req, 0, 0); + YAZ_CHECK(r); + if (r) + { + int len; + char *buf = odr_getbuf(odr, &len, 0); + ODR decode = odr_createmem(ODR_DECODE); + YAZ_CHECK(buf); + if (buf) + { + odr_setbuf(decode, buf, len, 0); + r = z_GDU(decode, &gdu_req, 0, 0); + YAZ_CHECK(r); + } + odr_destroy(decode); + } + odr_destroy(odr); +} + + int main(int argc, char **argv) { YAZ_CHECK_INIT(argc, argv); @@ -337,6 +374,7 @@ int main(int argc, char **argv) #endif tst_encoding(); tst_decoding(); + tst_yaz_700(); YAZ_CHECK_TERM; }