testdata 1.1.3 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4d3c6fd4a2e6594a65a85e601675c3d4f3749a48
4
- data.tar.gz: 152a3fe440519b08c247dc4c748c768947c8c70f
2
+ SHA256:
3
+ metadata.gz: 7cf7b1c61241032094b96f7dd7b35451a0ea5d6adbd8a82301dc7205a15279ae
4
+ data.tar.gz: 9dd7d90fde6a9b3287eeaf52d142300feeb6dff1c650221fabed4129f92b0ffa
5
5
  SHA512:
6
- metadata.gz: 0e50a4201efc9da1c1318d1693bdd6aa34b4104ce5575907c195b089460244b79d0473b896f4043169b2e23ea8417f8ae77470ff253a14a782dd7c5fe597894f
7
- data.tar.gz: 1aacc347da99e9b337015b4bef347f517540ebe8b1cba0fc4734e46a890dc0a0cac0b5847697cf421c14dd47bfffc334e538261f0da35ea121a973f15b9557f1
6
+ metadata.gz: b075f26248e733a201a4f30f0812b54540c5233625039dd4a8e376d20b0968da2758b63d686c7574e1eb53d815a19bad9504734a3e38ce447cf0f8658de04d8b
7
+ data.tar.gz: 756309f4520e95053f0dd45ab1b6e659682a20435768c21a225f5382328be1b8787bc1ac5a83f638646c3246fe7d4274ef219be6d73555436a395d04ec081528
@@ -1 +1,6 @@
1
- H���G�wE_��C["���Q裴ƒJW=p��d5�;��3,y�r�>5��"fC�?ѓt �MW8>��U�<u�G�v�n&����= ^���w�%ܠ��M�i��I0�^ �WaWCSл���l��J��Oc"�E`��V��?�i��җsꃅ98̓<�z@�K}��"K�a�8=�'�����t��QK*�}.���8C�%�vx�<��A�~�U}��b���.Yi��Y"6�ʦ�y����L�j�6��
1
+ e
2
+ ÿ|��ݨI�iK���g�]����*f��w�qy�WȬh*ĥn�_�� =�5ƅYe�����ı�a�ݶ[vǝ��,.�a�J�'
3
+ ����iI?ҳ<>��R��"�c� R��#�� д�Tja��
4
+ n�[��3g�{�a�h���F5PU�ف��H���Qy��`� ���>�:�zJC]iLIvf#�N��_�j��f� � �����*
5
+ �Jn'��^�6�8��?��Ѱͱ��tj��L��9�\��%����c%u/���X��
6
+ �yٮ1��UK��>Iq���F`�� �.�~ߗ��`��]ٮ̀� ��w=L�!�M3uf�*1��ā�C���fy,�gG���s������c��Q8��~�L�m
data.tar.gz.sig CHANGED
Binary file
@@ -6,6 +6,7 @@ require 'app-routes'
6
6
  require 'testdata_text'
7
7
  require 'diffy'
8
8
  require 'polyrex'
9
+ require 'yaml'
9
10
 
10
11
 
11
12
  class TestdataException < Exception
@@ -54,6 +55,15 @@ module Testdata
54
55
 
55
56
  def run(raw_x=nil, debug2=nil)
56
57
 
58
+ # verify the document has unique path numbers
59
+
60
+ a = @doc.root.xpath('records/test/summary/path/text()')
61
+ duplicates = a.select{ |e| a.count(e) > 1 }.uniq
62
+
63
+ if duplicates.any? then
64
+ raise 'Duplicate path found. Path: ' + duplicates.inspect
65
+ end
66
+
57
67
  @debug2 = debug2 ? true : false
58
68
  @success = []
59
69
 
@@ -63,8 +73,9 @@ module Testdata
63
73
  else
64
74
  raw_x
65
75
  end
66
-
67
- procs = {NilClass: :test_all, Range: :test_range, String: :test_id, Fixnum: :test_id}
76
+
77
+ procs = {NilClass: :test_all, Range: :test_range, String: :test_id,
78
+ Integer: :test_id, Fixnum: :test_id}
68
79
 
69
80
  method(procs[x.class.to_s.to_sym]).call(x)
70
81
  summary()
@@ -73,26 +84,24 @@ module Testdata
73
84
  private
74
85
 
75
86
  def testdata_values(id)
76
-
77
- node = @doc.root.element "records/test[summary/path='#{id}']"
78
87
 
88
+ node = @doc.root.element "records/test[summary/path='#{id}']"
79
89
  raise TestdataException, "Path error: node title not found" unless node
80
90
 
81
91
  path_no = node.text('summary/path')
82
- #puts 'path_no : ' + path_no.inspect
92
+
83
93
  input_summary = node.element 'records/input/summary'
84
94
  input_summary.delete 'schema | format_mask | recordx_type'
85
95
 
86
- #puts 'node : ' + node.xml.inspect
87
96
  input_nodes = input_summary.xpath('*') #[1..-1]
88
- #puts 'input:nodes : ' + input_nodes.inspect
89
- input_values = input_nodes.map{|x| x.texts.join.strip} + []
90
-
97
+ input_values = input_nodes.map{|x| x.texts.map(&:unescape).join.strip}
91
98
  input_names = input_nodes.map(&:name)
99
+
92
100
  raise TestdataException, 'inputs not found' if input_values.empty? \
93
101
  or input_names.empty?
94
102
 
95
103
  summary = node.element 'summary'
104
+
96
105
  type, desc = summary.text('type'), summary.text('description')
97
106
 
98
107
  output_summary = node.element 'records/output/summary'
@@ -109,12 +118,25 @@ module Testdata
109
118
  x ||=(0..-1)
110
119
 
111
120
  break_on_fail = @doc.root.element('summary/break_on_fail/text()') == 'true'
121
+
122
+ test_id = nil
112
123
 
113
- @doc.root.xpath("records/test/summary/path/text()")[x].each do |id|
124
+ begin
125
+
126
+ @doc.root.xpath("records/test/summary/path/text()")[x].each do |id|
127
+
128
+ test_id = id
129
+ puts 'testing id: ' + id.inspect
130
+ result = test_id(id)
131
+ break if result == false and break_on_fail
132
+
133
+ end
134
+
135
+ rescue
114
136
 
115
- result = test_id(id)
116
- break if result == false and break_on_fail
137
+ @success << [false, test_id.to_i]
117
138
  end
139
+
118
140
 
119
141
  end
120
142
 
@@ -124,6 +146,7 @@ module Testdata
124
146
  path_no, inputs, input_names, type, expected, @desc =
125
147
  testdata_values(id.to_s)
126
148
  @inputs = inputs
149
+
127
150
  tests() # load the routes
128
151
 
129
152
  raw_actual = run_route type
@@ -182,7 +205,7 @@ module Testdata
182
205
  end
183
206
 
184
207
  def read_rdx(buffer)
185
-
208
+ puts 'inside read_rdf: buffer: ' + buffer.inspect
186
209
  dx = Dynarex.new
187
210
  dx.import buffer
188
211
 
@@ -207,7 +230,8 @@ module Testdata
207
230
 
208
231
  px.create.test(path: (i+1).to_s, type: dx.test_type) do |create|
209
232
 
210
- raw_inputs.each do |fld_in|
233
+ raw_inputs.each do |fld_in|
234
+
211
235
  create.input(fld_in[0..-4].to_sym => \
212
236
  x.method(fld_in.to_sym).call)
213
237
  end
@@ -241,6 +265,7 @@ module Testdata
241
265
  end
242
266
 
243
267
  def read_td(buffer)
268
+ puts 'buffer: ' + buffer
244
269
  TestdataText.parse buffer
245
270
  end
246
271
 
@@ -318,4 +343,4 @@ end
318
343
 
319
344
  end
320
345
  end
321
- end
346
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testdata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MDQyMTE0MTIzOFoXDTE2MDQyMDE0MTIzOFowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMI2Oql7fgt0mjVZtw72s7VNp6PmRwScvBTJWR9CjFuFZWbiybNpiifrbTeu
19
- blyAE5Zr1t0MksTgJq+4WRn3W7fim1y5lXn5SYqgndlLN856i4uAP7/JXlimgJIT
20
- kuyry5VW8VFaTJ9nn2uX3Fop2y7JmjzvbEK7Offg/J6nMYL67//yqm2xTB9zZMWv
21
- RT6sf7uoearzglGslgPVBoRG6+mTvRyBz+xSoCVuw/JiCFPLYqvN7k/sCOhuid52
22
- FEYJ+GRGsosd6kKb2ixvTEccSRkxSNHq9y3gFmytIVRmi/6XAyYebY+7+mA/nAJ6
23
- qCeRzFMOnFsGKw+j8Lh0QYuNme0CAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUt9+SN/T/coeH5PxjhwR6l4KAFmQwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAMH16aeYx
27
- rrgyj3zo6Wr3uQq31piNYyQr7XiErh1h9Hn2i3rXIglJ4ITRQQsE5AWQPHYwlYLH
28
- WJzt/hus/PhZPFDAwUX1E2xvXBYXFrePsMFtLY4/F9jWKCGdFIwvF/1vXa/xoinI
29
- 1I8hGkW9IN3qm/A4sl0nTjzhbE0gya/DgPWjSoK6bg8NQpaSWEoCHM2GkHDav3n5
30
- kke1y4MIFJ5x/WJVA1a1rD/KHPWpbVhpzv6gWAX7Q+HXooq+RRdQas6u/SIyuq/g
31
- OER61xm4PXti/ej9K/nvEIwOfuMNhq+yrO8pETyuCV/Gtma9e5tIgCRz7ZUbydZv
32
- r8AWz+GWk3lj5g==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkxMDA3MDk0MTU2WhcN
15
+ MjAxMDA2MDk0MTU2WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC2E/7O
17
+ uQtSwiOjY7M3mU5cZOQeF3mNUXsYF9Sg37oHlh9a960rQ86X/JTNjw/H9GpMwxQA
18
+ bZCEElZUfMFTCQmxK46elKkhd1q4A1vClsYNKGwT85yO619Mqq7W7RzqsyuMN6AC
19
+ EvtUXz3FJ9hXtacFEXdUNMu7zuV+GMfeOXZlsORKGsI5GR9XPQ0GquyZr8sdOJh0
20
+ ijFDX+MPg3R2Px1NHu/iYZZeh/AHmdce4tTbQpqIE+wlc66P2NjOOZ6y3Yc2V/Mc
21
+ XfbQMq02FXwVVX60bTzh6KFvrYifsLQvGdW4TEY0+JOAyTUIO/WxwYDTJ+6suES7
22
+ r9sUEKxzJ6EHmPj3olz+86PwsOySY073euOXA3afBTvYkaVm2WVzUjBTz35+F7pv
23
+ Ov2mmUDkNUUD8ZftL3QZD39SWuR6QK6uBuunhEGTIXLspAMVECTeNpi8wRMafWgE
24
+ dVKiSjRVBBLfW2z1pmVj6U6ZTjKGeznKEG94AcApj8xVMw5sDIidyGxcW5cCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUe5iftB4c
26
+ UGlQ0UyqEkg2Qq02Sn4wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEATciFgyRCUKVEJFrO291gbPIEAkeCsLtCRxB0Qz7R
29
+ Z/7bcVTdrk8/S2VQupuuni8UGeIQuxMTIkoWshCztNrIJ77xxdvk6/WqKqyxeRyZ
30
+ WKp6dPBvK0CXPRnboicdgWyiJZFr8WXGHmJuRG+SIhMPjR552kTpoKuUqf/aMs0q
31
+ krS/PjRP7MX2lCx2ZYi6/CdwyJmI5tO4ffXBNFpfquiwAa/tzPKKpbzEFjuUdTs0
32
+ ByW7I/n/h2fQkhR+/hbzh/xzCuRatkvUkAHmtW1StGSbPn0Hoam6hwWp+NuuUfEU
33
+ tA2AMgGW5/Ft/vBLFyCfMr/9x6QJEW3VtfwqL8zie4jp2sVCrW1gdotA3+4XdaEF
34
+ fUI/y8o+W/4oN7aCyhUzCXTSlGzwEHLqqCYX3DFerUd+mdQhSNLYAQuJtj/4zoNc
35
+ U1Tt/KPr9FeWlvj5ihis4H6UPWZxY2G9k94y2W7ylWkcKNXR8i45F+nCzDL3W0Ll
36
+ Vt/9GDfEI95Jg3QNvXMDdzNf
33
37
  -----END CERTIFICATE-----
34
- date: 2015-07-31 00:00:00.000000000 Z
38
+ date: 2020-09-03 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: app-routes
@@ -42,7 +46,7 @@ dependencies:
42
46
  version: '0.1'
43
47
  - - ">="
44
48
  - !ruby/object:Gem::Version
45
- version: 0.1.18
49
+ version: 0.1.19
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,69 +56,69 @@ dependencies:
52
56
  version: '0.1'
53
57
  - - ">="
54
58
  - !ruby/object:Gem::Version
55
- version: 0.1.18
59
+ version: 0.1.19
56
60
  - !ruby/object:Gem::Dependency
57
61
  name: testdata_text
58
62
  requirement: !ruby/object:Gem::Requirement
59
63
  requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '0.1'
63
64
  - - ">="
64
65
  - !ruby/object:Gem::Version
65
- version: 0.1.8
66
+ version: 0.2.0
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.2'
66
70
  type: :runtime
67
71
  prerelease: false
68
72
  version_requirements: !ruby/object:Gem::Requirement
69
73
  requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: '0.1'
73
74
  - - ">="
74
75
  - !ruby/object:Gem::Version
75
- version: 0.1.8
76
+ version: 0.2.0
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.2'
76
80
  - !ruby/object:Gem::Dependency
77
81
  name: diffy
78
82
  requirement: !ruby/object:Gem::Requirement
79
83
  requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
83
84
  - - ">="
84
85
  - !ruby/object:Gem::Version
85
- version: 3.0.7
86
+ version: 3.4.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.4'
86
90
  type: :runtime
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
93
  requirements:
90
- - - "~>"
91
- - !ruby/object:Gem::Version
92
- version: '3.0'
93
94
  - - ">="
94
95
  - !ruby/object:Gem::Version
95
- version: 3.0.7
96
+ version: 3.4.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '3.4'
96
100
  - !ruby/object:Gem::Dependency
97
101
  name: polyrex
98
102
  requirement: !ruby/object:Gem::Requirement
99
103
  requirements:
100
104
  - - "~>"
101
105
  - !ruby/object:Gem::Version
102
- version: '1.0'
106
+ version: '1.3'
103
107
  - - ">="
104
108
  - !ruby/object:Gem::Version
105
- version: 1.0.6
109
+ version: 1.3.1
106
110
  type: :runtime
107
111
  prerelease: false
108
112
  version_requirements: !ruby/object:Gem::Requirement
109
113
  requirements:
110
114
  - - "~>"
111
115
  - !ruby/object:Gem::Version
112
- version: '1.0'
116
+ version: '1.3'
113
117
  - - ">="
114
118
  - !ruby/object:Gem::Version
115
- version: 1.0.6
119
+ version: 1.3.1
116
120
  description:
117
- email: james@r0bertson.co.uk
121
+ email: james@jamesrobertson.eu
118
122
  executables: []
119
123
  extensions: []
120
124
  extra_rdoc_files: []
@@ -139,9 +143,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
143
  - !ruby/object:Gem::Version
140
144
  version: '0'
141
145
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.4.8
146
+ rubygems_version: 3.0.3
144
147
  signing_key:
145
148
  specification_version: 4
146
- summary: testdata
149
+ summary: A test framework which accepts test data in a Polyrex format.
147
150
  test_files: []
metadata.gz.sig CHANGED
Binary file