testdata 1.1.3 → 1.1.8

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.
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