From 3498aefc23092a4649ce37d5c204f8aacfd2b826 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 23 Oct 2006 09:31:48 +0000 Subject: [PATCH] Added a check to verify that private OIDs works --- test/api/Makefile.am | 8 ++++-- test/api/t10.abs | 13 +++++++++ test/api/t10.att | 7 +++++ test/api/t10.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/api/zebra10.cfg | 9 ++++++ 5 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 test/api/t10.abs create mode 100644 test/api/t10.att create mode 100644 test/api/t10.c create mode 100644 test/api/zebra10.cfg diff --git a/test/api/Makefile.am b/test/api/Makefile.am index c71c5b4..c641b5f 100644 --- a/test/api/Makefile.am +++ b/test/api/Makefile.am @@ -1,14 +1,15 @@ -# $Id: Makefile.am,v 1.38 2006-10-23 09:01:42 adam Exp $ +# $Id: Makefile.am,v 1.39 2006-10-23 09:31:48 adam Exp $ noinst_PROGRAMS = testclient testclient_SOURCES = testclient.c -simpletests = t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t11 t12 t13 t14 t15 +simpletests = t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 safaritests = safari1 check_PROGRAMS = $(simpletests) $(safaritests) TESTS = $(check_PROGRAMS) -EXTRA_DIST=zebra.cfg zebra6.cfg zebra8.cfg zebra15.cfg safari.cfg +EXTRA_DIST=zebra.cfg zebra6.cfg zebra8.cfg zebra10.cfg zebra15.cfg safari.cfg \ + t10.att t10.abs noinst_LIBRARIES = libtestlib.a @@ -24,6 +25,7 @@ t6_SOURCES = t6.c t7_SOURCES = t7.c t8_SOURCES = t8.c t9_SOURCES = t9.c rankingrecords.h +t10_SOURCES = t10.c t11_SOURCES = t11.c t12_SOURCES = t12.c t13_SOURCES = t13.c diff --git a/test/api/t10.abs b/test/api/t10.abs new file mode 100644 index 0000000..125bebd --- /dev/null +++ b/test/api/t10.abs @@ -0,0 +1,13 @@ +# This is the abstract syntax (and most of the top-level profile info) +# for GILS version 2. +# +# $Id: t10.abs,v 1.1 2006-10-23 09:31:48 adam Exp $ + +name t10 +attset t10.att + +esetname F @ + +systag sysno none + +elm title title title:w,extra_title:w diff --git a/test/api/t10.att b/test/api/t10.att new file mode 100644 index 0000000..3e1bbfe --- /dev/null +++ b/test/api/t10.att @@ -0,0 +1,7 @@ +# $Id: t10.att,v 1.1 2006-10-23 09:31:48 adam Exp $ +# Bib-1 Attribute Set +name t10 +reference 1.2.840.10003.3.1000.1000.1 + +att 7 title +att 8 extra_title diff --git a/test/api/t10.c b/test/api/t10.c new file mode 100644 index 0000000..5fc0663 --- /dev/null +++ b/test/api/t10.c @@ -0,0 +1,75 @@ +/* $Id: t10.c,v 1.13 2006-10-23 09:31:48 adam Exp $ + Copyright (C) 1995-2006 + Index Data ApS + +This file is part of the Zebra server. + +Zebra 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. + +Zebra 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 + +*/ + +/* Creates a few result sets */ + +#include "testlib.h" + +const char *myrec[] ={ + "\n" + " My title\n" + "\n", + 0}; + +static void tst(int argc, char **argv) +{ + ZebraService zs = tl_start_up("zebra10.cfg", argc, argv); + ZebraHandle zh = zebra_open(zs, 0); + + YAZ_CHECK(tl_init_data(zh, myrec)); + + zebra_commit(zh); + + // string attributes in search + YAZ_CHECK(tl_query(zh, "@attr 1=title my", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=title my", 1)); + YAZ_CHECK(tl_query(zh, "@attr 1=title titlex", 0)); + YAZ_CHECK(tl_query(zh, "@attr 1=extra_title my", 1)); + + // numeric attributes with Bib-1 should produce an error + YAZ_CHECK(tl_query_x(zh, + "@attr 1=4 my", 0, 121)); + YAZ_CHECK(tl_query_x(zh, + "@attr 1=7 my", 0, 121)); + // private OID with incorrect use attribute + YAZ_CHECK(tl_query_x(zh, + "@attr 1.2.840.10003.3.1000.1000.1 1=4 my", 0, 114)); + // private OID with OK use attribute + YAZ_CHECK(tl_query(zh, + "@attr 1.2.840.10003.3.1000.1000.1 1=7 my", 1)); + + YAZ_CHECK(tl_query(zh, + "@attr 1.2.840.10003.3.1000.1000.1 1=8 my", 1)); + + YAZ_CHECK(tl_close_down(zh, zs)); +} + +TL_MAIN + +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ + diff --git a/test/api/zebra10.cfg b/test/api/zebra10.cfg new file mode 100644 index 0000000..7f43df0 --- /dev/null +++ b/test/api/zebra10.cfg @@ -0,0 +1,9 @@ +# $Id: zebra10.cfg,v 1.1 2006-10-23 09:31:48 adam Exp $ +profilepath: ${srcdir:-.}:${srcdir:-.}/../../tab + +attset: t10.att + +recordType: grs.sgml + + + -- 1.7.10.4