xmlservice 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +19 -0
  3. data/README_IBM_i +62 -0
  4. data/lib/adapters/abstract_adapter.rb +82 -0
  5. data/lib/adapters/db2_adapter.rb +70 -0
  6. data/lib/adapters/rest_adapter.rb +32 -0
  7. data/lib/password/password.rb +229 -0
  8. data/lib/xmlservice.rb +2477 -0
  9. data/test/README_IBM_i +3 -0
  10. data/test/Rakefile +42 -0
  11. data/test/genpassword.rb +111 -0
  12. data/test/test_60000_toolkit_driver/Rakefile +11 -0
  13. data/test/test_60000_toolkit_driver/test_60010_DriverCallPgmZZCALL.rb +403 -0
  14. data/test/test_60000_toolkit_driver/test_60110_DriverCallSrvPgmZZARRAY.rb +149 -0
  15. data/test/test_60000_toolkit_driver/test_60310_DriverCMD.rb +77 -0
  16. data/test/test_60000_toolkit_driver/test_60510_DriverDataQueue.rb +126 -0
  17. data/test/test_60000_toolkit_driver/test_60610_DriverCallSrvPgmZZBINARY.rb +59 -0
  18. data/test/test_60000_toolkit_driver/test_60710_DriverSH.rb +73 -0
  19. data/test/test_60000_toolkit_driver/test_60910_DriverCallPgmZZMISS.rb +44 -0
  20. data/test/test_60000_toolkit_driver/test_65010_DriverCallDB2.rb +265 -0
  21. data/test/test_60000_toolkit_driver/zzassign.rb +66 -0
  22. data/test/test_60000_toolkit_driver/zzquick.rb +149 -0
  23. data/test/test_60000_toolkit_driver/zztestrest.rb +45 -0
  24. data/test/test_60000_toolkit_driver/zzthreadold.rb +78 -0
  25. data/test/test_70000_toolkit_testonly/Rakefile +11 -0
  26. data/test/test_70000_toolkit_testonly/test_70010_DriverCallPgmTestOnly.rb +270 -0
  27. data/test/test_80000_toolkit_dsl/Rakefile +11 -0
  28. data/test/test_80000_toolkit_dsl/test_80010_DSLCallPgmZZCALL.rb +162 -0
  29. data/test/test_80000_toolkit_dsl/test_80110_DSLCallSrvPgmZZARRAY.rb +150 -0
  30. data/test/test_authorization/README_IBM_i +15 -0
  31. data/test/test_authorization/auth.rb +101 -0
  32. data/test/test_authorization/key.yml +2 -0
  33. data/test/test_authorization/password.yml +3 -0
  34. data/test/test_authorization/xmlservice.yml +69 -0
  35. data/test/test_data/rowcol.rb +57 -0
  36. data/version.txt +1 -0
  37. 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