add simple and complex query tests
authorMiloš Mulač <mulac@civ.zcu.cz>
Wed, 1 Feb 2006 13:28:44 +0000 (13:28 +0000)
committerMiloš Mulač <mulac@civ.zcu.cz>
Wed, 1 Feb 2006 13:28:44 +0000 (13:28 +0000)
org.glite.jp.index/Makefile
org.glite.jp.index/examples/jpis-test.c
org.glite.jp.index/test/complex_query.in [new file with mode: 0644]
org.glite.jp.index/test/complex_query.out [new file with mode: 0644]
org.glite.jp.index/test/dump1.sql [new file with mode: 0644]
org.glite.jp.index/test/run-test.sh
org.glite.jp.index/test/simple_query.in [new file with mode: 0644]
org.glite.jp.index/test/simple_query.out [new file with mode: 0644]

index fefc79b..b6ce23d 100644 (file)
@@ -22,7 +22,7 @@ CC=gcc
 -include Makefile.inc
 
 
-VPATH=${top_srcdir}/src:${top_srcdir}/examples:${top_srcdir}/test:${top_srcdir}/project:${jpproject}:${stagedir}/interface
+VPATH=${top_srcdir}/src:${top_srcdir}/examples:${top_srcdir}/tests:${top_srcdir}/test:${top_srcdir}/project:${jpproject}:${stagedir}/interface
 
 GLOBUS_LIBS:=-L${globus_prefix}/lib \
        -lglobus_common_${nothrflavour} \
@@ -48,6 +48,8 @@ INSTALL:=libtool --mode=install install
 
 daemon:=glite-jp-indexd
 examples:=glite-jpis-test glite-jpis-client
+test:=run-test.sh
+test_files:=dump1.sql simple_query.in simple_query.out complex_query.in complex_query.out 
 is_prefix:=jpis_
 is_client_prefix:=jpis_client_
 ps_prefix:=jpps_
@@ -75,7 +77,7 @@ TRIOLIB:=-lglite_jp_trio
 
 default all: compile
 
-compile: ${daemon} ${examples}
+compile: ${daemon} ${examples} copy_tests
 
 ${daemon}: ${OBJS}
        ${LINK} -o $@ -export-dynamic ${OBJS} ${BONESLIB} ${TRIOLIB} ${COMMONLIB} ${GSOAPLIB} ${GLOBUS_LIBS} ${SRVCOMMONLIB}
@@ -89,6 +91,9 @@ jpis-db-internal: ${EXA_DB_OBJS}
 glite-jpis-client: ${EXA_CLIENT_OBJS}
        ${LINK} -o $@ $+ ${GSOAPLIB}
 
+copy_tests: ${test} ${test_files}
+       for i in $?; do cp ${top_srcdir}/test/$$i  ${top_srcdir}/build; done
+
 JobProvenanceIS.xh: JobProvenanceIS.wsdl JobProvenanceTypes.wsdl typemap.dat
        cp  ${stagedir}/interface/JobProvenanceTypes.wsdl .
        ${gsoap_bin_prefix}/wsdl2h -t ${top_srcdir}/src/typemap.dat -c -o $@ $<
@@ -134,7 +139,7 @@ check:
 doc:
 
 stage: compile
-       $(MAKE) install PREFIX=${stagedir}
+       ${MAKE} PREFIX=${stagedir} DOSTAGE=yes install
 
 dist: distsrc distbin
 
@@ -154,9 +159,12 @@ install:
        -mkdir -p ${PREFIX}/share/doc/${package}-${version} ${PREFIX}/examples
        -mkdir -p ${PREFIX}/interface
        ${INSTALL} -m 755 ${daemon} ${PREFIX}/bin
-       ${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-jp-indexd
        ${INSTALL} -m 755 ${examples} ${PREFIX}/examples
+       ${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-jp-indexd
+       ${INSTALL} -m 755 ${top_srcdir}/config/glite-jp-index-dbsetup.sql ${PREFIX}/etc
        ${INSTALL} -m 644 ${top_srcdir}/doc/README ${PREFIX}/share/doc/${package}-${version}
+       ${INSTALL} -m 755 ${test} ${PREFIX}/examples
+       ${INSTALL} -m 644 ${test_files} ${PREFIX}/examples
        ${INSTALL} -m 644 ${top_srcdir}/interface/JobProvenanceISClientQuery.xsd ${PREFIX}/interface
 
 clean:
index b15b8ad..b0a2783 100644 (file)
@@ -30,7 +30,6 @@ static int check_fault(struct soap *soap,int err);
 int main(int argc,char *argv[])
 {
        char *default_server = NULL;
-//     char    *default_server = "http://localhost:8902";
        char server[512];
        struct soap     *soap = soap_new();
 
@@ -79,10 +78,6 @@ int main(int argc,char *argv[])
                memset(&in, 0, sizeof(in));
                memset(&out, 0, sizeof(out));
 
-               //XXX : need to register feed with feedid in.feedId in DB
-               //      this one work only because such feed in conf.c (umbar)
-
-               //in.feedId = soap_strdup(soap, str2md5("http://localhost:8901"));
                in.feedId = soap_strdup(soap, "12345");
                in.feedDone = false_;
                in.__sizejobAttributes = 2;
@@ -92,7 +87,6 @@ int main(int argc,char *argv[])
                        rec = soap_malloc(soap,  sizeof(*rec));
                        memset(rec, 0, sizeof(*rec));
                        rec->jobid = soap_strdup(soap, "https://localhost:7846/pokus1");
-                       rec->jobid = soap_strdup(soap, "https://localhost:7846/pokus");
                        {
                                gss_cred_id_t           cred = GSS_C_NO_CREDENTIAL;
                                edg_wll_GssStatus       gss_code;
diff --git a/org.glite.jp.index/test/complex_query.in b/org.glite.jp.index/test/complex_query.in
new file mode 100644 (file)
index 0000000..ecbc3a3
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<queryJobs xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jptype="http://glite.org/wsdl/types/jp" xmlns:jpsrv="http://glite.org/wsdl/services/jp" xmlns:jpelem="http://glite.org/wsdl/elements/jp" xsi:type="indexQuery">
+
+       <conditions>
+               <attr>http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus</attr>
+               <record>
+                       <op>EQUAL</op>
+                       <value>
+                               <string>Done</string>
+                       </value>
+               </record>
+               <record>
+                       <op>EQUAL</op>
+                       <value>
+                               <string>Ready</string>
+                       </value>
+               </record>
+       </conditions>
+
+       <conditions>
+               <attr>http://egee.cesnet.cz/en/Schema/LB/Attributes:user</attr>
+               <record>
+                       <op>UNEQUAL</op>
+                       <value>
+                               <string>God</string>
+                       </value>
+               </record>
+       </conditions>
+
+       <attributes>http://egee.cesnet.cz/en/Schema/JP/System:owner</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/JP/System:jobId</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/LB/Attributes:user</attributes>
+
+</queryJobs>
+
diff --git a/org.glite.jp.index/test/complex_query.out b/org.glite.jp.index/test/complex_query.out
new file mode 100644 (file)
index 0000000..124ca68
--- /dev/null
@@ -0,0 +1,34 @@
+query: using JPIS http://localhost:10000
+
+Conditions:
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+               == Done
+               == Ready
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+               <> God
+Attributes:
+       http://egee.cesnet.cz/en/Schema/JP/System:owner
+       http://egee.cesnet.cz/en/Schema/JP/System:jobId
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+
+OK
+Result 2 jobs:
+       jobid = https://localhost:7846/pokus1, owner = (null)
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+                       value = Done
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+                       value = CertSubj
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970
+       jobid = https://localhost:7846/pokus2, owner = (null)
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+                       value = Ready
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+                       value = CertSubj
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970
diff --git a/org.glite.jp.index/test/dump1.sql b/org.glite.jp.index/test/dump1.sql
new file mode 100644 (file)
index 0000000..c0a5708
--- /dev/null
@@ -0,0 +1,593 @@
+-- MySQL dump 10.8
+--
+-- Host: localhost    Database: jpis1test
+-- ------------------------------------------------------
+-- Server version      4.1.7-max-log
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE="NO_AUTO_VALUE_ON_ZERO" */;
+
+--
+-- Current Database: `jpis1test`
+--
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `jpis1test`;
+
+USE `jpis1test`;
+
+--
+-- Table structure for table `acls`
+--
+
+DROP TABLE IF EXISTS `acls`;
+CREATE TABLE `acls` (
+  `aclid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` mediumblob NOT NULL,
+  `refcnt` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`aclid`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `acls`
+--
+
+
+/*!40000 ALTER TABLE `acls` DISABLE KEYS */;
+LOCK TABLES `acls` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `acls` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_1005bc536e987ca1e027a5b8f84c9a67`
+--
+
+DROP TABLE IF EXISTS `attr_1005bc536e987ca1e027a5b8f84c9a67`;
+CREATE TABLE `attr_1005bc536e987ca1e027a5b8f84c9a67` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_1005bc536e987ca1e027a5b8f84c9a67`
+--
+
+
+/*!40000 ALTER TABLE `attr_1005bc536e987ca1e027a5b8f84c9a67` DISABLE KEYS */;
+LOCK TABLES `attr_1005bc536e987ca1e027a5b8f84c9a67` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_1005bc536e987ca1e027a5b8f84c9a67` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_12aaad5454b6e3e44cb4f4a432336af4`
+--
+
+DROP TABLE IF EXISTS `attr_12aaad5454b6e3e44cb4f4a432336af4`;
+CREATE TABLE `attr_12aaad5454b6e3e44cb4f4a432336af4` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_12aaad5454b6e3e44cb4f4a432336af4`
+--
+
+
+/*!40000 ALTER TABLE `attr_12aaad5454b6e3e44cb4f4a432336af4` DISABLE KEYS */;
+LOCK TABLES `attr_12aaad5454b6e3e44cb4f4a432336af4` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_12aaad5454b6e3e44cb4f4a432336af4` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_29d3ef83b39b8cf690e8113df316835a`
+--
+
+DROP TABLE IF EXISTS `attr_29d3ef83b39b8cf690e8113df316835a`;
+CREATE TABLE `attr_29d3ef83b39b8cf690e8113df316835a` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_29d3ef83b39b8cf690e8113df316835a`
+--
+
+
+/*!40000 ALTER TABLE `attr_29d3ef83b39b8cf690e8113df316835a` DISABLE KEYS */;
+LOCK TABLES `attr_29d3ef83b39b8cf690e8113df316835a` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_29d3ef83b39b8cf690e8113df316835a` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_5023d8d4cc249460dd947a878153027f`
+--
+
+DROP TABLE IF EXISTS `attr_5023d8d4cc249460dd947a878153027f`;
+CREATE TABLE `attr_5023d8d4cc249460dd947a878153027f` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_5023d8d4cc249460dd947a878153027f`
+--
+
+
+/*!40000 ALTER TABLE `attr_5023d8d4cc249460dd947a878153027f` DISABLE KEYS */;
+LOCK TABLES `attr_5023d8d4cc249460dd947a878153027f` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_5023d8d4cc249460dd947a878153027f` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_52942b8c70bab8491ab5d3b9713d79f5`
+--
+
+DROP TABLE IF EXISTS `attr_52942b8c70bab8491ab5d3b9713d79f5`;
+CREATE TABLE `attr_52942b8c70bab8491ab5d3b9713d79f5` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_52942b8c70bab8491ab5d3b9713d79f5`
+--
+
+
+/*!40000 ALTER TABLE `attr_52942b8c70bab8491ab5d3b9713d79f5` DISABLE KEYS */;
+LOCK TABLES `attr_52942b8c70bab8491ab5d3b9713d79f5` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_52942b8c70bab8491ab5d3b9713d79f5` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_6bc44144bf813a2ad7d67cb2adbdaf42`
+--
+
+DROP TABLE IF EXISTS `attr_6bc44144bf813a2ad7d67cb2adbdaf42`;
+CREATE TABLE `attr_6bc44144bf813a2ad7d67cb2adbdaf42` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_6bc44144bf813a2ad7d67cb2adbdaf42`
+--
+
+
+/*!40000 ALTER TABLE `attr_6bc44144bf813a2ad7d67cb2adbdaf42` DISABLE KEYS */;
+LOCK TABLES `attr_6bc44144bf813a2ad7d67cb2adbdaf42` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_6bc44144bf813a2ad7d67cb2adbdaf42` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_760a84e0ff89fa3f4e96ec82adfd92f1`
+--
+
+DROP TABLE IF EXISTS `attr_760a84e0ff89fa3f4e96ec82adfd92f1`;
+CREATE TABLE `attr_760a84e0ff89fa3f4e96ec82adfd92f1` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_760a84e0ff89fa3f4e96ec82adfd92f1`
+--
+
+
+/*!40000 ALTER TABLE `attr_760a84e0ff89fa3f4e96ec82adfd92f1` DISABLE KEYS */;
+LOCK TABLES `attr_760a84e0ff89fa3f4e96ec82adfd92f1` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_760a84e0ff89fa3f4e96ec82adfd92f1` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_7c3be9defcbcf9f0e7890600d9c204ac`
+--
+
+DROP TABLE IF EXISTS `attr_7c3be9defcbcf9f0e7890600d9c204ac`;
+CREATE TABLE `attr_7c3be9defcbcf9f0e7890600d9c204ac` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_7c3be9defcbcf9f0e7890600d9c204ac`
+--
+
+
+/*!40000 ALTER TABLE `attr_7c3be9defcbcf9f0e7890600d9c204ac` DISABLE KEYS */;
+LOCK TABLES `attr_7c3be9defcbcf9f0e7890600d9c204ac` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_7c3be9defcbcf9f0e7890600d9c204ac` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_862e3dd7c5da90c9a659a32a41f63af8`
+--
+
+DROP TABLE IF EXISTS `attr_862e3dd7c5da90c9a659a32a41f63af8`;
+CREATE TABLE `attr_862e3dd7c5da90c9a659a32a41f63af8` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_862e3dd7c5da90c9a659a32a41f63af8`
+--
+
+
+/*!40000 ALTER TABLE `attr_862e3dd7c5da90c9a659a32a41f63af8` DISABLE KEYS */;
+LOCK TABLES `attr_862e3dd7c5da90c9a659a32a41f63af8` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_862e3dd7c5da90c9a659a32a41f63af8` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_982d06bdc65d3a4240b36a060a09886e`
+--
+
+DROP TABLE IF EXISTS `attr_982d06bdc65d3a4240b36a060a09886e`;
+CREATE TABLE `attr_982d06bdc65d3a4240b36a060a09886e` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_982d06bdc65d3a4240b36a060a09886e`
+--
+
+
+/*!40000 ALTER TABLE `attr_982d06bdc65d3a4240b36a060a09886e` DISABLE KEYS */;
+LOCK TABLES `attr_982d06bdc65d3a4240b36a060a09886e` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_982d06bdc65d3a4240b36a060a09886e` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_9892f81a8175c09bd00afcb152f510ad`
+--
+
+DROP TABLE IF EXISTS `attr_9892f81a8175c09bd00afcb152f510ad`;
+CREATE TABLE `attr_9892f81a8175c09bd00afcb152f510ad` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_9892f81a8175c09bd00afcb152f510ad`
+--
+
+
+/*!40000 ALTER TABLE `attr_9892f81a8175c09bd00afcb152f510ad` DISABLE KEYS */;
+LOCK TABLES `attr_9892f81a8175c09bd00afcb152f510ad` WRITE;
+INSERT INTO `attr_9892f81a8175c09bd00afcb152f510ad` VALUES ('593e62a063231f8c623b74406b3e12b0','S:CertSubj','S:CertSubj',1),('9276789a0093ad44457655ef03ade36a','S:CertSubj','S:CertSubj',2);
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_9892f81a8175c09bd00afcb152f510ad` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_9a812abe1262a90858b7be792f198596`
+--
+
+DROP TABLE IF EXISTS `attr_9a812abe1262a90858b7be792f198596`;
+CREATE TABLE `attr_9a812abe1262a90858b7be792f198596` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_9a812abe1262a90858b7be792f198596`
+--
+
+
+/*!40000 ALTER TABLE `attr_9a812abe1262a90858b7be792f198596` DISABLE KEYS */;
+LOCK TABLES `attr_9a812abe1262a90858b7be792f198596` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_9a812abe1262a90858b7be792f198596` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_a1e9e0a1b7943cc041fefb5da65868f9`
+--
+
+DROP TABLE IF EXISTS `attr_a1e9e0a1b7943cc041fefb5da65868f9`;
+CREATE TABLE `attr_a1e9e0a1b7943cc041fefb5da65868f9` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_a1e9e0a1b7943cc041fefb5da65868f9`
+--
+
+
+/*!40000 ALTER TABLE `attr_a1e9e0a1b7943cc041fefb5da65868f9` DISABLE KEYS */;
+LOCK TABLES `attr_a1e9e0a1b7943cc041fefb5da65868f9` WRITE;
+INSERT INTO `attr_a1e9e0a1b7943cc041fefb5da65868f9` VALUES ('593e62a063231f8c623b74406b3e12b0','S:Done','S:Done',1),('9276789a0093ad44457655ef03ade36a','S:Ready','S:Ready',1);
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_a1e9e0a1b7943cc041fefb5da65868f9` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_a9c522a79597e1bfd2bd687d42d557b7`
+--
+
+DROP TABLE IF EXISTS `attr_a9c522a79597e1bfd2bd687d42d557b7`;
+CREATE TABLE `attr_a9c522a79597e1bfd2bd687d42d557b7` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_a9c522a79597e1bfd2bd687d42d557b7`
+--
+
+
+/*!40000 ALTER TABLE `attr_a9c522a79597e1bfd2bd687d42d557b7` DISABLE KEYS */;
+LOCK TABLES `attr_a9c522a79597e1bfd2bd687d42d557b7` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_a9c522a79597e1bfd2bd687d42d557b7` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_c47f78255056386d2b3da6d506d1f244`
+--
+
+DROP TABLE IF EXISTS `attr_c47f78255056386d2b3da6d506d1f244`;
+CREATE TABLE `attr_c47f78255056386d2b3da6d506d1f244` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_c47f78255056386d2b3da6d506d1f244`
+--
+
+
+/*!40000 ALTER TABLE `attr_c47f78255056386d2b3da6d506d1f244` DISABLE KEYS */;
+LOCK TABLES `attr_c47f78255056386d2b3da6d506d1f244` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_c47f78255056386d2b3da6d506d1f244` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_d193237d94c17244ebba4ce049759371`
+--
+
+DROP TABLE IF EXISTS `attr_d193237d94c17244ebba4ce049759371`;
+CREATE TABLE `attr_d193237d94c17244ebba4ce049759371` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_d193237d94c17244ebba4ce049759371`
+--
+
+
+/*!40000 ALTER TABLE `attr_d193237d94c17244ebba4ce049759371` DISABLE KEYS */;
+LOCK TABLES `attr_d193237d94c17244ebba4ce049759371` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_d193237d94c17244ebba4ce049759371` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_e019a506c890326966714893ac3e8cf5`
+--
+
+DROP TABLE IF EXISTS `attr_e019a506c890326966714893ac3e8cf5`;
+CREATE TABLE `attr_e019a506c890326966714893ac3e8cf5` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_e019a506c890326966714893ac3e8cf5`
+--
+
+
+/*!40000 ALTER TABLE `attr_e019a506c890326966714893ac3e8cf5` DISABLE KEYS */;
+LOCK TABLES `attr_e019a506c890326966714893ac3e8cf5` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_e019a506c890326966714893ac3e8cf5` ENABLE KEYS */;
+
+--
+-- Table structure for table `attr_e26a86a86bfc6799461d999860e57d81`
+--
+
+DROP TABLE IF EXISTS `attr_e26a86a86bfc6799461d999860e57d81`;
+CREATE TABLE `attr_e26a86a86bfc6799461d999860e57d81` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `value` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `full_value` mediumblob NOT NULL,
+  `origin` int(11) NOT NULL default '0',
+  KEY `jobid` (`jobid`),
+  KEY `value` (`value`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attr_e26a86a86bfc6799461d999860e57d81`
+--
+
+
+/*!40000 ALTER TABLE `attr_e26a86a86bfc6799461d999860e57d81` DISABLE KEYS */;
+LOCK TABLES `attr_e26a86a86bfc6799461d999860e57d81` WRITE;
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attr_e26a86a86bfc6799461d999860e57d81` ENABLE KEYS */;
+
+--
+-- Table structure for table `attrs`
+--
+
+DROP TABLE IF EXISTS `attrs`;
+CREATE TABLE `attrs` (
+  `attrid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `name` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `indexed` int(11) NOT NULL default '0',
+  `type` varchar(32) character set latin1 collate latin1_bin default NULL,
+  PRIMARY KEY  (`attrid`),
+  KEY `attrid` (`attrid`),
+  KEY `name` (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `attrs`
+--
+
+
+/*!40000 ALTER TABLE `attrs` DISABLE KEYS */;
+LOCK TABLES `attrs` WRITE;
+INSERT INTO `attrs` VALUES ('52942b8c70bab8491ab5d3b9713d79f5','http://egee.cesnet.cz/en/Schema/JP/System:owner',1,'mediumblob'),('6bc44144bf813a2ad7d67cb2adbdaf42','http://egee.cesnet.cz/en/Schema/JP/System:jobId',1,'mediumblob'),('862e3dd7c5da90c9a659a32a41f63af8','http://egee.cesnet.cz/en/Schema/JP/System:regtime',0,'mediumblob'),('9892f81a8175c09bd00afcb152f510ad','http://egee.cesnet.cz/en/Schema/LB/Attributes:user',1,'mediumblob'),('e019a506c890326966714893ac3e8cf5','http://egee.cesnet.cz/en/Schema/LB/Attributes:aTag',0,'mediumblob'),('d193237d94c17244ebba4ce049759371','http://egee.cesnet.cz/en/Schema/LB/Attributes:eNodes',0,'mediumblob'),('5023d8d4cc249460dd947a878153027f','http://egee.cesnet.cz/en/Schema/LB/Attributes:RB',1,'mediumblob'),('c47f78255056386d2b3da6d506d1f244','http://egee.cesnet.cz/en/Schema/LB/Attributes:CE',1,'mediumblob'),('29d3ef83b39b8cf690e8113df316835a','http://egee.cesnet.cz/en/Schema/LB/Attributes:UIHost',1,'mediumblob'),('a9c522a79597e1bfd2bd687d42d557b7','http://egee.cesnet.cz/en/Schema/LB/Attributes:CPUTime',0,'mediumblob'),('12aaad5454b6e3e44cb4f4a432336af4','http://egee.cesnet.cz/en/Schema/LB/Attributes:NProc',0,'mediumblob'),('a1e9e0a1b7943cc041fefb5da65868f9','http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus',1,'mediumblob'),('760a84e0ff89fa3f4e96ec82adfd92f1','http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatusDate',0,'mediumblob'),('9a812abe1262a90858b7be792f198596','http://egee.cesnet.cz/en/Schema/LB/Attributes:retryCount',0,'mediumblob'),('e26a86a86bfc6799461d999860e57d81','http://egee.cesnet.cz/en/Schema/LB/Attributes:jobType',0,'mediumblob'),('1005bc536e987ca1e027a5b8f84c9a67','http://egee.cesnet.cz/en/Schema/LB/Attributes:nsubjobs',0,'mediumblob'),('7c3be9defcbcf9f0e7890600d9c204ac','http://egee.cesnet.cz/en/Schema/LB/Attributes:lastStatusHistory',0,'mediumblob'),('982d06bdc65d3a4240b36a060a09886e','http://egee.cesnet.cz/en/Schema/LB/Attributes:fullStatusHistory',0,'mediumblob');
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `attrs` ENABLE KEYS */;
+
+--
+-- Table structure for table `feeds`
+--
+
+DROP TABLE IF EXISTS `feeds`;
+CREATE TABLE `feeds` (
+  `uniqueid` int(11) NOT NULL auto_increment,
+  `feedid` varchar(32) character set latin1 collate latin1_bin default NULL,
+  `state` int(11) NOT NULL default '0',
+  `locked` int(11) NOT NULL default '0',
+  `source` varchar(255) NOT NULL default '',
+  `expires` datetime default NULL,
+  `condition` mediumblob,
+  PRIMARY KEY  (`uniqueid`),
+  UNIQUE KEY `feedid` (`feedid`),
+  KEY `uniqueid` (`uniqueid`),
+  KEY `feedid_2` (`feedid`),
+  KEY `state` (`state`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `feeds`
+--
+
+
+/*!40000 ALTER TABLE `feeds` DISABLE KEYS */;
+LOCK TABLES `feeds` WRITE;
+INSERT INTO `feeds` VALUES (93,'12345',8,0,'http://localhost:8901','2005-10-14 10:48:27','COND2');
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `feeds` ENABLE KEYS */;
+
+--
+-- Table structure for table `jobs`
+--
+
+DROP TABLE IF EXISTS `jobs`;
+CREATE TABLE `jobs` (
+  `jobid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `dg_jobid` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  `ownerid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `aclid` varchar(32) character set latin1 collate latin1_bin default NULL,
+  `ps` varchar(255) NOT NULL default '',
+  PRIMARY KEY  (`jobid`),
+  UNIQUE KEY `dg_jobid` (`dg_jobid`),
+  KEY `jobid` (`jobid`),
+  KEY `dg_jobid_2` (`dg_jobid`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `jobs`
+--
+
+
+/*!40000 ALTER TABLE `jobs` DISABLE KEYS */;
+LOCK TABLES `jobs` WRITE;
+INSERT INTO `jobs` VALUES ('593e62a063231f8c623b74406b3e12b0','https://localhost:7846/pokus1','5864429d57da18e4ecf9ea366c6b2c9c',NULL,'http://localhost:8901'),('9276789a0093ad44457655ef03ade36a','https://localhost:7846/pokus2','9996d295b9e10ce182983b258b280779',NULL,'http://localhost:8901');
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `jobs` ENABLE KEYS */;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+CREATE TABLE `users` (
+  `userid` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',
+  `cert_subj` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
+  PRIMARY KEY  (`userid`),
+  UNIQUE KEY `cert_subj` (`cert_subj`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `users`
+--
+
+
+/*!40000 ALTER TABLE `users` DISABLE KEYS */;
+LOCK TABLES `users` WRITE;
+INSERT INTO `users` VALUES ('5864429d57da18e4ecf9ea366c6b2c9c','/O=CESNET/O=Masaryk University/CN=Milos Mulac'),('9996d295b9e10ce182983b258b280779','OwnerName');
+UNLOCK TABLES;
+/*!40000 ALTER TABLE `users` ENABLE KEYS */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+
index 67bd2c4..1eb86ca 100644 (file)
@@ -6,6 +6,8 @@
 # requires running mysql
 #
 # configuration:
+#   GLITE_LOCATION..................path to glite SW
+#   GLOBUS_LOCATION.................path to globus SW
 #   GLITE_JPIS_TEST_PIDFILE.........pidfile (default `pwd`/glite-jp-indexd.pid)
 #   GLITE_JPIS_TEST_LOGFILE.........logfile (default `pwd`/glite-jp-indexd.log)
 #   GLITE_JPIS_TEST_PORT............index server port
@@ -22,59 +24,147 @@ GLITE_LOCATION=${GLITE_LOCATION:-"/opt/glite"}
 [ -f $HOME/.glite.conf ] && . $HOME/.glite.conf
 [ -f $GLITE_LOCATION/etc/jpis.conf ] && . $GLITE_LOCATION/etc/jpis.conf
 
+GLOBUS_LOCATION=${GLOBUS_LOCATION:-"/opt/globus"}
+
+if [ -e "$GLOBUS_LOCATION/bin/grid-proxy-info" ] ;then
+       timeleft=`$GLOBUS_LOCATION/bin/grid-proxy-info 2>&1| grep timeleft| sed 's/^.* //'`
+       if [ "$timeleft" = "0:00:00" -o -z "$timeleft" ]; then 
+               echo "No valid proxy cert found! Aborting."
+               exit 1
+       fi
+fi
+
 # handle the configuration
 ARGS="-u ${GLITE_JPIS_ROOT_USER:-root}"
 [ -z "$GLITE_JPIS_ROOT_PASSWORD" ] || ARGS="-p ${GLITE_JPIS_ROOT_PASSWORD} $ARGS"
 GLITE_JPIS_TEST_PORT=${GLITE_JPIS_TEST_PORT:-"10000"}
-GLITE_JPIS_TEST_PIDFILE=${GLITE_JPIS_TEST_PIDFILE:-"`pwd`/glite-jp-indexd.pid"}
-GLITE_JPIS_TEST_LOGFILE=${GLITE_JPIS_TEST_LOGFILE:-"`pwd`/glite-jp-indexd.log"}
+GLITE_JPIS_TEST_PIDFILE=${GLITE_JPIS_TEST_PIDFILE:-"/tmp/glite-jp-indexd.pid"}
+GLITE_JPIS_TEST_LOGFILE=${GLITE_JPIS_TEST_LOGFILE:-"/tmp/glite-jp-indexd.log"}
 
-# create database when needed
 if [ -z "$GLITE_JPIS_TEST_DB" ]; then
        GLITE_JPIS_TEST_DB="jpis/@localhost:jpis1test"
-       mysqladmin -f $ARGS drop jpis1test > /dev/null 2>&1
-       mysqladmin -f $ARGS create jpis1test && \
-       mysql $ARGS -e 'GRANT ALL on jpis1test.* to jpis@localhost' && \
-       mysql -u jpis jpis1test < ../config/glite-jp-index-dbsetup.sql || exit 1
-       db_created="1"
+       need_new_db=1;
 fi
+DB_USER=`echo $GLITE_JPIS_TEST_DB| sed 's!/.*$!!'`
+DB_HOST=`echo $GLITE_JPIS_TEST_DB| sed 's!^.*@!!' | sed 's!:.*!!'`
+DB_NAME=`echo $GLITE_JPIS_TEST_DB| sed 's!^.*:!!'`
+
+
+create_db() {
+       # create database when needed
+       if [ "x$need_new_db" = "x1" ]; then
+               mysqladmin -f $ARGS drop $DB_NAME > /dev/null 2>&1
+               mysqladmin -f $ARGS create $DB_NAME && \
+               mysql $ARGS -e 'GRANT ALL on $DB_NAME.* to jpis@localhost' && \
+               mysql -u $DB_USER $DB_NAME < $GLITE_LOCATION/stage/etc/glite-jp-index-dbsetup.sql || exit 1
+               db_created="1"
+       fi
+}
+
+import_db() {
+       # import database
+       mysql -u $DB_USER -h $DB_HOST <$1
+       if [ x"$?" != x"0" ]; then
+               echo "FAILED to import database."
+               kill_is;
+               drop_db;
+               exit 1
+       fi
+}
+
+drop_db() {
+       # drop databaze when created
+       [ -z "$db_created" ] || mysqladmin -f $ARGS drop $DB_NAME >/dev/null
+
+}
+
+run_is() {
+       # run index server
+       $GLITE_LOCATION/stage/bin/glite-jp-indexd -m $GLITE_JPIS_TEST_DB -p $GLITE_JPIS_TEST_PORT \
+                       -i ${GLITE_JPIS_TEST_PIDFILE} -o ${GLITE_JPIS_TEST_LOGFILE} $1\
+                       2>/dev/null
+
+
+       if [ x"$?" != x"0" ]; then
+               echo FAILED
+               drop_db;
+               exit 1
+       fi
+       if [ ! -s "${GLITE_JPIS_TEST_PIDFILE}" ]; then
+               echo "Can't startup index server."
+               drop_db;
+               exit 1
+       fi
+
+       # wait for index server
+       ret=1
+       while [ x"$ret" != x"0" ]; do
+               LC_ALL=C netstat -tap 2>/dev/null | grep "\<$GLITE_JPIS_TEST_PORT\>" > /dev/null
+               ret=$?
+               LC_ALL=C sleep 0.1
+       done
+}
+
+kill_is() {
+       # kill the index server
+       kill `cat ${GLITE_JPIS_TEST_PIDFILE}`
+
+}
+
+run_test_query() {
+       $GLITE_LOCATION/stage/bin/glite-jpis-client -q $1 \
+                -i http://localhost:$GLITE_JPIS_TEST_PORT &>/tmp/result
+       DIFF=`diff --ignore-matching-lines="query: using JPIS" $2 /tmp/result`
+       if [ -z "$DIFF" ] ; then
+               echo "OK."
+               rm /tmp/result
+       else
+               echo "FAILED!"
+               echo
+               echo "Expected result:"
+               cat $2
+               echo "Obtained result:"
+               cat /tmp/result
+               rm /tmp/result
+               drop_db;
+               kill_is;
+               exit 1
+       fi
+}
+
+run_test3() {
+       # run the example
+       numok=`GLITE_JPIS_DB=$GLITE_JPIS_TEST_DB \
+       GLITE_JPIS_PORT=$GLITE_JPIS_TEST_PORT \
+               $GLITE_LOCATION/stage/bin/glite-jpis-test 2>/dev/null| grep "OK" | wc -l`
+       if [ "$numok" -eq "2" ]; then
+               echo OK.
+       fi
+}
+
+echo
+
+echo -n "Simple query test.... "
+create_db;
+run_is "-n";
+import_db $GLITE_LOCATION/stage/examples/dump1.sql;
+run_test_query $GLITE_LOCATION/stage/examples/simple_query.in $GLITE_LOCATION/stage/examples/simple_query.out;
+drop_db;
+kill_is;
+
+echo -n "Complex query test... "
+create_db;
+run_is "-n";
+import_db $GLITE_LOCATION/stage/examples/dump1.sql;
+run_test_query $GLITE_LOCATION/stage/examples/complex_query.in $GLITE_LOCATION/stage/examples/complex_query.out;
+drop_db;
+kill_is;
+
+echo -n "Feed & query test.... "
+create_db;
+run_is;
+run_test3;
+drop_db;
+kill_is;
 
-# run index server
-GLITE_JPIS_PIDFILE=${GLITE_JPIS_TEST_PIDFILE} \
-GLITE_JPIS_LOGFILE=${GLITE_JPIS_TEST_LOGFILE} \
-GLITE_JPIS_DEBUG="0" \
-GLITE_JPIS_DB=$GLITE_JPIS_TEST_DB \
-GLITE_JPIS_PORT=$GLITE_JPIS_TEST_PORT \
-       ./glite-jp-indexd
-if [ x"$?" != x"0" ]; then
-       echo FAILED
-       [ -z "$db_created" ] || mysqladmin -f $ARGS drop jpis1test
-       exit 1
-fi
-if [ ! -s "./glite-jp-indexd.pid" ]; then
-       echo "Can't startup index server."
-       [ -z "$db_created" ] || mysqladmin -f $ARGS drop jpis1test
-       exit 1
-fi
 
-# wait for index server
-ret=1
-while [ x"$ret" != x"0" ]; do
-       LC_ALL=C netstat -tap 2>/dev/null | grep "\<$GLITE_JPIS_TEST_PORT\>" > /dev/null
-       ret=$?
-       LC_ALL=C sleep 0.1
-done
-# run the example
-numok=`GLITE_JPIS_DB=$GLITE_JPIS_TEST_DB \
-GLITE_JPIS_PORT=$GLITE_JPIS_TEST_PORT \
-       ./glite-jpis-test | grep "OK" | wc -l`
-
-# kill the index server
-kill `cat ${GLITE_JPIS_TEST_PIDFILE}`
-
-# drop databaze when created
-[ -z "$db_created" ] || mysqladmin -f $ARGS drop jpis1test >/dev/null
-
-if [ "$numok" -eq "2" ]; then
-       echo OK
-fi
diff --git a/org.glite.jp.index/test/simple_query.in b/org.glite.jp.index/test/simple_query.in
new file mode 100644 (file)
index 0000000..00adee1
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<queryJobs xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jptype="http://glite.org/wsdl/types/jp" xmlns:jpsrv="http://glite.org/wsdl/services/jp" xmlns:jpelem="http://glite.org/wsdl/elements/jp" xsi:type="indexQuery">
+
+       <conditions>
+               <attr>http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus</attr>
+               <record>
+                       <op>EQUAL</op>
+                       <value>
+                               <string>Ready</string>
+                       </value>
+               </record>
+       </conditions>
+
+       <attributes>http://egee.cesnet.cz/en/Schema/JP/System:owner</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/JP/System:jobId</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus</attributes>
+       <attributes>http://egee.cesnet.cz/en/Schema/LB/Attributes:user</attributes>
+
+</queryJobs>
+
diff --git a/org.glite.jp.index/test/simple_query.out b/org.glite.jp.index/test/simple_query.out
new file mode 100644 (file)
index 0000000..de1e27b
--- /dev/null
@@ -0,0 +1,22 @@
+query: using JPIS http://localhost:8902
+
+Conditions:
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+               == Ready
+Attributes:
+       http://egee.cesnet.cz/en/Schema/JP/System:owner
+       http://egee.cesnet.cz/en/Schema/JP/System:jobId
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+       http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+
+OK
+Result 1 jobs:
+       jobid = https://localhost:7846/pokus2, owner = (null)
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus
+                       value = Ready
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970
+               http://egee.cesnet.cz/en/Schema/LB/Attributes:user
+                       value = CertSubj
+                       origin = 0, (null)
+                       time = Thu Jan  1 01:00:00 1970