extface 0.5.0 → 0.5.1

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/extface/handler_controller.rb +2 -1
  3. data/app/models/extface/driver/daisy_fx1200.rb +13 -6
  4. data/app/models/extface/driver/datecs/fp550.rb +10 -0
  5. data/lib/extface/version.rb +1 -1
  6. data/test/dummy/db/test.sqlite3 +0 -0
  7. data/test/dummy/log/extface/229906743/fp550.log +12 -19
  8. data/test/dummy/log/extface/229906743/fp550.log.20151218 +19 -0
  9. data/test/dummy/log/extface/40760454/daisy_fx1200.log +82 -0
  10. data/test/dummy/log/test.log +3149 -0
  11. data/test/dummy/tmp/cache/assets/test/sprockets/0c28c0bb76182ec308d13c66ec6fda61 +0 -0
  12. data/test/dummy/tmp/cache/assets/test/sprockets/131ba126cbb50b7f5f85d7434f7c28b3 +0 -0
  13. data/test/dummy/tmp/cache/assets/test/sprockets/15e76fa46a3a6e9fd1531a8c87f9754a +0 -0
  14. data/test/dummy/tmp/cache/assets/test/sprockets/186a4774ad51dc6b952364ea2ecc9f10 +0 -0
  15. data/test/dummy/tmp/cache/assets/test/sprockets/2169de77528f685913b8d978a0d49adf +0 -0
  16. data/test/dummy/tmp/cache/assets/test/sprockets/6c907ebc4dfc91ded4c6eb63eaceaced +0 -0
  17. data/test/dummy/tmp/cache/assets/test/sprockets/81686b30268fe172f742337f6436e1a6 +0 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/831e944af1f82a381077fb977a19a6cd +0 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/8aa3dc18b0669349dc82d38659466521 +0 -0
  20. data/test/dummy/tmp/cache/assets/test/sprockets/9ced0eb107fc14e46aeb9b937a532de5 +0 -0
  21. data/test/dummy/tmp/cache/assets/test/sprockets/9e1cee742bc3f459695d6b9e41675708 +0 -0
  22. data/test/dummy/tmp/cache/assets/test/sprockets/ce7a21dec96ce1c6f0f9f380f9e99a6e +0 -0
  23. data/test/dummy/tmp/cache/assets/test/sprockets/d0df4c04576dd7648b6e39e9f96145ae +0 -0
  24. data/test/dummy/tmp/cache/assets/test/sprockets/dd316630a8b1c9b3f9c1abc10a867aa8 +0 -0
  25. data/test/dummy/tmp/cache/assets/test/sprockets/e696ab595fbf956db2bdc4e9093d8f5f +0 -0
  26. data/test/dummy/tmp/cache/assets/test/sprockets/f464488ab7bbe37fa1173adc61121ada +0 -0
  27. data/test/dummy/tmp/cache/assets/test/sprockets/f511fb416ef5d95e616a40da2e91ec11 +0 -0
  28. data/test/dummy/tmp/cache/assets/test/sprockets/f755ad83652a30f284f1f466a41d283d +0 -0
  29. data/test/fixtures/extface/devices.yml +7 -1
  30. data/test/fixtures/extface/drivers.yml +4 -1
  31. data/test/models/extface/driver/daisy_fx1200_test.rb +72 -0
  32. data/test/models/extface/driver/datecs/fp550_test.rb +3 -3
  33. metadata +45 -17
@@ -16,4 +16,10 @@ datecs_fp550:
16
16
  uuid: datecs_fp550
17
17
  name: Datect FP550
18
18
  extfaceable: one(Shop)
19
- driver: datecs_fp550
19
+ driver: datecs_fp550
20
+
21
+ daisy_fx1200:
22
+ uuid: daisy_fx1200
23
+ name: Daisy Fx1200
24
+ extfaceable: one(Shop)
25
+ driver: daisy_fx1200
@@ -10,4 +10,7 @@ star_scp700:
10
10
  type: Extface::Driver::StarScp700
11
11
 
12
12
  datecs_fp550:
13
- type: Extface::Driver::Datecs::Fp550
13
+ type: Extface::Driver::Datecs::Fp550
14
+
15
+ daisy_fx1200:
16
+ type: Extface::Driver::DaisyFx1200
@@ -0,0 +1,72 @@
1
+ require 'test_helper'
2
+
3
+ module Extface
4
+ class Driver::DaisyFx1200Test < ActiveSupport::TestCase
5
+ setup do
6
+ @driver = extface_drivers(:daisy_fx1200)
7
+ @driver.flush # clear receive buffer
8
+ end
9
+
10
+ test "handle" do
11
+ assert_equal nil, @driver.handle('bad packet')
12
+ assert_equal 6, @driver.handle("\x01data\x03data"), "Frame not match"
13
+ assert_equal 9, @driver.handle("pre\x01data\x03data"), "Frame with preamble not match"
14
+ assert_equal 8, @driver.handle("\x16\x16\x01data\x03data"), "Frame with ACK preamble not match"
15
+ assert_equal 4, @driver.handle("pre\x15"), "NAK not match"
16
+ assert_equal 6, @driver.handle("\x01data\x03\x01data\x03"), "Two packets not match only the first"
17
+ end
18
+
19
+ test "response frame" do
20
+ frame_class = @driver.class::RespFrame
21
+ assert frame_class.new("\x15").nak?, "NAK message failed"
22
+ assert frame_class.new("\x16\x16").ack?, "ACK message failed"
23
+ assert_nothing_raised do
24
+ assert_equal false, frame_class.new("bad data\x01\x25\x21\x4asome broken packet\x58\x05\x30\x30\x3e\x3d\x03".b).valid?
25
+ end
26
+ frame = frame_class.new("\x16\x01\x2C\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x39\x03".b)
27
+ assert frame.valid?, "Vailid frame not recognized"
28
+ assert_equal "\x01\x2C\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x39\x03".b, frame.frame
29
+ assert_equal "\x2c".b, frame.len
30
+ assert_equal "\x2f".b, frame.seq
31
+ assert_equal "\x2d".b, frame.cmd
32
+ assert_equal "\x50".b, frame.data
33
+ assert_equal "\x88\x80\xC0\x80\x80\xB0".b, frame.status
34
+ assert_equal "\x30\x34\x35\x39".b, frame.bcc
35
+ #bad check sum
36
+ frame = frame_class.new("\x01\x2C\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x38\x03".b)
37
+ assert_equal false, frame.valid?
38
+ assert frame.errors.messages[:bcc]
39
+ #bad length
40
+ frame = frame_class.new("\x01\x2b\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x38\x03".b)
41
+ assert_equal false, frame.valid?
42
+ assert frame.errors.messages[:len]
43
+ end
44
+
45
+ test "fsend" do
46
+ job = extface_jobs(:one)
47
+ job_thread = Thread.new do
48
+ @driver.set_job(job)
49
+ result = @driver.fsend(0x2C) # paper move command
50
+ end
51
+ simulate_device_pull(job)
52
+ @driver.handle("\x01\x31\x20\x4A\x88\x80\xC0\x80\x80\xB8\x04\x88\x80\xC0\x80\x80\xB8\x05\x30\x37\x3A\x34\x03\x01\x31\x20\x4A\x88\x80\xC0\x80\x80\xB8\x04\x88\x80\xC0\x80\x80\xB8\x05\x30\x37\x3A\x34\x03".b)
53
+ simulate_device_pull(job)
54
+ @driver.handle("\x01\x38\x21\x30\x30\x30\x30\x30\x35\x30\x2C\x30\x30\x30\x30\x34\x39\x04\x80\x80\x88\x80\x80\xB8\x05\x30\x36\x35\x30\x03".b)
55
+ job_thread.join
56
+ assert @driver.errors.empty?
57
+ end
58
+ end
59
+ end
60
+
61
+ =begin production bug
62
+ D, [2015-12-19T03:17:06.320883 #7496] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
63
+ D, [2015-12-19T03:17:08.687275 #9818] DEBUG -- : <-- 01 31 20 4A 88 80 C0 80 80 B8 04 88 80 C0 80 80 B8 05 30 37 3A 34 03 01 31 20 4A 88 80 C0 80 80 B8 04 88 80 C0 80 80 B8 05 30 37 3A 34 03
64
+ D, [2015-12-19T03:17:08.730121 #7496] DEBUG -- : --> 01 2D 21 30 31 2C 31 2C 30 30 30 30 31 05 30 32 32 3E 03
65
+ D, [2015-12-19T03:17:08.868456 #9818] DEBUG -- : <-- 01 31 20 4A 88 80 C0 80 80 B8 04 88 80 C0 80 80 B8 05 30 37 3A 34 03 01 38 21 30 30 30 30 30 35 30 2C 30 30 30 30 34 39 04 80 80 88 80 80 B8 05 30 36 35 30 03
66
+ D, [2015-12-19T03:17:10.452179 #7662] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
67
+ D, [2015-12-19T03:17:14.058523 #7864] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
68
+ D, [2015-12-19T03:17:20.461714 #7662] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
69
+ D, [2015-12-19T03:17:24.051068 #7864] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
70
+ D, [2015-12-19T03:17:30.463707 #7662] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
71
+ D, [2015-12-19T03:17:34.054570 #7864] DEBUG -- : --> 01 24 20 4A 05 30 30 39 33 03
72
+ =end
@@ -11,7 +11,7 @@ module Extface
11
11
  assert_equal nil, @driver.handle('bad packet')
12
12
  assert_equal 6, @driver.handle("\x01data\x03data"), "Frame not match"
13
13
  assert_equal 9, @driver.handle("pre\x01data\x03data"), "Frame with preamble not match"
14
- assert_equal 1, @driver.handle("\x16\x16\x01data\x03data"), "Frame with ACK preamble not match"
14
+ assert_equal 8, @driver.handle("\x16\x16\x01data\x03data"), "Frame with ACK preamble not match"
15
15
  assert_equal 4, @driver.handle("pre\x15"), "NAK not match"
16
16
  end
17
17
 
@@ -53,9 +53,9 @@ module Extface
53
53
  result = @driver.fsend(0x2C) # paper move command
54
54
  end
55
55
  simulate_device_pull(job)
56
- @driver.handle("\x01\x2C\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x39\x03".b)
56
+ @driver.handle("\x01\x31\x20\x4A\x88\x80\xC0\x80\x80\xB8\x04\x88\x80\xC0\x80\x80\xB8\x05\x30\x37\x3A\x34\x03".b)
57
57
  simulate_device_pull(job)
58
- @driver.handle("\x01\x2C\x2F\x2D\x50\x04\x88\x80\xC0\x80\x80\xB0\x05\x30\x34\x35\x39\x03".b)
58
+ @driver.handle("\x01\x38\x21\x30\x30\x30\x30\x30\x35\x30\x2C\x30\x30\x30\x30\x34\x39\x04\x80\x80\x88\x80\x80\xB8\x05\x30\x36\x35\x30\x03".b)
59
59
  job_thread.join
60
60
  assert @driver.errors.empty?
61
61
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Vangelov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-27 00:00:00.000000000 Z
11
+ date: 2015-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.0.5
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 4.0.5
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: redis
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -204,11 +190,31 @@ files:
204
190
  - test/dummy/log/extface/229906743/fp550.log
205
191
  - test/dummy/log/extface/229906743/fp550.log.20150519
206
192
  - test/dummy/log/extface/229906743/fp550.log.20150819
193
+ - test/dummy/log/extface/229906743/fp550.log.20151218
194
+ - test/dummy/log/extface/40760454/daisy_fx1200.log
207
195
  - test/dummy/log/test.log
208
196
  - test/dummy/public/404.html
209
197
  - test/dummy/public/422.html
210
198
  - test/dummy/public/500.html
211
199
  - test/dummy/public/favicon.ico
200
+ - test/dummy/tmp/cache/assets/test/sprockets/0c28c0bb76182ec308d13c66ec6fda61
201
+ - test/dummy/tmp/cache/assets/test/sprockets/131ba126cbb50b7f5f85d7434f7c28b3
202
+ - test/dummy/tmp/cache/assets/test/sprockets/15e76fa46a3a6e9fd1531a8c87f9754a
203
+ - test/dummy/tmp/cache/assets/test/sprockets/186a4774ad51dc6b952364ea2ecc9f10
204
+ - test/dummy/tmp/cache/assets/test/sprockets/2169de77528f685913b8d978a0d49adf
205
+ - test/dummy/tmp/cache/assets/test/sprockets/6c907ebc4dfc91ded4c6eb63eaceaced
206
+ - test/dummy/tmp/cache/assets/test/sprockets/81686b30268fe172f742337f6436e1a6
207
+ - test/dummy/tmp/cache/assets/test/sprockets/831e944af1f82a381077fb977a19a6cd
208
+ - test/dummy/tmp/cache/assets/test/sprockets/8aa3dc18b0669349dc82d38659466521
209
+ - test/dummy/tmp/cache/assets/test/sprockets/9ced0eb107fc14e46aeb9b937a532de5
210
+ - test/dummy/tmp/cache/assets/test/sprockets/9e1cee742bc3f459695d6b9e41675708
211
+ - test/dummy/tmp/cache/assets/test/sprockets/ce7a21dec96ce1c6f0f9f380f9e99a6e
212
+ - test/dummy/tmp/cache/assets/test/sprockets/d0df4c04576dd7648b6e39e9f96145ae
213
+ - test/dummy/tmp/cache/assets/test/sprockets/dd316630a8b1c9b3f9c1abc10a867aa8
214
+ - test/dummy/tmp/cache/assets/test/sprockets/e696ab595fbf956db2bdc4e9093d8f5f
215
+ - test/dummy/tmp/cache/assets/test/sprockets/f464488ab7bbe37fa1173adc61121ada
216
+ - test/dummy/tmp/cache/assets/test/sprockets/f511fb416ef5d95e616a40da2e91ec11
217
+ - test/dummy/tmp/cache/assets/test/sprockets/f755ad83652a30f284f1f466a41d283d
212
218
  - test/extface_test.rb
213
219
  - test/fixtures/extface/devices.yml
214
220
  - test/fixtures/extface/drivers.yml
@@ -221,6 +227,7 @@ files:
221
227
  - test/integration/navigation_test.rb
222
228
  - test/lib/generators/extface/driver_generator_test.rb
223
229
  - test/models/extface/device_test.rb
230
+ - test/models/extface/driver/daisy_fx1200_test.rb
224
231
  - test/models/extface/driver/datecs/fp550_test.rb
225
232
  - test/models/extface/driver/generic_pos_test.rb
226
233
  - test/models/extface/driver/star_scp700_test.rb
@@ -248,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
255
  version: '0'
249
256
  requirements: []
250
257
  rubyforge_project:
251
- rubygems_version: 2.4.6
258
+ rubygems_version: 2.5.0
252
259
  signing_key:
253
260
  specification_version: 4
254
261
  summary: External Interfaces for Cloud-Based Applications (Rails 4)
@@ -262,10 +269,30 @@ test_files:
262
269
  - test/test_helper.rb
263
270
  - test/controllers/extface/devices_controller_test.rb
264
271
  - test/controllers/extface/jobs_controller_test.rb
272
+ - test/dummy/tmp/cache/assets/test/sprockets/d0df4c04576dd7648b6e39e9f96145ae
273
+ - test/dummy/tmp/cache/assets/test/sprockets/f755ad83652a30f284f1f466a41d283d
274
+ - test/dummy/tmp/cache/assets/test/sprockets/dd316630a8b1c9b3f9c1abc10a867aa8
275
+ - test/dummy/tmp/cache/assets/test/sprockets/81686b30268fe172f742337f6436e1a6
276
+ - test/dummy/tmp/cache/assets/test/sprockets/9e1cee742bc3f459695d6b9e41675708
277
+ - test/dummy/tmp/cache/assets/test/sprockets/f464488ab7bbe37fa1173adc61121ada
278
+ - test/dummy/tmp/cache/assets/test/sprockets/9ced0eb107fc14e46aeb9b937a532de5
279
+ - test/dummy/tmp/cache/assets/test/sprockets/8aa3dc18b0669349dc82d38659466521
280
+ - test/dummy/tmp/cache/assets/test/sprockets/ce7a21dec96ce1c6f0f9f380f9e99a6e
281
+ - test/dummy/tmp/cache/assets/test/sprockets/186a4774ad51dc6b952364ea2ecc9f10
282
+ - test/dummy/tmp/cache/assets/test/sprockets/15e76fa46a3a6e9fd1531a8c87f9754a
283
+ - test/dummy/tmp/cache/assets/test/sprockets/6c907ebc4dfc91ded4c6eb63eaceaced
284
+ - test/dummy/tmp/cache/assets/test/sprockets/0c28c0bb76182ec308d13c66ec6fda61
285
+ - test/dummy/tmp/cache/assets/test/sprockets/2169de77528f685913b8d978a0d49adf
286
+ - test/dummy/tmp/cache/assets/test/sprockets/831e944af1f82a381077fb977a19a6cd
287
+ - test/dummy/tmp/cache/assets/test/sprockets/131ba126cbb50b7f5f85d7434f7c28b3
288
+ - test/dummy/tmp/cache/assets/test/sprockets/f511fb416ef5d95e616a40da2e91ec11
289
+ - test/dummy/tmp/cache/assets/test/sprockets/e696ab595fbf956db2bdc4e9093d8f5f
265
290
  - test/dummy/config.ru
291
+ - test/dummy/log/extface/40760454/daisy_fx1200.log
266
292
  - test/dummy/log/extface/229906743/fp550.log.20150819
267
293
  - test/dummy/log/extface/229906743/fp550.log.20150519
268
294
  - test/dummy/log/extface/229906743/fp550.log
295
+ - test/dummy/log/extface/229906743/fp550.log.20151218
269
296
  - test/dummy/log/test.log
270
297
  - test/dummy/db/migrate/20140221203517_create_shops.rb
271
298
  - test/dummy/db/test.sqlite3
@@ -309,6 +336,7 @@ test_files:
309
336
  - test/models/extface/job_test.rb
310
337
  - test/models/extface/driver/generic_pos_test.rb
311
338
  - test/models/extface/driver/star_scp700_test.rb
339
+ - test/models/extface/driver/daisy_fx1200_test.rb
312
340
  - test/models/extface/driver/star_tsp200_test.rb
313
341
  - test/models/extface/driver/datecs/fp550_test.rb
314
342
  - test/models/extface/serial_config_test.rb