extface 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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