xmlconv 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -0
  3. data/History.txt +8 -0
  4. data/README.txt +0 -4
  5. data/Rakefile +16 -32
  6. data/bin/migrate_xmlconv_to_utf_8 +235 -0
  7. data/bin/{admin → xmlconv_admin} +0 -0
  8. data/bin/xmlconvd +3 -1
  9. data/converter_scripts/convert.rb +23 -0
  10. data/{xmlconv_convert.rb → converter_scripts/xmlconv_convert.rb} +0 -0
  11. data/lib/xmlconv/config.rb +6 -0
  12. data/lib/xmlconv/custom/lookandfeel.rb +1 -1
  13. data/lib/xmlconv/i2/header.rb +5 -3
  14. data/lib/xmlconv/i2/position.rb +3 -2
  15. data/lib/xmlconv/util/application.rb +9 -6
  16. data/lib/xmlconv/util/destination.rb +11 -6
  17. data/lib/xmlconv/util/mail.rb +26 -14
  18. data/lib/xmlconv/util/transaction.rb +3 -1
  19. data/lib/xmlconv/version.rb +3 -0
  20. data/readme.md +46 -0
  21. data/test/data/polling.yaml +10 -0
  22. data/test/test_i2/address.rb +2 -2
  23. data/test/test_i2/date.rb +2 -2
  24. data/test/test_i2/document.rb +12 -22
  25. data/test/test_i2/header.rb +2 -2
  26. data/test/test_i2/order.rb +18 -32
  27. data/test/test_i2/parser.rb +4 -3
  28. data/test/test_i2/position.rb +9 -23
  29. data/test/test_model/address.rb +2 -2
  30. data/test/test_model/agreement.rb +2 -2
  31. data/test/test_model/bdd.rb +8 -9
  32. data/test/test_model/bsr.rb +6 -7
  33. data/test/test_model/delivery.rb +11 -15
  34. data/test/test_model/delivery_item.rb +5 -5
  35. data/test/test_model/freetext_container.rb +3 -3
  36. data/test/test_model/invoice.rb +8 -11
  37. data/test/test_model/invoice_item.rb +5 -4
  38. data/test/test_model/name.rb +2 -2
  39. data/test/test_model/part_info.rb +2 -2
  40. data/test/test_model/party.rb +16 -22
  41. data/test/test_model/price.rb +2 -2
  42. data/test/test_util/application.rb +36 -86
  43. data/test/test_util/destination.rb +11 -19
  44. data/test/test_util/invoicer.rb +3 -3
  45. data/test/test_util/polling_manager.rb +11 -11
  46. data/test/test_util/transaction.rb +31 -55
  47. data/xmlconv.gemspec +45 -0
  48. metadata +378 -78
  49. data/.gemtest +0 -0
  50. data/lib/xmlconv/i2/parser.rb +0 -23
  51. data/lib/xmlconv.rb +0 -3
  52. data/test/mock.rb +0 -149
@@ -4,18 +4,13 @@
4
4
  $: << File.expand_path('..', File.dirname(__FILE__))
5
5
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
6
6
 
7
- require 'test/unit'
8
7
  require 'xmlconv/model/party'
9
- require 'mock'
8
+ require "minitest/autorun"
9
+ require 'flexmock/minitest'
10
10
 
11
11
  module XmlConv
12
12
  module Model
13
- class TestParty < Test::Unit::TestCase
14
- class ToSMock < Mock
15
- def to_s
16
- true
17
- end
18
- end
13
+ class TestParty < Minitest::Test
19
14
  def setup
20
15
  @party = Party.new
21
16
  end
@@ -40,19 +35,19 @@ module XmlConv
40
35
  assert_equal('id_string', @party.acc_id)
41
36
  end
42
37
  def test_add_party
43
- employee = Mock.new('Employee')
44
- employee.__next(:role) { 'Employee' }
38
+ employee = flexmock('Employee')
39
+ employee.should_receive(:role).at_least.once.and_return('Employee')
45
40
  @party.add_party(employee)
46
41
  assert_equal(employee, @party.employee)
47
42
  assert_equal([employee], @party.parties)
48
- ship_to = Mock.new('ShipTo')
49
- ship_to.__next(:role) { 'ShipTo' }
43
+ ship_to = flexmock('ShipTo')
44
+ ship_to.should_receive(:role).at_least.once.and_return('ShipTo')
50
45
  @party.add_party(ship_to)
51
46
  assert_equal(employee, @party.employee)
52
47
  assert_equal(ship_to, @party.ship_to)
53
48
  assert_equal([employee, ship_to], @party.parties)
54
- bill_to = Mock.new('BillTo')
55
- bill_to.__next(:role) { 'BillTo' }
49
+ bill_to = flexmock('BillTo')
50
+ bill_to.should_receive(:role).at_least.once.and_return('BillTo')
56
51
  @party.add_party(bill_to)
57
52
  assert_equal(employee, @party.employee)
58
53
  assert_equal(bill_to, @party.bill_to)
@@ -67,25 +62,24 @@ module XmlConv
67
62
  assert_nil(@party.name)
68
63
  @party.name = 'a_string'
69
64
  assert_equal('a_string', @party.name)
70
- name = ToSMock.new('Name')
65
+ name = flexmock('Name')
71
66
  @party.name = name
72
67
  assert_equal(name, @party.name)
73
- name.__verify
74
68
  end
75
69
  def test_employee
76
- employee = Mock.new('Employee')
77
- employee.__next(:role) { 'Employee' }
70
+ employee = flexmock('Employee')
71
+ employee.should_receive(:role).at_least.once.and_return('Employee')
78
72
  @party.add_party(employee)
79
73
  assert_equal(employee, @party.employee)
80
74
  assert_equal([employee], @party.parties)
81
- ship_to = Mock.new('ShipTo')
82
- ship_to.__next(:role) { 'ShipTo' }
75
+ ship_to = flexmock('ShipTo')
76
+ ship_to.should_receive(:role).at_least.once.and_return('ShipTo')
83
77
  @party.add_party(ship_to)
84
78
  assert_equal(employee, @party.employee)
85
79
  assert_equal(ship_to, @party.ship_to)
86
80
  assert_equal([employee, ship_to], @party.parties)
87
- bill_to = Mock.new('BillTo')
88
- bill_to.__next(:role) { 'BillTo' }
81
+ bill_to = flexmock('BillTo')
82
+ bill_to.should_receive(:role).at_least.once.and_return('BillTo')
89
83
  @party.add_party(bill_to)
90
84
  assert_equal(employee, @party.employee)
91
85
  assert_equal(bill_to, @party.bill_to)
@@ -4,12 +4,12 @@
4
4
  $: << File.dirname(__FILE__)
5
5
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
6
6
 
7
- require 'test/unit'
7
+ require 'minitest/autorun'
8
8
  require 'xmlconv/model/price'
9
9
 
10
10
  module XmlConv
11
11
  module Model
12
- class TestPrice < Test::Unit::TestCase
12
+ class TestPrice < ::Minitest::Test
13
13
  def setup
14
14
  @price = Price.new
15
15
  end
@@ -6,15 +6,14 @@ $: << File.dirname(__FILE__)
6
6
  $: << File.expand_path('..', File.dirname(__FILE__))
7
7
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
8
8
 
9
- require 'test/unit'
10
9
  require 'xmlconv/util/application'
11
- require 'mock'
12
- require 'flexmock'
10
+ require 'minitest/autorun'
11
+ require 'flexmock/minitest'
13
12
 
14
13
  module XmlConv
15
14
  module Conversion
16
15
  def const_get(symbol)
17
- if(symbol.is_a?(Mock))
16
+ if(symbol.is_a?(FlexMock))
18
17
  symbol
19
18
  else
20
19
  super
@@ -23,8 +22,7 @@ module XmlConv
23
22
  module_function :const_get
24
23
  end
25
24
  module Util
26
- class TestApplication < Test::Unit::TestCase
27
- include FlexMock::TestCase
25
+ class TestApplication < ::Minitest::Test
28
26
  def setup
29
27
  @app = Util::Application.new
30
28
  @app.init
@@ -34,100 +32,69 @@ module XmlConv
34
32
  assert_respond_to(@app, :failed_transactions)
35
33
  end
36
34
  def test_execute
37
- transaction = Mock.new('Transaction')
38
- cache = Mock.new('Cache')
39
- cache.__next(:transaction) { |block|
40
- block.call
41
- }
42
- cache.__next(:store) { |transactions|
43
- assert_equal(@app.transactions, transactions)
44
- }
35
+ transaction = flexmock('Transaction')
36
+ cache = flexmock('Cache')
37
+ cache.should_receive(:transaction).with(Proc).once.and_return{ |block| block.call }
38
+ cache.should_receive(:store).with(@app.transactions)
45
39
  ODBA.cache = cache
46
- transaction.__next(:transaction_id=) { |id|
47
- assert_equal(1, id)
48
- }
49
- transaction.__next(:execute) { }
50
- transaction.__next(:notify) { }
40
+ transaction.should_receive(:transaction_id=).with(1)
41
+ transaction.should_receive(:execute).once.and_return(transaction)
42
+ transaction.should_receive(:notify).once
51
43
  assert_equal([], @app.transactions)
52
44
  assert_equal(0, @app.transactions.size)
53
45
  @app.execute(transaction)
54
46
  assert_equal([transaction], @app.transactions)
55
- transaction.__verify
56
- cache.__verify
57
47
  ensure
58
48
  ODBA.cache = nil
59
49
  end
60
50
  def test_execute__survive_notification_failure
61
- transaction = Mock.new('Transaction')
62
- cache = Mock.new('Cache')
63
- cache.__next(:transaction) { |block|
64
- block.call
65
- }
66
- cache.__next(:store) { |transactions|
67
- assert_equal(@app.transactions, transactions)
68
- }
51
+ transaction = flexmock('Transaction')
52
+ cache = flexmock('Cache')
53
+ cache.should_receive(:transaction).with(Proc).once.and_return{ |block| block.call }
54
+ cache.should_receive(:store).with(@app.transactions)
69
55
  ODBA.cache = cache
70
- transaction.__next(:transaction_id=) { |id|
71
- assert_equal(1, id)
72
- }
73
- transaction.__next(:execute) { }
74
- transaction.__next(:notify) {
75
- raise Net::SMTPFatalError, 'could not send email'
76
- }
56
+ transaction.should_receive(:transaction_id=).with(1)
57
+ transaction.should_receive(:execute).once.and_raise(Net::SMTPFatalError, 'could not send email')
77
58
  assert_equal([], @app.transactions)
78
59
  assert_equal(0, @app.transactions.size)
79
60
  @app.execute(transaction)
80
61
  assert_equal([transaction], @app.transactions)
81
- transaction.__verify
82
- cache.__verify
83
62
  ensure
84
63
  ODBA.cache = nil
85
64
  end
86
65
  def test_execute__notify_errors
87
- transaction = Mock.new('Transaction')
88
- cache = Mock.new('Cache')
89
- cache.__next(:transaction) { |block|
90
- block.call
91
- }
92
- cache.__next(:store) { |transactions|
93
- assert_equal(@app.transactions, transactions)
94
- }
66
+ transaction = flexmock('Transaction')
67
+ cache = flexmock('Cache')
68
+ cache.should_receive(:transaction).with(Proc).once.and_return{ |block| block.call }
69
+ cache.should_receive(:store).with(@app.transactions)
95
70
  ODBA.cache = cache
96
- transaction.__next(:transaction_id=) { |id|
97
- assert_equal(1, id)
98
- }
99
- transaction.__next(:execute) {
100
- raise 'oops, something went wrong'
101
- }
102
- transaction.__next(:error=) { }
103
- transaction.__next(:notify) { }
71
+ transaction.should_receive(:transaction_id=).with(1)
72
+ transaction.should_receive(:execute).and_raise 'oops, something went wrong'
73
+ transaction.should_receive(:error=)
74
+ transaction.should_receive(:notify)
104
75
  assert_equal([], @app.transactions)
105
76
  assert_equal(0, @app.transactions.size)
106
77
  @app.execute(transaction)
107
78
  assert_equal([transaction], @app.transactions)
108
- transaction.__verify
109
- cache.__verify
110
79
  ensure
111
80
  ODBA.cache = nil
112
81
  end
113
82
  def test_dumpable
114
- assert_nothing_raised { Marshal.dump(@app) }
83
+ Marshal.dump(@app)
115
84
  end
116
85
  def test_next_transaction_id
117
86
  assert_equal([], @app.transactions)
118
87
  assert_equal(1, @app.next_transaction_id)
119
88
  assert_equal(2, @app.next_transaction_id)
120
89
  assert_equal(3, @app.next_transaction_id)
121
- trans1 = Mock.new('Transaction1')
122
- trans2 = Mock.new('Transaction2')
90
+ trans1 = flexmock('Transaction1')
91
+ trans2 = flexmock('Transaction2')
92
+ trans1.should_receive(:transaction_id).and_return(6)
93
+ trans2.should_receive(:transaction_id).and_return(3)
123
94
  @app.transactions.push(trans1)
124
95
  @app.transactions.push(trans2)
125
96
  @app.instance_variable_set('@next_transaction_id', nil)
126
- trans1.__next(:transaction_id) { 6 }
127
- trans2.__next(:transaction_id) { 3 }
128
97
  assert_equal(7, @app.next_transaction_id)
129
- trans1.__verify
130
- trans2.__verify
131
98
  end
132
99
  def test_odba_exclude_vars
133
100
  @app.instance_variable_set('@next_transaction_id', 10)
@@ -135,36 +102,19 @@ module XmlConv
135
102
  assert_nil(@app.instance_variable_get('@next_transaction_id'))
136
103
  end
137
104
  def test_transaction
138
- trans1 = Mock.new('Transaction1')
139
- trans2 = Mock.new('Transaction2')
140
- trans3 = Mock.new('Transaction2')
105
+ trans1 = flexmock('Transaction1')
106
+ trans2 = flexmock('Transaction2')
107
+ trans3 = flexmock('Transaction2')
108
+ trans1.should_receive(:transaction_id).and_return(1).at_least.once
109
+ trans2.should_receive(:transaction_id).and_return(2).at_least.once
110
+ trans3.should_receive(:transaction_id).and_return(5).at_least.once
141
111
  @app.transactions.push(trans1)
142
112
  @app.transactions.push(trans2)
143
- trans2.__next(:transaction_id) { 2 }
144
- trans1.__next(:transaction_id) { 1 }
145
113
  assert_equal(trans1, @app.transaction(1))
146
- trans1.__verify
147
- trans2.__verify
148
114
  @app.transactions.push(trans3)
149
- trans3.__next(:transaction_id) { 5 }
150
- trans1.__next(:transaction_id) { 1 }
151
- trans2.__next(:transaction_id) { 2 }
152
115
  assert_equal(trans2, @app.transaction(2))
153
- trans1.__verify
154
- trans2.__verify
155
- trans3.__verify
156
- trans3.__next(:transaction_id) { 5 }
157
- trans3.__next(:transaction_id) { 5 }
158
116
  assert_equal(trans3, @app.transaction(5))
159
- trans1.__verify
160
- trans2.__verify
161
- trans3.__verify
162
- trans3.__next(:transaction_id) { 5 }
163
- trans3.__next(:transaction_id) { 5 }
164
117
  assert_equal(trans3, @app.transaction('5'))
165
- trans1.__verify
166
- trans2.__verify
167
- trans3.__verify
168
118
  end
169
119
  def test_exprort_orders
170
120
  transaction = flexmock('transaction') do |trans|
@@ -5,15 +5,14 @@ $: << File.dirname(__FILE__)
5
5
  $: << File.expand_path('..', File.dirname(__FILE__))
6
6
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
7
7
 
8
- require 'test/unit'
9
8
  require 'xmlconv/util/destination'
10
- require 'flexmock'
11
9
  require 'xmlconv/config'
10
+ require 'minitest/autorun'
11
+ require 'flexmock/minitest'
12
12
 
13
13
  module XmlConv
14
14
  module Util
15
- class TestDestination < Test::Unit::TestCase
16
- include FlexMock::TestCase
15
+ class TestDestination < ::Minitest::Test
17
16
  def setup
18
17
  @destination = Destination.new
19
18
  super
@@ -44,8 +43,7 @@ module XmlConv
44
43
  Destination.book('ftp://www.example.com'))
45
44
  end
46
45
  end
47
- class TestDestinationDir < Test::Unit::TestCase
48
- include FlexMock::TestCase
46
+ class TestDestinationDir < ::Minitest::Test
49
47
  def setup
50
48
  @destination = DestinationDir.new
51
49
  @target_dir = File.expand_path('data/destination',
@@ -129,8 +127,7 @@ module XmlConv
129
127
  assert_equal(20, @destination.status_comparable)
130
128
  end
131
129
  end
132
- class TestRemoteDestination < Test::Unit::TestCase
133
- include FlexMock::TestCase
130
+ class TestRemoteDestination < ::Minitest::Test
134
131
  def setup
135
132
  @destination = RemoteDestination.new
136
133
  super
@@ -144,8 +141,7 @@ module XmlConv
144
141
  assert_respond_to(@destination, :host=)
145
142
  end
146
143
  end
147
- class TestDestinationHttp < Test::Unit::TestCase
148
- include FlexMock::TestCase
144
+ class TestDestinationHttp < ::Minitest::Test
149
145
  def setup
150
146
  @destination = DestinationHttp.new
151
147
  @destination.transport = @transport = flexmock('DestinationHttp::HTTP_CLASS')
@@ -201,8 +197,7 @@ module XmlConv
201
197
  assert_equal('http://xmlconv.ywesee.com:12345/test.rbx', uri.to_s)
202
198
  end
203
199
  end
204
- class TestDestinationFtp < Test::Unit::TestCase
205
- include FlexMock::TestCase
200
+ class TestDestinationFtp < ::Minitest::Test
206
201
  def setup
207
202
  @destination = DestinationFtp.new
208
203
  @destination.transport = @transport = flexmock('DestinationFtp::FTP_CLASS')
@@ -265,7 +260,7 @@ module XmlConv
265
260
  delivery.should_receive(:to_s).and_return { 'The Delivery' }
266
261
  delivery.should_receive(:filename).and_return { 'test.dat' }
267
262
  ftp_session.should_receive(:chdir).and_return { |path|
268
- assert_equal('/foo/bar/', path)
263
+ assert_equal('foo/bar/', path)
269
264
  }
270
265
  expecteds = %w{000_test.dat 001_test.dat}
271
266
  ftp_session.should_receive(:puttextfile).times(2)\
@@ -289,16 +284,14 @@ module XmlConv
289
284
  end
290
285
  def test_deliver_tmp
291
286
  path = 'ftp://testaccount:password@xmlconv.ywesee.com/foo/bar/'
292
- tmp = '/foo/tmp'
287
+ tmp = '/foo/tmp/'
293
288
  @destination = Destination.book(path, tmp)
294
289
  @destination.transport = @transport = flexmock('DestinationHttp::FTP_CLASS')
295
290
  ftp_session = flexmock('FtpSession')
296
291
  delivery = flexmock('Delivery')
297
292
  delivery.should_receive(:to_s).and_return { 'The Delivery' }
298
293
  delivery.should_receive(:filename).and_return { 'test.dat' }
299
- ftp_session.should_receive(:chdir).and_return { |path|
300
- assert_equal('/foo/bar/', path)
301
- }
294
+ ftp_session.should_receive(:chdir).with('foo/bar/')
302
295
  ftp_session.should_receive(:puttextfile).and_return { |local, remote|
303
296
  assert_equal("The Delivery\n", File.read(local))
304
297
  assert_equal('/foo/tmp/test.dat', remote)
@@ -320,8 +313,7 @@ module XmlConv
320
313
  end
321
314
  end
322
315
  =begin
323
- class TestDestinationSftp < Test::Unit::TestCase
324
- include FlexMock::TestCase
316
+ class TestDestinationSftp < ::Minitest::Test
325
317
  def setup
326
318
  @destination = DestinationSftp.new
327
319
  @destination.transport = @transport = flexmock('DestinationSftp::SFTP_CLASS')
@@ -4,13 +4,13 @@
4
4
  $: << File.dirname(__FILE__)
5
5
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
6
6
 
7
- require 'test/unit'
8
7
  require 'xmlconv/util/invoicer'
9
- require 'flexmock'
8
+ require 'minitest/autorun'
9
+ require 'flexmock/minitest'
10
10
 
11
11
  module XmlConv
12
12
  module Util
13
- class TestInvoicer < Test::Unit::TestCase
13
+ class TestInvoicer < ::Minitest::Test
14
14
  def setup
15
15
  @invoicer = Invoicer
16
16
  end
@@ -4,19 +4,20 @@
4
4
  $: << File.expand_path('..', File.dirname(__FILE__))
5
5
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
6
6
 
7
- require 'test/unit'
8
7
  require 'xmlconv/util/polling_manager'
9
- require 'mock'
10
- require 'flexmock'
11
8
  require 'rexml/document'
12
9
  require 'config'
10
+ require 'mail'
11
+ require 'minitest/autorun'
12
+ require 'flexmock/minitest'
13
+
14
+ Mail.defaults do
15
+ delivery_method :test
16
+ end
13
17
 
14
18
  module XmlConv
15
19
  module Util
16
- module Mail
17
- SMTP_HANDLER = FlexMock.new('SMTP-Handler')
18
- end
19
- class TestPollingMission < Test::Unit::TestCase
20
+ class TestPollingMission < ::Minitest::Test
20
21
  def setup
21
22
  @mission = PollingMission.new
22
23
  @dir = File.expand_path('data/i2',
@@ -99,7 +100,7 @@ module XmlConv
99
100
  }
100
101
  end
101
102
  end
102
- class TestPopMission < Test::Unit::TestCase
103
+ class TestPopMission < ::Minitest::Test
103
104
  def setup
104
105
  @popserver = TCPServer.new('127.0.0.1', 0)
105
106
  addr = @popserver.addr
@@ -194,10 +195,9 @@ module XmlConv
194
195
  @popserver.close
195
196
  end
196
197
  end
197
- class TestPollingManager < Test::Unit::TestCase
198
- include FlexMock::TestCase
198
+ class TestPollingManager < ::Minitest::Test
199
199
  def setup
200
- @sys = Mock.new('System')
200
+ @sys = flexmock('System')
201
201
  @polling = PollingManager.new(@sys)
202
202
  @dir = File.expand_path('data/i2',
203
203
  File.dirname(__FILE__))
@@ -5,14 +5,19 @@ $: << File.dirname(__FILE__)
5
5
  $: << File.expand_path('..', File.dirname(__FILE__))
6
6
  $: << File.expand_path('../../lib', File.dirname(__FILE__))
7
7
 
8
- require 'test/unit'
9
8
  require 'xmlconv/util/transaction'
10
- require 'mock'
9
+ require 'mail'
10
+ require 'minitest/autorun'
11
+ require 'flexmock/minitest'
12
+
13
+ Mail.defaults do
14
+ delivery_method :test
15
+ end
11
16
 
12
17
  module XmlConv
13
18
  module Conversion
14
19
  def const_get(symbol)
15
- if(symbol.is_a?(Mock))
20
+ if(symbol.is_a?(FlexMock))
16
21
  symbol
17
22
  else
18
23
  super
@@ -21,10 +26,7 @@ module XmlConv
21
26
  module_function :const_get
22
27
  end
23
28
  module Util
24
- module Mail
25
- SMTP_HANDLER = Mock.new('SMTP-Handler')
26
- end
27
- class TestTransaction < Test::Unit::TestCase
29
+ class TestTransaction < ::Minitest::Test
28
30
  def setup
29
31
  @transaction = Util::Transaction.new
30
32
  end
@@ -47,33 +49,22 @@ module XmlConv
47
49
  assert_respond_to(@transaction, :commit_time)
48
50
  end
49
51
  def test_execute
50
- src = Mock.new('source')
51
- input = Mock.new('input')
52
- reader = Mock.new('reader')
53
- model = Mock.new('model')
54
- writer = Mock.new('writer')
55
- output = Mock.new('output')
56
- destination = Mock.new('destination')
52
+ src = flexmock('source')
53
+ input = flexmock('input')
54
+ reader = flexmock('reader')
55
+ model = flexmock('model')
56
+ writer = flexmock('writer')
57
+ output = flexmock('output')
58
+ destination = flexmock('destination')
57
59
  @transaction.input = src
58
60
  @transaction.reader = reader
59
61
  @transaction.writer = writer
60
62
  @transaction.destination = destination
61
- reader.__next(:parse) { |read_src|
62
- assert_equal(src, read_src)
63
- input
64
- }
65
- reader.__next(:convert) { |read_input|
66
- assert_equal(input, read_input)
67
- model
68
- }
69
- writer.__next(:convert) { |write_input|
70
- assert_equal(model, write_input)
71
- output
72
- }
73
- destination.__next(:deliver) { |delivery|
74
- assert_equal(output, delivery)
75
- }
76
- destination.__next(:forget_credentials!) { }
63
+ reader.should_receive(:parse).with(src).once.and_return(input)
64
+ reader.should_receive(:convert).with(input).once.and_return(model)
65
+ writer.should_receive(:convert).with(model).once.and_return(output)
66
+ destination.should_receive(:deliver).with(output).once
67
+ destination.should_receive(:forget_credentials!).once
77
68
  time1 = Time.now
78
69
  result = @transaction.execute
79
70
  time2 = Time.now
@@ -85,45 +76,30 @@ module XmlConv
85
76
  assert_equal(output.to_s, result)
86
77
  assert_in_delta(time1, @transaction.start_time, 0.001)
87
78
  assert_in_delta(time2, @transaction.commit_time, 0.001)
88
- input.__verify
89
- reader.__verify
90
- model.__verify
91
- writer.__verify
92
- output.__verify
93
- destination.__verify
94
79
  end
95
80
  def test_persistable
96
81
  assert_kind_of(ODBA::Persistable, @transaction)
97
82
  end
98
83
  def test_dumpable
99
- assert_nothing_raised { Marshal.dump(@transaction) }
84
+ Marshal.dump(@transaction)
100
85
  end
101
86
  def test_notify
87
+ ::Mail::TestMailer.deliveries.clear
88
+ ::Mail.defaults do
89
+ delivery_method :test
90
+ end
102
91
  @transaction.instance_variable_set('@start_time', Time.now)
103
92
  @transaction.error_recipients = ['bar']
104
- smtp = Mail::SMTP_HANDLER
105
93
  @transaction.notify
94
+ assert_equal(0, ::Mail::TestMailer.deliveries.size)
106
95
  @transaction.debug_recipients = ['foo']
107
- mail = Mock.new('MailSession')
108
- mail.__next(:sendmail) { |encoded, from, recipients|
109
- assert_equal(['foo'], recipients)
110
-
111
- }
112
- smtp.__next(:start) { |block, server|
113
- block.call(mail)
114
- }
115
96
  @transaction.notify
97
+ assert_equal(1, ::Mail::TestMailer.deliveries.size)
98
+ assert_equal(['foo'], ::Mail::TestMailer.deliveries.last.to)
116
99
  @transaction.error = 'error!'
117
- mail.__next(:sendmail) { |encoded, from, recipients|
118
- assert_equal(['foo', 'bar'], recipients)
119
-
120
- }
121
- smtp.__next(:start) { |block, server|
122
- block.call(mail)
123
- }
124
100
  @transaction.notify
125
- smtp.__verify
126
- mail.__verify
101
+ assert_equal(2, ::Mail::TestMailer.deliveries.size)
102
+ assert_equal(['foo', 'bar'], ::Mail::TestMailer.deliveries.last.to)
127
103
  end
128
104
  end
129
105
  end
data/xmlconv.gemspec ADDED
@@ -0,0 +1,45 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'xmlconv/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "xmlconv"
8
+ spec.version = XmlConv::VERSION
9
+ spec.author = "Masaomi Hatakeyama, Zeno R.R. Davatz, Niklaus Giger"
10
+ spec.email = "mhatakeyama@ywesee.com, zdavatz@ywesee.com, ngiger@ywesee.com"
11
+ spec.description = "xmlconverter, convert XML to flat files. A Ruby gem"
12
+ spec.summary = "xmlconverter, convert XML to flat files"
13
+ spec.homepage = "https://github.com/zdavatz/xmlconv"
14
+ spec.license = "GPL-v2"
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_dependency "odba", '>= 1.1.2'
21
+ spec.add_dependency "ydbd-pg", '>= 0.5.1'
22
+ spec.add_dependency "ydbi", '>= 0.5.1'
23
+ spec.add_dependency "json"
24
+ spec.add_dependency "sbsm"
25
+ spec.add_dependency "htmlgrid"
26
+ spec.add_dependency "ydim", '>= 0.5.1'
27
+ spec.add_dependency "syck"
28
+ spec.add_dependency "mail"
29
+ spec.add_dependency "rclconf"
30
+ spec.add_dependency "needle"
31
+ spec.add_dependency "ypdf-writer"
32
+ spec.add_dependency "hpricot"
33
+ spec.add_runtime_dependency 'deprecated', '= 2.0.1'
34
+
35
+ spec.add_runtime_dependency "yus"
36
+
37
+ spec.add_development_dependency "bundler"
38
+ spec.add_development_dependency "simplecov"
39
+ spec.add_development_dependency "rake"
40
+ spec.add_development_dependency "flexmock"
41
+ spec.add_development_dependency "minitest"
42
+ spec.add_development_dependency "minitest-should_syntax"
43
+ spec.add_development_dependency "rspec"
44
+ end
45
+