xmlservice 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +19 -0
- data/README_IBM_i +62 -0
- data/lib/adapters/abstract_adapter.rb +82 -0
- data/lib/adapters/db2_adapter.rb +70 -0
- data/lib/adapters/rest_adapter.rb +32 -0
- data/lib/password/password.rb +229 -0
- data/lib/xmlservice.rb +2477 -0
- data/test/README_IBM_i +3 -0
- data/test/Rakefile +42 -0
- data/test/genpassword.rb +111 -0
- data/test/test_60000_toolkit_driver/Rakefile +11 -0
- data/test/test_60000_toolkit_driver/test_60010_DriverCallPgmZZCALL.rb +403 -0
- data/test/test_60000_toolkit_driver/test_60110_DriverCallSrvPgmZZARRAY.rb +149 -0
- data/test/test_60000_toolkit_driver/test_60310_DriverCMD.rb +77 -0
- data/test/test_60000_toolkit_driver/test_60510_DriverDataQueue.rb +126 -0
- data/test/test_60000_toolkit_driver/test_60610_DriverCallSrvPgmZZBINARY.rb +59 -0
- data/test/test_60000_toolkit_driver/test_60710_DriverSH.rb +73 -0
- data/test/test_60000_toolkit_driver/test_60910_DriverCallPgmZZMISS.rb +44 -0
- data/test/test_60000_toolkit_driver/test_65010_DriverCallDB2.rb +265 -0
- data/test/test_60000_toolkit_driver/zzassign.rb +66 -0
- data/test/test_60000_toolkit_driver/zzquick.rb +149 -0
- data/test/test_60000_toolkit_driver/zztestrest.rb +45 -0
- data/test/test_60000_toolkit_driver/zzthreadold.rb +78 -0
- data/test/test_70000_toolkit_testonly/Rakefile +11 -0
- data/test/test_70000_toolkit_testonly/test_70010_DriverCallPgmTestOnly.rb +270 -0
- data/test/test_80000_toolkit_dsl/Rakefile +11 -0
- data/test/test_80000_toolkit_dsl/test_80010_DSLCallPgmZZCALL.rb +162 -0
- data/test/test_80000_toolkit_dsl/test_80110_DSLCallSrvPgmZZARRAY.rb +150 -0
- data/test/test_authorization/README_IBM_i +15 -0
- data/test/test_authorization/auth.rb +101 -0
- data/test/test_authorization/key.yml +2 -0
- data/test/test_authorization/password.yml +3 -0
- data/test/test_authorization/xmlservice.yml +69 -0
- data/test/test_data/rowcol.rb +57 -0
- data/version.txt +1 -0
- metadata +92 -0
@@ -0,0 +1,149 @@
|
|
1
|
+
# File: test_60110_DriverCallSrvPgmZZARRAY.rb
|
2
|
+
require "../test_authorization/auth"
|
3
|
+
require "../test_data/rowcol"
|
4
|
+
|
5
|
+
# D ARRAYMAX c const(999)
|
6
|
+
# D dcRec_t ds qualified based(Template)
|
7
|
+
# D dcMyName 10A
|
8
|
+
# D dcMyJob 4096A
|
9
|
+
# D dcMyRank 10i 0
|
10
|
+
# D dcMyPay 12p 2
|
11
|
+
# *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
12
|
+
# * zzarray: check return array aggregate
|
13
|
+
# *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
14
|
+
# P zzarray B export
|
15
|
+
# D zzarray PI likeds(dcRec_t) dim(ARRAYMAX)
|
16
|
+
# D myName 10A
|
17
|
+
# D myMax 10i 0
|
18
|
+
# D myCount 10i 0
|
19
|
+
class Test_60110_DriverCallSrvPgmZZARRAY < RowColUnitTest
|
20
|
+
# -------------------------------
|
21
|
+
# test functions (start with prefix test_)
|
22
|
+
# rake test -- Unit run alpha sort order
|
23
|
+
# run #1) test_0000_connect
|
24
|
+
# run #2) test_nnnn_xxx
|
25
|
+
# :
|
26
|
+
# run #n) test_9999_close
|
27
|
+
# -------------------------------
|
28
|
+
|
29
|
+
def test_0050_zzarray
|
30
|
+
count = 5
|
31
|
+
zzwho = 'Ranger'
|
32
|
+
zzarray = XMLService::I_SRVPGM.new("ZZSRV","ZZARRAY",$toolkit_test_lib,{'error'=>'on'})
|
33
|
+
zzarray << XMLService::I_Char.new('myName',10,'FlinRock')
|
34
|
+
zzarray << XMLService::I_Int32.new('myMax',20)
|
35
|
+
zzarray << XMLService::I_Int32.new('myCount',0,'mycount')
|
36
|
+
zzarray.setReturn("aggregate",
|
37
|
+
XMLService::I_DS.new("dcRec_t",999,'mycount',
|
38
|
+
[
|
39
|
+
XMLService::I_Char.new('dcMyName',10,'na'),
|
40
|
+
XMLService::I_Char.new('dcMyJob',4096,'na'),
|
41
|
+
XMLService::I_Int32.new('dcMyRank',0),
|
42
|
+
XMLService::I_PackedDecimal.new('dcMyPay',12,2,0.0)
|
43
|
+
]))
|
44
|
+
|
45
|
+
|
46
|
+
# set input variables for call
|
47
|
+
zzarray.input.PARM0.myName = 'Skippy'
|
48
|
+
zzarray.input.PARM1.myMax = 9
|
49
|
+
zzarray.input.PARM2.myCount= 0
|
50
|
+
puts "\n+++++++++ input normal ++++++++++++++++"
|
51
|
+
puts zzarray.to_xml
|
52
|
+
# verify
|
53
|
+
self.match_value(__method__,__LINE__,'myName' ,'Skippy' ,zzarray.input.PARM0.myName)
|
54
|
+
self.match_value(__method__,__LINE__,'myMax' ,9 ,zzarray.input.PARM1.myMax)
|
55
|
+
self.match_value(__method__,__LINE__,'myCount' ,0 ,zzarray.input.PARM2.myCount)
|
56
|
+
|
57
|
+
|
58
|
+
# set input variables for call
|
59
|
+
zzarray.input.myName = zzwho
|
60
|
+
zzarray.input.myMax = count
|
61
|
+
zzarray.input.myCount= 0
|
62
|
+
puts "\n+++++++++ input fewer ++++++++++++++++"
|
63
|
+
puts zzarray.to_xml
|
64
|
+
# verify
|
65
|
+
self.match_value(__method__,__LINE__,'myName' ,zzwho ,zzarray.input.PARM0.myName)
|
66
|
+
self.match_value(__method__,__LINE__,'myMax' ,count ,zzarray.input.PARM1.myMax)
|
67
|
+
self.match_value(__method__,__LINE__,'myCount' ,0 ,zzarray.input.PARM2.myCount)
|
68
|
+
|
69
|
+
# call IBM i
|
70
|
+
zzarray.call
|
71
|
+
|
72
|
+
# puts zzarray.inspect
|
73
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
74
|
+
puts zzarray.dump_inspect
|
75
|
+
|
76
|
+
# xmlservice error occurred?
|
77
|
+
rc = zzarray.xmlservice_error
|
78
|
+
if rc
|
79
|
+
puts zzcall.dump_error
|
80
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
81
|
+
end
|
82
|
+
|
83
|
+
# output xml
|
84
|
+
puts "\n+++++++++ output xml ++++++++++++++++"
|
85
|
+
puts zzarray.out_xml
|
86
|
+
|
87
|
+
|
88
|
+
# output
|
89
|
+
puts "\n+++++++++ output ++++++++++++++++"
|
90
|
+
puts "#{zzarray.name}.#{zzarray.func}:\n"
|
91
|
+
puts " myName....#{zzarray.response.myName}\n"
|
92
|
+
puts " myMax.....#{zzarray.response.myMax}\n"
|
93
|
+
puts " myCount...#{zzarray.response.myCount}\n"
|
94
|
+
i = 0
|
95
|
+
zzarray.returndata.dcRec_t.each do |dcRec_t|
|
96
|
+
i += 1
|
97
|
+
puts "dcRec_t[#{i}]"
|
98
|
+
puts " Name...#{dcRec_t.dcMyName}"
|
99
|
+
puts " Job....#{dcRec_t.dcMyJob}"
|
100
|
+
puts " Rank...#{dcRec_t.dcMyRank}"
|
101
|
+
puts " Pay....#{dcRec_t.dcMyPay}"
|
102
|
+
end
|
103
|
+
# verify
|
104
|
+
self.match_value(__method__,__LINE__,'myName' ,zzwho ,zzarray.response.myName)
|
105
|
+
self.match_value(__method__,__LINE__,'myMax' ,count ,zzarray.response.myMax)
|
106
|
+
self.match_value(__method__,__LINE__,'myCount' ,count ,zzarray.response.myCount)
|
107
|
+
for i in 0..zzarray.returndata.dcRec_t.count-1
|
108
|
+
dcMyName = zzarray.response.myName.to_s + (i+1).to_s
|
109
|
+
dcMyJob = "Test " + (100 + i + 1).to_s
|
110
|
+
dcMyRank = 10 + i + 1
|
111
|
+
dcMyPay = 13.42 * (i+1)
|
112
|
+
self.match_value(__method__,__LINE__,'dcMyName' ,dcMyName ,zzarray.returndata.dcRec_t[i].dcMyName)
|
113
|
+
self.match_value(__method__,__LINE__,'dcMyJob' ,dcMyJob ,zzarray.returndata.dcRec_t[i].dcMyJob)
|
114
|
+
self.match_value(__method__,__LINE__,'dcMyRank' ,dcMyRank ,zzarray.returndata.dcRec_t[i].dcMyRank)
|
115
|
+
self.match_value(__method__,__LINE__,'dcMyPay' ,dcMyPay ,zzarray.returndata.dcRec_t[i].dcMyPay)
|
116
|
+
end
|
117
|
+
|
118
|
+
# output
|
119
|
+
puts "\n+++++++++ output long ++++++++++++++++"
|
120
|
+
puts "#{zzarray.name}.#{zzarray.func}:\n"
|
121
|
+
puts " myName....#{zzarray.response.PARM0.myName}\n"
|
122
|
+
puts " myMax.....#{zzarray.response.PARM1.myMax}\n"
|
123
|
+
puts " myCount...#{zzarray.response.PARM2.myCount}\n"
|
124
|
+
i = 0
|
125
|
+
zzarray.returndata.aggregate.dcRec_t.each do |dcRec_t|
|
126
|
+
i += 1
|
127
|
+
puts "dcRec_t[#{i}]"
|
128
|
+
puts " Name...#{dcRec_t.dcMyName}"
|
129
|
+
puts " Job....#{dcRec_t.dcMyJob}"
|
130
|
+
puts " Rank...#{dcRec_t.dcMyRank}"
|
131
|
+
puts " Pay....#{dcRec_t.dcMyPay}"
|
132
|
+
end
|
133
|
+
# verify
|
134
|
+
self.match_value(__method__,__LINE__,'myName' ,zzwho ,zzarray.response.PARM0.myName)
|
135
|
+
self.match_value(__method__,__LINE__,'myMax' ,count ,zzarray.response.PARM1.myMax)
|
136
|
+
self.match_value(__method__,__LINE__,'myCount' ,count ,zzarray.response.PARM2.myCount)
|
137
|
+
for i in 0..zzarray.returndata.aggregate.dcRec_t.count-1
|
138
|
+
dcMyName = zzarray.response.PARM0.myName.to_s + (i+1).to_s
|
139
|
+
dcMyJob = "Test " + (100 + i + 1).to_s
|
140
|
+
dcMyRank = 10 + i + 1
|
141
|
+
dcMyPay = 13.42 * (i+1)
|
142
|
+
self.match_value(__method__,__LINE__,'dcMyName' ,dcMyName ,zzarray.returndata.aggregate.dcRec_t[i].dcMyName)
|
143
|
+
self.match_value(__method__,__LINE__,'dcMyJob' ,dcMyJob ,zzarray.returndata.aggregate.dcRec_t[i].dcMyJob)
|
144
|
+
self.match_value(__method__,__LINE__,'dcMyRank' ,dcMyRank ,zzarray.returndata.aggregate.dcRec_t[i].dcMyRank)
|
145
|
+
self.match_value(__method__,__LINE__,'dcMyPay' ,dcMyPay ,zzarray.returndata.aggregate.dcRec_t[i].dcMyPay)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# File: test_60310_DriverCMD.rb
|
2
|
+
require "../test_authorization/auth"
|
3
|
+
require "../test_data/rowcol"
|
4
|
+
|
5
|
+
class Test_60310_DriverCMD < RowColUnitTest
|
6
|
+
# -------------------------------
|
7
|
+
# test functions (start with prefix test_)
|
8
|
+
# rake test -- Unit run alpha sort order
|
9
|
+
# run #1) test_0000_connect
|
10
|
+
# run #2) test_nnnn_xxx
|
11
|
+
# :
|
12
|
+
# run #n) test_9999_close
|
13
|
+
# -------------------------------
|
14
|
+
def test_0020_cmd_CHGLIBL
|
15
|
+
# ***************************************
|
16
|
+
# * CMD - CHGLIBL
|
17
|
+
# ***************************************
|
18
|
+
cmd = XMLService::I_CMD.new("CHGLIBL LIBL(QTEMP #{$toolkit_test_lib})")
|
19
|
+
# call IBM i
|
20
|
+
cmd.xmlservice
|
21
|
+
# inspect
|
22
|
+
puts cmd.dump_inspect
|
23
|
+
# xmlservice error occurred?
|
24
|
+
rc = cmd.xmlservice_error
|
25
|
+
if rc
|
26
|
+
puts cmd.dump_error()
|
27
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
28
|
+
end
|
29
|
+
# output
|
30
|
+
# puts cmd.out_xml
|
31
|
+
output = cmd.response.output
|
32
|
+
puts output
|
33
|
+
# verify
|
34
|
+
must = "success"
|
35
|
+
ok = output.include? must
|
36
|
+
self.match_value(__method__,__LINE__,"E N D",must,output)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_0020_cmd_RTVJOBA
|
40
|
+
# ***************************************
|
41
|
+
# * CMD - RTVJOBA
|
42
|
+
# ***************************************
|
43
|
+
cmd = XMLService::I_CMD.new("RTVJOBA USRLIBL(?) SYSLIBL(?) CCSID(?N) OUTQ(?)")
|
44
|
+
for i in 0..5
|
45
|
+
# call IBM i
|
46
|
+
cmd.xmlservice
|
47
|
+
# inspect
|
48
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
49
|
+
puts cmd.dump_inspect
|
50
|
+
# xmlservice error occurred?
|
51
|
+
rc = cmd.xmlservice_error
|
52
|
+
if rc
|
53
|
+
puts cmd.dump_error()
|
54
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
55
|
+
end
|
56
|
+
# output
|
57
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
58
|
+
output = cmd.response.output
|
59
|
+
puts output
|
60
|
+
puts "\n+++++++++ returndata output ++++++++++++++++"
|
61
|
+
puts "USRLIBL... #{cmd.returndata.USRLIBL}"
|
62
|
+
puts "SYSLIBL... #{cmd.returndata.SYSLIBL}"
|
63
|
+
puts "CCSID..... #{cmd.returndata.CCSID}"
|
64
|
+
puts "OUTQ...... #{cmd.returndata.OUTQ}"
|
65
|
+
# verify
|
66
|
+
must = "success"
|
67
|
+
ok = output.include? must
|
68
|
+
self.match_value(__method__,__LINE__,"E N D",must,output)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
# -------------------------------
|
74
|
+
# non-test functions (no prefix test_)
|
75
|
+
# -------------------------------
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,126 @@
|
|
1
|
+
# File: test_60510_DriverDataQueue.rb
|
2
|
+
require "../test_authorization/auth"
|
3
|
+
require "../test_data/rowcol"
|
4
|
+
|
5
|
+
class Test_60510_DriverDataQueue < RowColUnitTest
|
6
|
+
|
7
|
+
# -------------------------------
|
8
|
+
# test functions (start with prefix test_)
|
9
|
+
# rake test -- Unit run alpha sort order
|
10
|
+
# run #1) test_0000_connect
|
11
|
+
# run #2) test_nnnn_xxx
|
12
|
+
# :
|
13
|
+
# run #n) test_9999_close
|
14
|
+
# -------------------------------
|
15
|
+
|
16
|
+
def test_0020_data_queue
|
17
|
+
# ***************************************
|
18
|
+
# * CMD - Recreate Data Queue (DLTDTAQ, CRTDTAQ)
|
19
|
+
# ***************************************
|
20
|
+
dltdatq = XMLService::I_CMD.new("DLTDTAQ DTAQ(#{$toolkit_test_lib}/MYDATAQ)")
|
21
|
+
# call IBM i
|
22
|
+
dltdatq.xmlservice
|
23
|
+
# xmlservice error occurred?
|
24
|
+
rc = dltdatq.xmlservice_error
|
25
|
+
if rc
|
26
|
+
puts dltdatq.dump_all()
|
27
|
+
# self.match_value(__method__,__LINE__,'error' ,false,rc)
|
28
|
+
end
|
29
|
+
|
30
|
+
# inspect
|
31
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
32
|
+
puts dltdatq.dump_inspect
|
33
|
+
|
34
|
+
# output
|
35
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
36
|
+
puts dltdatq.response.output
|
37
|
+
|
38
|
+
crtdatq = XMLService::I_CMD.new("CRTDTAQ DTAQ(#{$toolkit_test_lib}/MYDATAQ) MAXLEN(100) AUT(*EXCLUDE)")
|
39
|
+
# call IBM i
|
40
|
+
crtdatq.xmlservice
|
41
|
+
# xmlservice error occurred?
|
42
|
+
rc = crtdatq.xmlservice_error
|
43
|
+
if rc
|
44
|
+
puts crtdatq.dump_all()
|
45
|
+
# self.match_value(__method__,__LINE__,'error' ,false,rc)
|
46
|
+
end
|
47
|
+
|
48
|
+
# inspect
|
49
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
50
|
+
puts crtdatq.dump_inspect
|
51
|
+
|
52
|
+
# output
|
53
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
54
|
+
puts crtdatq.response.output
|
55
|
+
|
56
|
+
# ***************************************
|
57
|
+
# * PGM - Send Data Queue (QSNDDTAQ) API
|
58
|
+
# ***************************************
|
59
|
+
# * 1 Data queue name Input Char(10)
|
60
|
+
# * 2 Library name Input Char(10)
|
61
|
+
# * 3 Length of data Input Packed(5,0)
|
62
|
+
# * 4 Data Input Char(*) Input
|
63
|
+
messageSnd = 'System i data queues forever'
|
64
|
+
qsnddtaq = XMLService::I_PGM.new("QSNDDTAQ")
|
65
|
+
qsnddtaq << XMLService::I_a.new('queueName',10,'MYDATAQ')
|
66
|
+
qsnddtaq << XMLService::I_a.new('libName',10,$toolkit_test_lib)
|
67
|
+
qsnddtaq << XMLService::I_p.new('lenData',5,0,50.0)
|
68
|
+
qsnddtaq << XMLService::I_a.new('dataInput',100,messageSnd)
|
69
|
+
# call IBM i
|
70
|
+
qsnddtaq.xmlservice
|
71
|
+
# xmlservice error occurred?
|
72
|
+
rc = qsnddtaq.xmlservice_error
|
73
|
+
if rc
|
74
|
+
puts qsnddtaq.dump_all()
|
75
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
76
|
+
end
|
77
|
+
# inspect
|
78
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
79
|
+
puts qsnddtaq.dump_inspect
|
80
|
+
|
81
|
+
# output
|
82
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
83
|
+
puts qsnddtaq.response.output
|
84
|
+
puts "Send......#{qsnddtaq.name}: #{qsnddtaq.response.dataInput}"
|
85
|
+
|
86
|
+
# ***************************************
|
87
|
+
# * PGM - Receive Data Queue (QRCVDTAQ) API
|
88
|
+
# ***************************************
|
89
|
+
# * 1 Data queue name Input Char(10)
|
90
|
+
# * 2 Library name Input Char(10)
|
91
|
+
# * 3 Length of data Input Packed(5,0)
|
92
|
+
# * 4 Data Char(*) Output
|
93
|
+
# * 5 Wait time Input Packed(5,0)
|
94
|
+
qrcvdtaq = XMLService::I_PGM.new("QRCVDTAQ")
|
95
|
+
qrcvdtaq << XMLService::I_a.new('queueName',10,'MYDATAQ')
|
96
|
+
qrcvdtaq << XMLService::I_a.new('libName',10,$toolkit_test_lib)
|
97
|
+
qrcvdtaq << XMLService::I_p.new('lenData',5,0,50.0)
|
98
|
+
qrcvdtaq << XMLService::I_a.new('dataOutput',100,'replace stuff here')
|
99
|
+
qrcvdtaq << XMLService::I_p.new('waitTime',5,0,0.0)
|
100
|
+
# call IBM i
|
101
|
+
qrcvdtaq.xmlservice
|
102
|
+
# xmlservice error occurred?
|
103
|
+
rc = qrcvdtaq.xmlservice_error
|
104
|
+
if rc
|
105
|
+
puts qrcvdtaq.dump_all()
|
106
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
107
|
+
end
|
108
|
+
|
109
|
+
# inspect
|
110
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
111
|
+
puts qrcvdtaq.dump_inspect
|
112
|
+
|
113
|
+
# output
|
114
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
115
|
+
puts qrcvdtaq.response.output
|
116
|
+
puts "Receive...#{qrcvdtaq.name}: #{qrcvdtaq.response.dataOutput}"
|
117
|
+
# verify
|
118
|
+
self.match_value(__method__,__LINE__,'dataOutput' ,messageSnd ,qrcvdtaq.response.dataOutput)
|
119
|
+
|
120
|
+
end
|
121
|
+
|
122
|
+
# -------------------------------
|
123
|
+
# non-test functions (no prefix test_)
|
124
|
+
# -------------------------------
|
125
|
+
|
126
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# File: test_60610_DriverCallSrvPgmZZBINARY.rb
|
2
|
+
require "../test_authorization/auth"
|
3
|
+
require "../test_data/rowcol"
|
4
|
+
|
5
|
+
class Test_60610_DriverCallSrvPgmZZBINARY < RowColUnitTest
|
6
|
+
# -------------------------------
|
7
|
+
# test functions (start with prefix test_)
|
8
|
+
# rake test -- Unit run alpha sort order
|
9
|
+
# run #1) test_0000_connect
|
10
|
+
# run #2) test_nnnn_xxx
|
11
|
+
# :
|
12
|
+
# run #n) test_9999_close
|
13
|
+
# -------------------------------
|
14
|
+
|
15
|
+
# *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
16
|
+
# * zzbinary: check return binary
|
17
|
+
# *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
18
|
+
# P zzbinary B export
|
19
|
+
# D zzbinary PI 20A
|
20
|
+
# D myBinary 20A
|
21
|
+
def test_0020_pgm_zzbinary
|
22
|
+
|
23
|
+
mypack = XMLService::I_p.new('mypack',12,2,99.9)
|
24
|
+
|
25
|
+
mybin = 0xA1A2A3A4A5A6A7A8A9AAA1A2A3A4A5A6A7A8A9AA
|
26
|
+
zzbinary = XMLService::I_SRVPGM.new("ZZSRV","ZZBINARY",$toolkit_test_lib)
|
27
|
+
zzbinary.inputParameter("parm","io",XMLService::I_Binary.new('myIn',20,mybin))
|
28
|
+
zzbinary.setReturn("binary", XMLService::I_Binary.new('myOut',20,0x00))
|
29
|
+
# call IBM i
|
30
|
+
zzbinary.xmlservice
|
31
|
+
# xmlservice error occurred?
|
32
|
+
rc = zzbinary.xmlservice_error
|
33
|
+
if rc
|
34
|
+
puts zzbinary.dump_all()
|
35
|
+
self.match_value(__method__,__LINE__,'error' ,false,rc)
|
36
|
+
end
|
37
|
+
|
38
|
+
# inspect
|
39
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
40
|
+
puts zzbinary.dump_inspect
|
41
|
+
|
42
|
+
# output
|
43
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
44
|
+
puts "#{zzbinary.name}.#{zzbinary.func}:"
|
45
|
+
puts "Input....#{zzbinary.response.myIn}"
|
46
|
+
|
47
|
+
# return data
|
48
|
+
puts "\n+++++++++ returndata output ++++++++++++++++"
|
49
|
+
puts "Return...#{zzbinary.returndata.myOut}"
|
50
|
+
|
51
|
+
# verify
|
52
|
+
self.match_value(__method__,__LINE__,'myOut',mybin.to_s(16).upcase,zzbinary.returndata.myOut.to_s)
|
53
|
+
end
|
54
|
+
|
55
|
+
# -------------------------------
|
56
|
+
# non-test functions (no prefix test_)
|
57
|
+
# -------------------------------
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# File: test_60710_DriverSH.rb
|
2
|
+
require "../test_authorization/auth"
|
3
|
+
require "../test_data/rowcol"
|
4
|
+
|
5
|
+
class Test_60710_DriverSH < RowColUnitTest
|
6
|
+
# -------------------------------
|
7
|
+
# test functions (start with prefix test_)
|
8
|
+
# rake test -- Unit run alpha sort order
|
9
|
+
# run #1) test_0000_connect
|
10
|
+
# run #2) test_nnnn_xxx
|
11
|
+
# :
|
12
|
+
# run #n) test_9999_close
|
13
|
+
# -------------------------------
|
14
|
+
|
15
|
+
def test_0020_sh_system_wrksysval
|
16
|
+
# ***************************************
|
17
|
+
# * PASE shell utility system - WRKSYSVAL
|
18
|
+
# ***************************************
|
19
|
+
wrksysval = XMLService::I_SH.new("system -i 'WRKSYSVAL OUTPUT(*PRINT)'")
|
20
|
+
# call IBM i
|
21
|
+
wrksysval.xmlservice
|
22
|
+
|
23
|
+
# inspect
|
24
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
25
|
+
puts wrksysval.dump_inspect
|
26
|
+
|
27
|
+
# output
|
28
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
29
|
+
# puts wrksysval.response.output.class.name
|
30
|
+
output = wrksysval.response.output
|
31
|
+
puts output
|
32
|
+
|
33
|
+
# verify
|
34
|
+
must = "E N D O F L I S T I N G"
|
35
|
+
ok = output.include? must
|
36
|
+
self.match_value(__method__,__LINE__,"E N D",must,output)
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def test_0030_sh_system_dsplibl
|
41
|
+
# ***************************************
|
42
|
+
# * PASE shell utility system - dsplibl
|
43
|
+
# ***************************************
|
44
|
+
dsplibl = XMLService::I_SH.new("system -i 'dsplibl OUTPUT(*PRINT)'", {'rows'=>'on'})
|
45
|
+
for i in 0..5
|
46
|
+
# call IBM i
|
47
|
+
dsplibl.xmlservice
|
48
|
+
|
49
|
+
# inspect
|
50
|
+
puts "\n+++++++++ dump_inspect ++++++++++++++++"
|
51
|
+
puts dsplibl.dump_inspect
|
52
|
+
|
53
|
+
# output
|
54
|
+
# puts dsplibl.out_xml
|
55
|
+
# puts dsplibl.response.output.class.name
|
56
|
+
puts "\n+++++++++ response output ++++++++++++++++"
|
57
|
+
output = dsplibl.response.output
|
58
|
+
for i in 0..output.count-1
|
59
|
+
puts "line #{i}: #{output[i]}"
|
60
|
+
end
|
61
|
+
|
62
|
+
# verify
|
63
|
+
must = "E N D O F L I S T I N G"
|
64
|
+
ok = output.include? must
|
65
|
+
self.match_value(__method__,__LINE__,"E N D",must,output)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# -------------------------------
|
70
|
+
# non-test functions (no prefix test_)
|
71
|
+
# -------------------------------
|
72
|
+
|
73
|
+
end
|