da_funk 3.30.0 → 3.34.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.
- checksums.yaml +4 -4
- data/Gemfile +10 -1
- data/Gemfile.lock +12 -2
- data/README.md +0 -0
- data/README_GUIDE.md +0 -0
- data/RELEASE_NOTES.md +27 -0
- data/Rakefile +14 -0
- data/guides/sample_input_output.rb +0 -0
- data/guides/sample_message_iso8583.rb +0 -0
- data/guides/sample_network_gprs.rb +0 -0
- data/guides/sample_read_magnect_card.rb +0 -0
- data/guides/sample_socket.rb +0 -0
- data/guides/sample_transaction.rb +0 -0
- data/guides/sample_transaction_download_application.rb +0 -0
- data/guides/sample_transaction_download_file.rb +0 -0
- data/guides/sample_transaction_download_parameter_file.rb +0 -0
- data/lib/da_funk/connection_management.rb +25 -10
- data/lib/da_funk/event_handler.rb +1 -1
- data/lib/da_funk/helper.rb +55 -16
- data/lib/da_funk/helper/status_bar.rb +158 -105
- data/lib/da_funk/params_dat.rb +65 -25
- data/lib/da_funk/rake_task.rb +13 -6
- data/lib/da_funk/transaction/download.rb +0 -0
- data/lib/da_funk/transaction/iso.rb +0 -0
- data/lib/da_funk/version.rb +1 -1
- data/lib/device.rb +0 -0
- data/lib/device/crypto.rb +0 -0
- data/lib/device/display.rb +2 -1
- data/lib/device/io.rb +53 -0
- data/lib/device/network.rb +19 -33
- data/lib/device/printer.rb +0 -0
- data/lib/device/setting.rb +0 -0
- data/lib/device/system.rb +9 -0
- data/lib/device/version.rb +0 -0
- data/lib/device/virtual_keyboard.rb +81 -34
- data/lib/file_db.rb +0 -0
- data/lib/iso8583/bitmap.rb +94 -54
- data/lib/iso8583/codec.rb +3 -3
- data/lib/iso8583/field.rb +38 -3
- data/lib/iso8583/fields.rb +3 -1
- data/lib/iso8583/message.rb +25 -12
- data/lib/iso8583/util.rb +1 -1
- data/test/iso8583/bitmap_test.rb +277 -0
- data/test/iso8583/message_test.rb +111 -0
- data/test/iso8583/minitest_helper.rb +11 -0
- metadata +12 -6
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
require_relative 'minitest_helper'
|
|
2
|
+
|
|
3
|
+
module ISO8583
|
|
4
|
+
class TestMTIMessage < Message
|
|
5
|
+
mti_format N, length: 4
|
|
6
|
+
mti 100, "Test Authorization"
|
|
7
|
+
|
|
8
|
+
bmp 2, "foo", ANS, length: 3
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class TestMTIMessageBCDPacked < Message
|
|
12
|
+
mti_format N_BCD, length: 4
|
|
13
|
+
mti 100, "Test Authorization"
|
|
14
|
+
|
|
15
|
+
bmp 2, "foo", ANS, length: 3
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class TestNoMTIMessage < Message
|
|
19
|
+
bmp 2, "foo", ANS, length: 3
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class TestMessageInitialization < Minitest::Test
|
|
23
|
+
def test_ignore_mti_field_set
|
|
24
|
+
msg = TestNoMTIMessage.new(nil, true, true)
|
|
25
|
+
assert_equal true, msg.ignore_mti
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_cant_set_mit_if_ignore_mti
|
|
29
|
+
msg = TestNoMTIMessage.new(nil, true, true)
|
|
30
|
+
assert_raises { msg.mti = 100 }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_can_set_mti_unless_ignore_mti
|
|
34
|
+
msg = TestMTIMessage.new(100, true)
|
|
35
|
+
|
|
36
|
+
assert_equal 100, msg.mti
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_set_mti_bcd_packed_bin_bitmap
|
|
40
|
+
msg = TestMTIMessageBCDPacked.new(100, false)
|
|
41
|
+
|
|
42
|
+
expected = String.new("\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", encoding: 'ASCII-8BIT')
|
|
43
|
+
assert_equal expected, msg.to_b
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
class Test_to_b_Method < Minitest::Test
|
|
48
|
+
def test_raises_when_no_mti_and_no_ignore_mti
|
|
49
|
+
msg = TestMTIMessage.new(nil, true)
|
|
50
|
+
assert_raises {msg.to_b}
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_return_bitmap_without_mti_set_and_hex_bitmap
|
|
54
|
+
msg = TestNoMTIMessage.new(nil, true, true, 24)
|
|
55
|
+
msg[2] = "bar"
|
|
56
|
+
assert_equal("400000bar", msg.to_b)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_return_bitmap_without_mti_set_and_bin_bitmap
|
|
60
|
+
msg = TestNoMTIMessage.new(nil, false, true, 24)
|
|
61
|
+
msg[2] = "bar"
|
|
62
|
+
|
|
63
|
+
expected = String.new("\x40\x00\x00bar", encoding: 'ASCII-8BIT')
|
|
64
|
+
assert_equal(expected, msg.to_b)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
class Test_parse_Method < Minitest::Test
|
|
69
|
+
|
|
70
|
+
def test_parse_with_hex_bitmap
|
|
71
|
+
msg = "010040bar"
|
|
72
|
+
|
|
73
|
+
isomsg = TestMTIMessage.parse(msg, true, 8)
|
|
74
|
+
|
|
75
|
+
expected = 100
|
|
76
|
+
assert_equal(expected, isomsg.mti)
|
|
77
|
+
expected = "bar"
|
|
78
|
+
assert_equal(expected, isomsg[2])
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def test_parse_with_bin_bitmap
|
|
82
|
+
msg = "0100\x40bar"
|
|
83
|
+
|
|
84
|
+
isomsg = TestMTIMessage.parse(msg, false, 8)
|
|
85
|
+
|
|
86
|
+
expected = 100
|
|
87
|
+
assert_equal(expected, isomsg.mti)
|
|
88
|
+
expected = "bar"
|
|
89
|
+
assert_equal(expected, isomsg[2])
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def test_parse_raises_when_undefined_field
|
|
93
|
+
msg = "0100\x20bar"
|
|
94
|
+
|
|
95
|
+
e = assert_raises { TestMTIMessage.parse(msg, false, 8) }
|
|
96
|
+
assert_equal(ISO8583ParseException, e.class)
|
|
97
|
+
assert_equal("The message contains fields not defined", e.message)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_parse_raises_when_undefined_field
|
|
101
|
+
msg = "0100\x40\x00\x00\x00\x00\x00\x00\x00bar"
|
|
102
|
+
|
|
103
|
+
isomsg = TestMTIMessage.parse(msg, false)
|
|
104
|
+
|
|
105
|
+
expected = 100
|
|
106
|
+
assert_equal(expected, isomsg.mti)
|
|
107
|
+
expected = "bar"
|
|
108
|
+
assert_equal(expected, isomsg[2])
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
if ENV['COV']
|
|
2
|
+
require 'simplecov'
|
|
3
|
+
SimpleCov.start
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
require 'byebug'
|
|
7
|
+
require 'minitest/autorun'
|
|
8
|
+
PROJECT_ROOT = File.join(File.dirname(File.expand_path(__FILE__)), '..', '..')
|
|
9
|
+
Dir.glob(File.join(PROJECT_ROOT, 'lib', 'iso8583', '**', '*.rb')).each do |file|
|
|
10
|
+
require file
|
|
11
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: da_funk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.34.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thiago Scalone
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -218,6 +218,9 @@ files:
|
|
|
218
218
|
- test/integration/mrb_eval_test.rb
|
|
219
219
|
- test/integration/notification_test.rb
|
|
220
220
|
- test/integration/params_dat_test.rb
|
|
221
|
+
- test/iso8583/bitmap_test.rb
|
|
222
|
+
- test/iso8583/message_test.rb
|
|
223
|
+
- test/iso8583/minitest_helper.rb
|
|
221
224
|
- test/resources/shared/bitmap.dat
|
|
222
225
|
- test/resources/shared/bitmap_gp.dat
|
|
223
226
|
- test/test_helper.rb
|
|
@@ -244,7 +247,7 @@ homepage: http://github.com/cloudwalkio/da_funk
|
|
|
244
247
|
licenses:
|
|
245
248
|
- MIT
|
|
246
249
|
metadata: {}
|
|
247
|
-
post_install_message:
|
|
250
|
+
post_install_message:
|
|
248
251
|
rdoc_options: []
|
|
249
252
|
require_paths:
|
|
250
253
|
- lib
|
|
@@ -259,8 +262,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
259
262
|
- !ruby/object:Gem::Version
|
|
260
263
|
version: '0'
|
|
261
264
|
requirements: []
|
|
262
|
-
rubygems_version: 3.0.
|
|
263
|
-
signing_key:
|
|
265
|
+
rubygems_version: 3.0.0
|
|
266
|
+
signing_key:
|
|
264
267
|
specification_version: 4
|
|
265
268
|
summary: MRuby Embedded System Framework
|
|
266
269
|
test_files:
|
|
@@ -268,6 +271,9 @@ test_files:
|
|
|
268
271
|
- test/integration/mrb_eval_test.rb
|
|
269
272
|
- test/integration/notification_test.rb
|
|
270
273
|
- test/integration/params_dat_test.rb
|
|
274
|
+
- test/iso8583/bitmap_test.rb
|
|
275
|
+
- test/iso8583/message_test.rb
|
|
276
|
+
- test/iso8583/minitest_helper.rb
|
|
271
277
|
- test/resources/shared/bitmap.dat
|
|
272
278
|
- test/resources/shared/bitmap_gp.dat
|
|
273
279
|
- test/test_helper.rb
|