rabbitmq-definition 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/Gemfile.lock +181 -0
  6. data/README.md +57 -0
  7. data/lib/rabbitmq-definition.rb +46 -0
  8. data/lib/rabbitmq_definition/command.rb +28 -0
  9. data/lib/rabbitmq_definition/create.rb +35 -0
  10. data/lib/rabbitmq_definition/drop.rb +36 -0
  11. data/lib/rabbitmq_definition/dump.rb +41 -0
  12. data/lib/rabbitmq_definition/engine.rb +7 -0
  13. data/lib/rabbitmq_definition/file_definition.rb +54 -0
  14. data/lib/rabbitmq_definition/load.rb +14 -0
  15. data/lib/rabbitmq_definition/logger.rb +19 -0
  16. data/lib/rabbitmq_definition/rabbitmq-definition.rake +21 -0
  17. data/lib/rabbitmq_definition/version.rb +5 -0
  18. data/rabbitmq-definition.gemspec +34 -0
  19. data/spec/dummy/README.rdoc +28 -0
  20. data/spec/dummy/Rakefile +6 -0
  21. data/spec/dummy/app/assets/images/.keep +0 -0
  22. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  23. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  24. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  25. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  26. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  27. data/spec/dummy/app/mailers/.keep +0 -0
  28. data/spec/dummy/app/models/.keep +0 -0
  29. data/spec/dummy/app/models/activity.rb +2 -0
  30. data/spec/dummy/app/models/concerns/.keep +0 -0
  31. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  32. data/spec/dummy/config.ru +4 -0
  33. data/spec/dummy/config/application.rb +24 -0
  34. data/spec/dummy/config/boot.rb +5 -0
  35. data/spec/dummy/config/database.yml +20 -0
  36. data/spec/dummy/config/environment.rb +5 -0
  37. data/spec/dummy/config/environments/development.rb +26 -0
  38. data/spec/dummy/config/environments/production.rb +80 -0
  39. data/spec/dummy/config/environments/test.rb +36 -0
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  41. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/spec/dummy/config/initializers/inflections.rb +16 -0
  43. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  44. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  45. data/spec/dummy/config/initializers/session_store.rb +3 -0
  46. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/spec/dummy/config/locales/en.yml +23 -0
  48. data/spec/dummy/config/routes.rb +56 -0
  49. data/spec/dummy/db/migrate/20131203172849_create_activities.rb +9 -0
  50. data/spec/dummy/db/rabbitmq_definition.json +43 -0
  51. data/spec/dummy/db/schema.rb +26 -0
  52. data/spec/dummy/lib/assets/.keep +0 -0
  53. data/spec/dummy/log/.keep +0 -0
  54. data/spec/dummy/log/development.log +0 -0
  55. data/spec/dummy/public/404.html +58 -0
  56. data/spec/dummy/public/422.html +58 -0
  57. data/spec/dummy/public/500.html +57 -0
  58. data/spec/dummy/public/favicon.ico +0 -0
  59. data/spec/fixtures/create.json +18 -0
  60. data/spec/fixtures/example1.json +41 -0
  61. data/spec/helpers/listing_helper.rb +23 -0
  62. data/spec/helpers/matchers.rb +29 -0
  63. data/spec/integration/rabbitmq_definition_spec.rb +101 -0
  64. data/spec/rabbitmq_definition/command_spec.rb +23 -0
  65. data/spec/rabbitmq_definition/create_spec.rb +60 -0
  66. data/spec/rabbitmq_definition/drop_spec.rb +74 -0
  67. data/spec/rabbitmq_definition/dump_spec.rb +147 -0
  68. data/spec/rabbitmq_definition/load_spec.rb +40 -0
  69. data/spec/rabbitmq_definition_spec.rb +39 -0
  70. data/spec/spec_helper.rb +25 -0
  71. metadata +347 -0
@@ -0,0 +1,40 @@
1
+ describe RabbitMQ::Definition::Load do
2
+ let(:client) do
3
+ double(
4
+ "client",
5
+ :upload_definitions => nil,
6
+ )
7
+ end
8
+
9
+ context "when a definition file does NOT exist" do
10
+ before { allow(RabbitMQ::Definition::FileDefinition).to receive(:exists?).and_return(false) }
11
+
12
+ it "notifies about error" do
13
+ expect(RabbitMQ::Definition::Logger).to receive(:error).with("No definition with vhosts exists").once
14
+ described_class.run(client, false)
15
+ end
16
+ end
17
+
18
+ context "when a definition file does NOT exist" do
19
+ let(:json) { '{"definitions": "json"}' }
20
+ before do
21
+ allow(RabbitMQ::Definition::FileDefinition).to receive(:exists?).and_return(true)
22
+ expect(RabbitMQ::Definition::FileDefinition).to receive(:read).and_return(double(:to_json => json))
23
+ end
24
+
25
+ it "notifies progress" do
26
+ expect(RabbitMQ::Definition::Logger).to receive(:progress).with("Uploading definition...").once
27
+ described_class.run(client, true)
28
+ end
29
+
30
+ it "notifies success" do
31
+ expect(RabbitMQ::Definition::Logger).to receive(:success).with("Done").once
32
+ described_class.run(client, true)
33
+ end
34
+
35
+ it "uploads the json definition to the client " do
36
+ expect(client).to receive(:upload_definitions).with(json).once
37
+ described_class.run(client, false)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,39 @@
1
+ describe RabbitMQ::Definition do
2
+
3
+ describe ".create" do
4
+ it "calls the create command with the right parameters" do
5
+ expect(RabbitMQ::Definition::Create).to receive(:new)
6
+ .with(instance_of(RabbitMQ::HTTP::Client), false, ["/"])
7
+ .and_return(double(:execute => true))
8
+ RabbitMQ::Definition.create(["/"])
9
+ end
10
+ end
11
+
12
+ describe ".drop" do
13
+ it "calls the drop command with the right parameters" do
14
+ expect(RabbitMQ::Definition::Drop).to receive(:new)
15
+ .with(instance_of(RabbitMQ::HTTP::Client), false)
16
+ .and_return(double(:execute => true))
17
+ RabbitMQ::Definition.drop
18
+ end
19
+ end
20
+
21
+ describe ".dump" do
22
+ it "calls the drop command with the right parameters" do
23
+ expect(RabbitMQ::Definition::Dump).to receive(:new)
24
+ .with(instance_of(RabbitMQ::HTTP::Client), false, ["/"])
25
+ .and_return(double(:execute => true))
26
+ RabbitMQ::Definition.dump(["/"])
27
+ end
28
+ end
29
+
30
+ describe ".load" do
31
+ it "calls the drop command with the right parameters" do
32
+ expect(RabbitMQ::Definition::Load).to receive(:new)
33
+ .with(instance_of(RabbitMQ::HTTP::Client), false)
34
+ .and_return(double(:execute => true))
35
+ RabbitMQ::Definition.load
36
+ end
37
+ end
38
+
39
+ end
@@ -0,0 +1,25 @@
1
+ require 'codeclimate-test-reporter'
2
+ CodeClimate::TestReporter.start
3
+
4
+ require 'pry-byebug'
5
+ require 'rails'
6
+ require 'rabbitmq-definition'
7
+ require File.expand_path("../dummy/config/environment", __FILE__)
8
+ require File.expand_path("../helpers/listing_helper", __FILE__)
9
+ require File.expand_path("../helpers/matchers", __FILE__)
10
+ require 'rspec/rails'
11
+ require 'webmock/rspec'
12
+ ENV["RAILS_ENV"] = "test"
13
+ ENV['RABBITMQ_MANAGEMENT_URL'] = 'http://guest:guest@localhost:15672/api'
14
+
15
+ WebMock.disable_net_connect!(:allow => "codeclimate.com")
16
+
17
+ RSpec.configure do |config|
18
+ config.before do
19
+ allow(RabbitMQ::Definition::FileDefinition).to receive(:file_path).and_return("./db/rabbitmq_definition.json")
20
+ allow(RabbitMQ::Definition::Logger).to receive(:error).and_return(true)
21
+ allow(RabbitMQ::Definition::Logger).to receive(:progress).and_return(false)
22
+ allow(RabbitMQ::Definition::Logger).to receive(:success).and_return(false)
23
+ end
24
+ end
25
+
metadata ADDED
@@ -0,0 +1,347 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbitmq-definition
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Pol Miro
8
+ - Eduard Llamosi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-04-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.8'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.8'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rabbitmq_http_api_client
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.6'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.6'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '10.4'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '10.4'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rails
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '4.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: colorize
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.7'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.7'
84
+ - !ruby/object:Gem::Dependency
85
+ name: highline
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '1.7'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '1.7'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '3.2'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '3.2'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rspec-rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '3.2'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '3.2'
126
+ - !ruby/object:Gem::Dependency
127
+ name: timecop
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: '0.5'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '='
138
+ - !ruby/object:Gem::Version
139
+ version: '0.5'
140
+ - !ruby/object:Gem::Dependency
141
+ name: webmock
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '1.20'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '1.20'
154
+ - !ruby/object:Gem::Dependency
155
+ name: coveralls
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '0.8'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '0.8'
168
+ - !ruby/object:Gem::Dependency
169
+ name: pry-byebug
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '1.3'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '1.3'
182
+ - !ruby/object:Gem::Dependency
183
+ name: codeclimate-test-reporter
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '0.3'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: '0.3'
196
+ description: Documentation
197
+ email: polmiro@gmail.com
198
+ executables: []
199
+ extensions: []
200
+ extra_rdoc_files: []
201
+ files:
202
+ - ".gitignore"
203
+ - ".rspec"
204
+ - Gemfile
205
+ - Gemfile.lock
206
+ - README.md
207
+ - lib/rabbitmq-definition.rb
208
+ - lib/rabbitmq_definition/command.rb
209
+ - lib/rabbitmq_definition/create.rb
210
+ - lib/rabbitmq_definition/drop.rb
211
+ - lib/rabbitmq_definition/dump.rb
212
+ - lib/rabbitmq_definition/engine.rb
213
+ - lib/rabbitmq_definition/file_definition.rb
214
+ - lib/rabbitmq_definition/load.rb
215
+ - lib/rabbitmq_definition/logger.rb
216
+ - lib/rabbitmq_definition/rabbitmq-definition.rake
217
+ - lib/rabbitmq_definition/version.rb
218
+ - rabbitmq-definition.gemspec
219
+ - spec/dummy/README.rdoc
220
+ - spec/dummy/Rakefile
221
+ - spec/dummy/app/assets/images/.keep
222
+ - spec/dummy/app/assets/javascripts/application.js
223
+ - spec/dummy/app/assets/stylesheets/application.css
224
+ - spec/dummy/app/controllers/application_controller.rb
225
+ - spec/dummy/app/controllers/concerns/.keep
226
+ - spec/dummy/app/helpers/application_helper.rb
227
+ - spec/dummy/app/mailers/.keep
228
+ - spec/dummy/app/models/.keep
229
+ - spec/dummy/app/models/activity.rb
230
+ - spec/dummy/app/models/concerns/.keep
231
+ - spec/dummy/app/views/layouts/application.html.erb
232
+ - spec/dummy/config.ru
233
+ - spec/dummy/config/application.rb
234
+ - spec/dummy/config/boot.rb
235
+ - spec/dummy/config/database.yml
236
+ - spec/dummy/config/environment.rb
237
+ - spec/dummy/config/environments/development.rb
238
+ - spec/dummy/config/environments/production.rb
239
+ - spec/dummy/config/environments/test.rb
240
+ - spec/dummy/config/initializers/backtrace_silencers.rb
241
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
242
+ - spec/dummy/config/initializers/inflections.rb
243
+ - spec/dummy/config/initializers/mime_types.rb
244
+ - spec/dummy/config/initializers/secret_token.rb
245
+ - spec/dummy/config/initializers/session_store.rb
246
+ - spec/dummy/config/initializers/wrap_parameters.rb
247
+ - spec/dummy/config/locales/en.yml
248
+ - spec/dummy/config/routes.rb
249
+ - spec/dummy/db/migrate/20131203172849_create_activities.rb
250
+ - spec/dummy/db/rabbitmq_definition.json
251
+ - spec/dummy/db/schema.rb
252
+ - spec/dummy/lib/assets/.keep
253
+ - spec/dummy/log/.keep
254
+ - spec/dummy/log/development.log
255
+ - spec/dummy/public/404.html
256
+ - spec/dummy/public/422.html
257
+ - spec/dummy/public/500.html
258
+ - spec/dummy/public/favicon.ico
259
+ - spec/fixtures/create.json
260
+ - spec/fixtures/example1.json
261
+ - spec/helpers/listing_helper.rb
262
+ - spec/helpers/matchers.rb
263
+ - spec/integration/rabbitmq_definition_spec.rb
264
+ - spec/rabbitmq_definition/command_spec.rb
265
+ - spec/rabbitmq_definition/create_spec.rb
266
+ - spec/rabbitmq_definition/drop_spec.rb
267
+ - spec/rabbitmq_definition/dump_spec.rb
268
+ - spec/rabbitmq_definition/load_spec.rb
269
+ - spec/rabbitmq_definition_spec.rb
270
+ - spec/spec_helper.rb
271
+ homepage: http://github.com/quri/rabbitmq-definition
272
+ licenses:
273
+ - MIT
274
+ metadata: {}
275
+ post_install_message:
276
+ rdoc_options: []
277
+ require_paths:
278
+ - lib
279
+ required_ruby_version: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ required_rubygems_version: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: '0'
289
+ requirements: []
290
+ rubyforge_project:
291
+ rubygems_version: 2.2.2
292
+ signing_key:
293
+ specification_version: 4
294
+ summary: RabbitMQ definition management
295
+ test_files:
296
+ - spec/dummy/README.rdoc
297
+ - spec/dummy/Rakefile
298
+ - spec/dummy/app/assets/images/.keep
299
+ - spec/dummy/app/assets/javascripts/application.js
300
+ - spec/dummy/app/assets/stylesheets/application.css
301
+ - spec/dummy/app/controllers/application_controller.rb
302
+ - spec/dummy/app/controllers/concerns/.keep
303
+ - spec/dummy/app/helpers/application_helper.rb
304
+ - spec/dummy/app/mailers/.keep
305
+ - spec/dummy/app/models/.keep
306
+ - spec/dummy/app/models/activity.rb
307
+ - spec/dummy/app/models/concerns/.keep
308
+ - spec/dummy/app/views/layouts/application.html.erb
309
+ - spec/dummy/config.ru
310
+ - spec/dummy/config/application.rb
311
+ - spec/dummy/config/boot.rb
312
+ - spec/dummy/config/database.yml
313
+ - spec/dummy/config/environment.rb
314
+ - spec/dummy/config/environments/development.rb
315
+ - spec/dummy/config/environments/production.rb
316
+ - spec/dummy/config/environments/test.rb
317
+ - spec/dummy/config/initializers/backtrace_silencers.rb
318
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
319
+ - spec/dummy/config/initializers/inflections.rb
320
+ - spec/dummy/config/initializers/mime_types.rb
321
+ - spec/dummy/config/initializers/secret_token.rb
322
+ - spec/dummy/config/initializers/session_store.rb
323
+ - spec/dummy/config/initializers/wrap_parameters.rb
324
+ - spec/dummy/config/locales/en.yml
325
+ - spec/dummy/config/routes.rb
326
+ - spec/dummy/db/migrate/20131203172849_create_activities.rb
327
+ - spec/dummy/db/rabbitmq_definition.json
328
+ - spec/dummy/db/schema.rb
329
+ - spec/dummy/lib/assets/.keep
330
+ - spec/dummy/log/.keep
331
+ - spec/dummy/log/development.log
332
+ - spec/dummy/public/404.html
333
+ - spec/dummy/public/422.html
334
+ - spec/dummy/public/500.html
335
+ - spec/dummy/public/favicon.ico
336
+ - spec/fixtures/create.json
337
+ - spec/fixtures/example1.json
338
+ - spec/helpers/listing_helper.rb
339
+ - spec/helpers/matchers.rb
340
+ - spec/integration/rabbitmq_definition_spec.rb
341
+ - spec/rabbitmq_definition/command_spec.rb
342
+ - spec/rabbitmq_definition/create_spec.rb
343
+ - spec/rabbitmq_definition/drop_spec.rb
344
+ - spec/rabbitmq_definition/dump_spec.rb
345
+ - spec/rabbitmq_definition/load_spec.rb
346
+ - spec/rabbitmq_definition_spec.rb
347
+ - spec/spec_helper.rb