sidekiq_strategies 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,83 @@
1
+ module Spec
2
+ module SeedHelpers
3
+
4
+ def create_double_beaneater_pool(opts={})
5
+ @connection = double("Beaneater::Pool")
6
+ allow(@connection).to receive(:jobs).and_return( opts[:jobs] )
7
+ allow(@connection).to receive(:tubes).and_return( opts[:tubes] )
8
+ @connection
9
+ end
10
+
11
+ def create_double_beaneater_tube(opts={})
12
+ tube = double("Beaneater::Tube")
13
+ allow(tube).to receive(:name).and_return( opts[:name] )
14
+ allow(tube).to receive(:stats).and_return( opts[:stats] )
15
+ allow(tube).to receive(:put).with(kind_of(String), kind_of(Hash)).and_return( opts[:put_response] )
16
+ tube
17
+ end
18
+
19
+ def create_stats(opts={})
20
+ stats = OpenStruct.new(opts)
21
+ stats
22
+ end
23
+
24
+ def create_double_beaneater_job(opts={})
25
+ job = double("Beaneater::Job")
26
+ allow(job).to receive(:stats).and_return(opts[:stats])
27
+ allow(job).to receive(:body).and_return(opts[:body])
28
+ allow(job).to receive(:delete)
29
+ job
30
+ end
31
+
32
+ def create_double_beaneater_jobs(jobs)
33
+ double_jobs = double
34
+ jobs.each do |key, value|
35
+ allow(double_jobs).to receive(:find_all).with(key).and_return( [value] )
36
+ end
37
+ double_jobs
38
+ end
39
+
40
+ def create_double_subscriber
41
+ subscriber = double
42
+ allow(subscriber).to receive(:state_changed).with(kind_of(Account), kind_of(String), kind_of(String))
43
+ subscriber
44
+ end
45
+
46
+ def create_double_logger
47
+ logger = double
48
+ allow(logger).to receive(:warn).with(kind_of(String))
49
+ allow(logger).to receive(:info).with(kind_of(String))
50
+ logger
51
+ end
52
+
53
+ def create_double_airbrake
54
+ airbrake = double
55
+ allow(airbrake).to receive(:notify).with(kind_of(Hash))
56
+ airbrake
57
+ end
58
+
59
+ def create_worker_response
60
+ {
61
+ :name => "Customer Name",
62
+ :address => "Customer Home Address",
63
+ :amount_due => 12345,
64
+ :amount_cents => 12345,
65
+ :_bill_number => "ABC123",
66
+ :raw => "ABC|123|"
67
+ }
68
+ end
69
+
70
+ def create_worker_exception
71
+ {
72
+ :code => 1001,
73
+ :message => 'Internal error exception',
74
+ :type => 'XBP::Error::ApiInternalError'
75
+ }
76
+ end
77
+
78
+ end
79
+ end
80
+
81
+ RSpec.configure do |config|
82
+ config.include Spec::SeedHelpers
83
+ end
@@ -0,0 +1,3 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new(:spec)
metadata ADDED
@@ -0,0 +1,169 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sidekiq_strategies
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - abrahamb
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: beaneater
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.3.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: oj
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 2.9.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 2.9.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: money
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Sidekiq strategies to manage accounts processing actions.
98
+ email:
99
+ - abraham.ordonez@xoom.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".ruby-gemset"
107
+ - ".ruby-version"
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - LICENSE.txt
111
+ - README.md
112
+ - Rakefile
113
+ - lib/airbrake/airbrake.rb
114
+ - lib/dependencies.rb
115
+ - lib/models/account.rb
116
+ - lib/models/provider.rb
117
+ - lib/models/transaction.rb
118
+ - lib/rails/rails.rb
119
+ - lib/sidekiq/sidekiq.rb
120
+ - lib/sidekiq_strategies.rb
121
+ - lib/sidekiq_strategies/account_handler.rb
122
+ - lib/sidekiq_strategies/base.rb
123
+ - lib/sidekiq_strategies/beanstalkd_handler.rb
124
+ - lib/sidekiq_strategies/helper.rb
125
+ - lib/sidekiq_strategies/polling_strategy.rb
126
+ - lib/sidekiq_strategies/version.rb
127
+ - lib/spool/publisher.rb
128
+ - lib/spool/subscribers/events_agent_subscriber.rb
129
+ - lib/spool/subscribers/redis_pubsub_subscriber.rb
130
+ - lib/strategy_runner.rb
131
+ - sidekiq_strategies.gemspec
132
+ - spec/spec_helper.rb
133
+ - spec/strategies/account_handler_spec.rb
134
+ - spec/strategies/beanstalkd_handler_spec.rb
135
+ - spec/strategies/helper_spec.rb
136
+ - spec/strategies/polling_strategy_spec.rb
137
+ - spec/support/seed_helpers.rb
138
+ - tasks/rspec.rake
139
+ homepage: https://github.com/blue-kite/sidekiq_strategies
140
+ licenses:
141
+ - MIT
142
+ metadata: {}
143
+ post_install_message:
144
+ rdoc_options: []
145
+ require_paths:
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubyforge_project:
159
+ rubygems_version: 2.2.2
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: Sidekiq strategies to manage accounts processing actions.
163
+ test_files:
164
+ - spec/spec_helper.rb
165
+ - spec/strategies/account_handler_spec.rb
166
+ - spec/strategies/beanstalkd_handler_spec.rb
167
+ - spec/strategies/helper_spec.rb
168
+ - spec/strategies/polling_strategy_spec.rb
169
+ - spec/support/seed_helpers.rb