xmlservice 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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