From: Miloš Mulač Date: Wed, 1 Feb 2006 13:28:44 +0000 (+0000) Subject: add simple and complex query tests X-Git-Tag: merge_for_3_1_dst~30 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=358beb58dd3ab63204b1e4b13bd942631625555a;p=jra1mw.git add simple and complex query tests --- diff --git a/org.glite.jp.index/Makefile b/org.glite.jp.index/Makefile index fefc79b..b6ce23d 100644 --- a/org.glite.jp.index/Makefile +++ b/org.glite.jp.index/Makefile @@ -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: diff --git a/org.glite.jp.index/examples/jpis-test.c b/org.glite.jp.index/examples/jpis-test.c index b15b8ad..b0a2783 100644 --- a/org.glite.jp.index/examples/jpis-test.c +++ b/org.glite.jp.index/examples/jpis-test.c @@ -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 index 0000000..ecbc3a3 --- /dev/null +++ b/org.glite.jp.index/test/complex_query.in @@ -0,0 +1,36 @@ + + + + + http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus + + EQUAL + + Done + + + + EQUAL + + Ready + + + + + + http://egee.cesnet.cz/en/Schema/LB/Attributes:user + + UNEQUAL + + God + + + + + 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 + + + diff --git a/org.glite.jp.index/test/complex_query.out b/org.glite.jp.index/test/complex_query.out new file mode 100644 index 0000000..124ca68 --- /dev/null +++ b/org.glite.jp.index/test/complex_query.out @@ -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 index 0000000..c0a5708 --- /dev/null +++ b/org.glite.jp.index/test/dump1.sql @@ -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 */; + diff --git a/org.glite.jp.index/test/run-test.sh b/org.glite.jp.index/test/run-test.sh index 67bd2c4..1eb86ca 100644 --- a/org.glite.jp.index/test/run-test.sh +++ b/org.glite.jp.index/test/run-test.sh @@ -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 index 0000000..00adee1 --- /dev/null +++ b/org.glite.jp.index/test/simple_query.in @@ -0,0 +1,20 @@ + + + + + http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus + + EQUAL + + Ready + + + + + 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 + + + diff --git a/org.glite.jp.index/test/simple_query.out b/org.glite.jp.index/test/simple_query.out new file mode 100644 index 0000000..de1e27b --- /dev/null +++ b/org.glite.jp.index/test/simple_query.out @@ -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