/virtuoso-opensource-6.1.5/binsrc/bpel/tests/tevent/tevent.sql
# · SQL · 118 lines · 80 code · 16 blank · 22 comment · 0 complexity · c45ca4b74eca37905f2039a68f0d0138 MD5 · raw file
- --
- -- $Id: tevent.sql,v 1.2.2.1 2012/03/08 12:54:59 source Exp $
- --
- -- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- -- project.
- --
- -- Copyright (C) 1998-2012 OpenLink Software
- --
- -- This project 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; only version 2 of the License, dated June 1991.
- --
- -- This program 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
- --
- --
- use db;
- drop table event_test_1;
- drop table event_test_2;
- create table event_test_1 (id int identity primary key, dt varchar);
- create table event_test_2 (id int identity primary key, dt varchar);
- delete from bpel..script where bs_name in ('Event', 'AsyncBPELService');
- create procedure upload_async_process ()
- {
- declare id any;
- bpel..import_script ('file:/tevent/AsyncBPELService/bpel.xml', 'AsyncBPELService', id);
- bpel..compile_script (id, '/AsyncBPELService');
- };
- create procedure upload_event_process ()
- {
- declare id any;
- bpel..import_script ('file:/tevent/bpel.xml', 'Event', id);
- bpel..compile_script (id, '/Event');
- };
- upload_async_process ();
- ECHO BOTH $IF $EQU $STATE OK "PASSED:" "***FAILED:";
- ECHO BOTH " AsyncBPELService created : STATE=" $STATE " MESSAGE=" $MESSAGE "\n";
- upload_event_process ();
- ECHO BOTH $IF $EQU $STATE OK "PASSED:" "***FAILED:";
- ECHO BOTH " Event process created : STATE=" $STATE " MESSAGE=" $MESSAGE "\n";
- select xpath_eval ('//loanApplication/loanAmount/text()', xml_tree_doc (
- db.dba.soap_client (url=>sprintf ('http://localhost:%s/Event',
- server_http_port()),
- soap_action=>'initiate', operation=>'initiate',
- parameters => vector ('par0', xtree_doc (
- '<loanApplication xmlns="http://www.autoloan.com/ns/autoloan">
- <SSN>1234567890</SSN>
- <email>a@a.com</email>
- <customerName>joe doe</customerName>
- <loanAmount>10000</loanAmount>
- <carModel>zaz</carModel>
- <carYear>1960</carYear>
- <creditRating/>
- </loanApplication>')),
- style=>1,
- time_out=>180
- )));
- ECHO BOTH $IF $EQU $LAST[1] 10000 "PASSED:" "***FAILED:";
- ECHO BOTH " Event returns " $LAST[1] "\n";
- select count(*) from event_test_1;
- ECHO BOTH $IF $EQU $LAST[1] 0 "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_1 contains " $LAST[1] "\n";
- select count(*) from event_test_2;
- ECHO BOTH $IF $EQU $LAST[1] 0 "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_2 contains " $LAST[1] "\n";
- select xpath_eval ('//loanApplication/loanAmount/text()', xml_tree_doc (
- db.dba.soap_client (url=>sprintf ('http://localhost:%s/Event',
- server_http_port()),
- soap_action=>'initiate', operation=>'initiate',
- parameters => vector ('par0', xtree_doc (
- '<loanApplication xmlns="http://www.autoloan.com/ns/autoloan">
- <SSN>9234567890</SSN>
- <email>a@a.bar</email>
- <customerName>joe doe</customerName>
- <loanAmount>100000</loanAmount>
- <carModel>bmw</carModel>
- <carYear>2003</carYear>
- <creditRating/>
- </loanApplication>')),
- style=>1,
- time_out=>180
- )));
- ECHO BOTH $IF $EQU $LAST[1] 100000 "PASSED:" "***FAILED:";
- ECHO BOTH " Event returns " $LAST[1] "\n";
- select count(*) from event_test_1;
- ECHO BOTH $IF $EQU $LAST[1] 2 "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_1 contains " $LAST[1] "\n";
- select dt from event_test_2;
- ECHO BOTH $IF $EQU $LAST[1] 'Alarm timeout: no response from AsyncBPELService after 15 seconds' "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_2 record " $LAST[1] "\n";
- select count(*) from event_test_2;
- ECHO BOTH $IF $EQU $LAST[1] 1 "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_2 contains " $LAST[1] "\n";
- select dt from event_test_1;
- ECHO BOTH $IF $EQU $LAST[1] 'we will finish processing your request soon' "PASSED:" "***FAILED:";
- ECHO BOTH " event_test_1 2-d record " $LAST[1] "\n";