added tests for correct removal of idzbra internal metadate under indexing and retrieval
authorMarc Cromme <marc@indexdata.dk>
Fri, 7 Jul 2006 06:30:48 +0000 (06:30 +0000)
committerMarc Cromme <marc@indexdata.dk>
Fri, 7 Jul 2006 06:30:48 +0000 (06:30 +0000)
test/filters/grs.xml.idzebra.c [new file with mode: 0644]
test/filters/record-idzebra.xml [new file with mode: 0644]

diff --git a/test/filters/grs.xml.idzebra.c b/test/filters/grs.xml.idzebra.c
new file mode 100644 (file)
index 0000000..567508c
--- /dev/null
@@ -0,0 +1,68 @@
+/* $Id: grs.xml.idzebra.c,v 1.1 2006-07-07 06:30:48 marc Exp $
+   Copyright (C) 1995-2005
+   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 Zebra; see the file LICENSE.zebra.  If not, write to the
+Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
+*/
+
+#include <yaz/test.h>
+#include "../api/testlib.h"
+
+void tst(int argc, char **argv)
+{
+    ZebraService zs = tl_start_up(0, argc, argv);
+    ZebraHandle  zh = zebra_open(zs, 0);
+    char path[256];
+
+    tl_check_filter(zs, "grs.xml");
+
+    YAZ_CHECK(zebra_select_database(zh, "Default") == ZEBRA_OK);
+
+    zebra_set_resource(zh, "recordType", "grs.xml");
+
+    zebra_init(zh);
+
+    YAZ_CHECK(zebra_begin_trans(zh, 1) == ZEBRA_OK);
+    sprintf(path, "%.200s/record-idzebra.xml", tl_get_srcdir());
+    zebra_repository_update(zh, path);
+    YAZ_CHECK(zebra_end_trans(zh) == ZEBRA_OK);
+    zebra_commit(zh);
+
+    YAZ_CHECK(tl_query(zh, "@attr 1=/ text", 1));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/ notexistent", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/ 1198", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/ 18", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/elem/idzebra/size 1198", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/elem/idzebra/localnumber 18", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/elem/idzebra/filename biblio", 0));
+    YAZ_CHECK(tl_query(zh, "@attr 1=/elem/idzebra/filename data", 0));
+
+    YAZ_CHECK(tl_close_down(zh, zs));
+}
+
+TL_MAIN
+
+/*
+ * Local variables: 
+ * mode: c
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/test/filters/record-idzebra.xml b/test/filters/record-idzebra.xml
new file mode 100644 (file)
index 0000000..1263dd1
--- /dev/null
@@ -0,0 +1,10 @@
+<elem>
+  <text>
+    some text $ text here.
+  </text>
+  <idzebra xmlns="http://www.indexdata.dk/zebra/">
+    <size>1198</size>
+    <localnumber>18</localnumber>
+    <filename>data/biblio/2/d/8/biblio-108.tkl</filename>
+  </idzebra>
+</elem>