euston-daemons 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
+ if RUBY_VERSION =~ /1.9/
2
+ Encoding.default_external = Encoding::UTF_8
3
+ Encoding.default_internal = Encoding::UTF_8
4
+ end
5
+
1
6
  source :rubygems
2
7
  gemspec
3
8
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'euston-daemons'
3
- s.version = '1.2.6'
3
+ s.version = '1.2.7'
4
4
  s.platform = RUBY_PLATFORM.to_s == 'java' ? 'java' : Gem::Platform::RUBY
5
5
  s.authors = ['Lee Henson', 'Guy Boertje']
6
6
  s.email = ['lee.m.henson@gmail.com', 'guyboertje@gmail.com']
@@ -62,13 +62,13 @@ Gem::Specification.new do |s|
62
62
  s.add_dependency 'activemodel', '>= 3.0.10'
63
63
  s.add_dependency 'activesupport', '>= 3.0.10'
64
64
  s.add_dependency 'erb-yaml', '~> 1.0.0'
65
- s.add_dependency 'euston', '~> 1.2.0'
66
- s.add_dependency 'euston-eventstore', '~> 1.2.0'
67
- s.add_dependency 'euston-rabbitmq', '~> 1.2.0'
65
+ s.add_dependency 'euston', '~> 1.2.4'
66
+ s.add_dependency 'euston-eventstore', '~> 1.2.3'
67
+ s.add_dependency 'euston-rabbitmq', '~> 1.2.2'
68
68
  s.add_dependency 'hollywood', '~> 1.0.0'
69
69
  s.add_dependency 'i18n', '>= 0.5.0'
70
- s.add_dependency 'macaddr', '~> 1.4.0'
71
70
  s.add_dependency 'safely', '~> 0.3.0'
71
+ s.add_dependency 'uuidtools', '~> 2.1.2'
72
72
 
73
73
  if RUBY_PLATFORM.to_s == 'java'
74
74
  s.add_dependency 'hot_bunnies', '~> 1.3.0.pre1'
@@ -80,5 +80,6 @@ Gem::Specification.new do |s|
80
80
  s.add_development_dependency 'ffaker', '~> 1.8.0'
81
81
  s.add_development_dependency 'fuubar', '~> 0.0.0'
82
82
  s.add_development_dependency 'rabbitmqadmin-cli', '~> 1.0.2'
83
+ s.add_development_dependency 'rake', '~> 0.9.2'
83
84
  s.add_development_dependency 'rspec', '~> 2.6.0'
84
85
  end
@@ -1,6 +1,6 @@
1
1
  require 'i18n'
2
2
  require 'hot_bunnies'
3
- require 'macaddr'
3
+ require 'uuidtools'
4
4
  require 'euston-rabbitmq'
5
5
 
6
6
  require 'euston-daemons/pipeline/lib/command_processor/failed_message'
@@ -40,7 +40,9 @@ module Euston
40
40
  def initialize data
41
41
  @logger = data[:logger]
42
42
  @daemon_config = data[:daemon_config]
43
- @i18n_locales_path = @daemon_config[:i18n_locales_path]
43
+ if data.has_key?(:app_root) && @daemon_config.has_key?(:i18n_locales_path)
44
+ @i18n_locales_path = File.join(data[:app_root], @daemon_config[:i18n_locales_path], "*")
45
+ end
44
46
 
45
47
  @amqp_config = ErbYaml.read data[:amqp_config_path], data[:environment]
46
48
  @mongo_config = ErbYaml.read data[:mongo_config_path], data[:environment]
@@ -68,7 +70,7 @@ module Euston
68
70
  setup_mongo @mongo_config
69
71
  setup_euston @mongo_config[:event_store_database]
70
72
 
71
- I18n.load_path += Dir[@i18n_locales_path] unless @i18n_locales_path.nil?
73
+ I18n.load_path += Dir.glob(@i18n_locales_path) unless @i18n_locales_path.nil?
72
74
 
73
75
  self.class
74
76
  end
@@ -49,13 +49,13 @@ module Euston
49
49
  end
50
50
 
51
51
  (1..env.event_store_dispatchers).each do |i|
52
- component = EventStoreDispatcher::Component.new env.amqp_connection.create_channel, "#{Mac.addr.to_s} #{i}", @log
52
+ component = EventStoreDispatcher::Component.new env.amqp_connection.create_channel, "#{UUIDTools::UUID.mac_address} #{i}", @log
53
53
  component = register_component "event_store_dispatcher_#{i}", component
54
54
  component.wait_time = env.event_store_dispatcher_wait_time
55
55
  end
56
56
 
57
57
  (1..env.message_buffers).each do |i|
58
- component = MessageBuffer::Component.new env.amqp_connection.create_channel, "#{Mac.addr.to_s} #{i}", @log
58
+ component = MessageBuffer::Component.new env.amqp_connection.create_channel, "#{UUIDTools::UUID.mac_address} #{i}", @log
59
59
  component = register_component "message_buffer_#{i}", component
60
60
  component.wait_time = env.message_buffer_wait_time
61
61
  end
@@ -5,7 +5,8 @@ module Euston
5
5
  :daemon_config_path,
6
6
  :event_handler_namespaces,
7
7
  :mongo_config_path,
8
- :user_defined_components
8
+ :user_defined_components,
9
+ :app_root
9
10
 
10
11
  def initialize environment
11
12
  super(environment, :pipeline_daemon)
@@ -37,6 +38,9 @@ module Euston
37
38
 
38
39
  @logger.debug "User-defined components: #{@user_defined_components.count}"
39
40
  @data[:user_defined_components] = @user_defined_components.to_a.flatten
41
+
42
+ @logger.debug "App root: #{@app_root}"
43
+ @data[:app_root] = @app_root
40
44
  end
41
45
 
42
46
  def load_environment
@@ -1,5 +1,5 @@
1
1
  module Euston
2
2
  module Daemons
3
- VERSION = "1.2.6"
3
+ VERSION = "1.2.7"
4
4
  end
5
5
  end
@@ -3,7 +3,7 @@ describe 'event handler client', :purge_event_store, :purge_rabbitmq do
3
3
 
4
4
  let(:logger) { Euston::NullLogger.instance }
5
5
  let(:subscription) { StubRetryingSubscription.new }
6
- let(:client) { Euston::Daemons::Pipeline::EventProcessor::Component.new @channel, reference, 1, logger }
6
+ let(:client) { Euston::Daemons::Pipeline::EventProcessor::Component.new @channel, [reference], 1, logger }
7
7
  let(:aggregate) { Euston::Daemons::SampleModel::Counter2.new }
8
8
  let(:saved_aggregates) { [] }
9
9
 
@@ -21,7 +21,7 @@ describe 'event handler client', :purge_event_store, :purge_rabbitmq do
21
21
  :type => :external_thing_happened,
22
22
  :timestamp => Time.now.to_f,
23
23
  :version => 1 },
24
- :body => {} }
24
+ :body => { :id => Uuid.generate } }
25
25
 
26
26
  subscription.stub_message_receipt event
27
27
  end
@@ -21,7 +21,7 @@ describe 'message buffer component', :purge_event_store do
21
21
 
22
22
  before do
23
23
  Euston::DaemonEnvironment.event_store_mongodb = @event_store_database
24
- channel.stub(:topic) { exchange }
24
+ channel.stub(:exchange) { exchange }
25
25
  exchange.stub(:name) { 'commands' }
26
26
  exchange.stub(:publish) { |json, options| published << { :json => json, :options => options } }
27
27
  end
@@ -43,7 +43,6 @@ describe 'message buffer component', :purge_event_store do
43
43
  end
44
44
 
45
45
  context 'there is a due command' do
46
-
47
46
  before do
48
47
  buffer.enqueue :commands, command
49
48
  end
data/spec/spec_helper.rb CHANGED
@@ -75,6 +75,8 @@ RSpec.configure do |config|
75
75
  end
76
76
 
77
77
  config.before(:all, :purge_rabbitmq) do
78
+ initialize_rabbitmq amqp_config
79
+
78
80
  @amqp_connection = HotBunnies.connect amqp_config
79
81
 
80
82
  initialize_amqp @amqp_connection
@@ -1,6 +1,7 @@
1
1
  class StubRetryingSubscription
2
2
  include Hollywood
3
3
 
4
+ def get; end
4
5
  def subscribe; end
5
6
 
6
7
  def stub_message_receipt message
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: euston-daemons
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-01 00:00:00.000000000 Z
13
+ date: 2011-12-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activemodel
17
- requirement: &79766170 !ruby/object:Gem::Requirement
17
+ requirement: &70239715115200 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.10
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *79766170
25
+ version_requirements: *70239715115200
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &79765810 !ruby/object:Gem::Requirement
28
+ requirement: &70239715113020 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.0.10
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *79765810
36
+ version_requirements: *70239715113020
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: erb-yaml
39
- requirement: &79765550 !ruby/object:Gem::Requirement
39
+ requirement: &70239715110860 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,43 +44,43 @@ dependencies:
44
44
  version: 1.0.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *79765550
47
+ version_requirements: *70239715110860
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: euston
50
- requirement: &79765310 !ruby/object:Gem::Requirement
50
+ requirement: &70239715109520 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 1.2.0
55
+ version: 1.2.4
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *79765310
58
+ version_requirements: *70239715109520
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: euston-eventstore
61
- requirement: &79751940 !ruby/object:Gem::Requirement
61
+ requirement: &70239715106500 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: 1.2.0
66
+ version: 1.2.3
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *79751940
69
+ version_requirements: *70239715106500
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: euston-rabbitmq
72
- requirement: &79751700 !ruby/object:Gem::Requirement
72
+ requirement: &70239715103980 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.2.0
77
+ version: 1.2.2
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *79751700
80
+ version_requirements: *70239715103980
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: hollywood
83
- requirement: &79751470 !ruby/object:Gem::Requirement
83
+ requirement: &70239715102160 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 1.0.0
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *79751470
91
+ version_requirements: *70239715102160
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: i18n
94
- requirement: &79751180 !ruby/object:Gem::Requirement
94
+ requirement: &70239715097780 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,32 +99,32 @@ dependencies:
99
99
  version: 0.5.0
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *79751180
102
+ version_requirements: *70239715097780
103
103
  - !ruby/object:Gem::Dependency
104
- name: macaddr
105
- requirement: &79750930 !ruby/object:Gem::Requirement
104
+ name: safely
105
+ requirement: &70239715096000 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 1.4.0
110
+ version: 0.3.0
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *79750930
113
+ version_requirements: *70239715096000
114
114
  - !ruby/object:Gem::Dependency
115
- name: safely
116
- requirement: &79750690 !ruby/object:Gem::Requirement
115
+ name: uuidtools
116
+ requirement: &70239715089480 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
120
120
  - !ruby/object:Gem::Version
121
- version: 0.3.0
121
+ version: 2.1.2
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *79750690
124
+ version_requirements: *70239715089480
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: awesome_print
127
- requirement: &79750450 !ruby/object:Gem::Requirement
127
+ requirement: &70239715086900 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 0.4.0
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *79750450
135
+ version_requirements: *70239715086900
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: cranky
138
- requirement: &79750180 !ruby/object:Gem::Requirement
138
+ requirement: &70239715083440 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 0.2.0
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *79750180
146
+ version_requirements: *70239715083440
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: ffaker
149
- requirement: &79749840 !ruby/object:Gem::Requirement
149
+ requirement: &70239715077700 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ~>
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 1.8.0
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *79749840
157
+ version_requirements: *70239715077700
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: fuubar
160
- requirement: &79749450 !ruby/object:Gem::Requirement
160
+ requirement: &70239715073460 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ~>
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: 0.0.0
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *79749450
168
+ version_requirements: *70239715073460
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: rabbitmqadmin-cli
171
- requirement: &79749050 !ruby/object:Gem::Requirement
171
+ requirement: &70239715072400 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ~>
@@ -176,10 +176,21 @@ dependencies:
176
176
  version: 1.0.2
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *79749050
179
+ version_requirements: *70239715072400
180
+ - !ruby/object:Gem::Dependency
181
+ name: rake
182
+ requirement: &70239715069220 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: *70239715069220
180
191
  - !ruby/object:Gem::Dependency
181
192
  name: rspec
182
- requirement: &79748480 !ruby/object:Gem::Requirement
193
+ requirement: &70239715065380 !ruby/object:Gem::Requirement
183
194
  none: false
184
195
  requirements:
185
196
  - - ~>
@@ -187,7 +198,7 @@ dependencies:
187
198
  version: 2.6.0
188
199
  type: :development
189
200
  prerelease: false
190
- version_requirements: *79748480
201
+ version_requirements: *70239715065380
191
202
  description: ''
192
203
  email:
193
204
  - lee.m.henson@gmail.com
@@ -263,4 +274,18 @@ rubygems_version: 1.8.10
263
274
  signing_key:
264
275
  specification_version: 3
265
276
  summary: Message buffer, command processor and event processor daemons for Euston-RabbitMq
266
- test_files: []
277
+ test_files:
278
+ - spec/daemons/command_processor_spec.rb
279
+ - spec/daemons/event_processor_spec.rb
280
+ - spec/daemons/message_buffer_spec.rb
281
+ - spec/daemons/snapshotter_spec.rb
282
+ - spec/spec_helper.rb
283
+ - spec/support/factories/commands.rb
284
+ - spec/support/factories/commit.rb
285
+ - spec/support/factories/event_message.rb
286
+ - spec/support/factories/events.rb
287
+ - spec/support/filters.rb
288
+ - spec/support/sample_model/commands.rb
289
+ - spec/support/sample_model/counter.rb
290
+ - spec/support/sample_model/counter2.rb
291
+ - spec/support/stub_retrying_subscription.rb