ey-core 3.0.5 → 3.1.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -7
  3. data/bin/ey-core +1 -1
  4. data/ey-core.gemspec +15 -1
  5. data/lib/ey-core/cli.rb +12 -114
  6. data/lib/ey-core/cli/accounts.rb +9 -0
  7. data/lib/ey-core/cli/applications.rb +16 -0
  8. data/lib/ey-core/cli/console.rb +14 -0
  9. data/lib/ey-core/cli/current_user.rb +8 -0
  10. data/lib/ey-core/cli/deploy.rb +65 -0
  11. data/lib/ey-core/cli/environments.rb +17 -0
  12. data/lib/ey-core/cli/errors.rb +7 -0
  13. data/lib/ey-core/cli/init.rb +11 -0
  14. data/lib/ey-core/cli/login.rb +26 -0
  15. data/lib/ey-core/cli/logout.rb +14 -0
  16. data/lib/ey-core/cli/logs.rb +40 -0
  17. data/lib/ey-core/cli/recipes.rb +92 -0
  18. data/lib/ey-core/cli/recipes/apply.rb +34 -0
  19. data/lib/ey-core/cli/recipes/download.rb +26 -0
  20. data/lib/ey-core/cli/recipes/upload.rb +27 -0
  21. data/lib/ey-core/cli/scp.rb +11 -0
  22. data/lib/ey-core/cli/servers.rb +19 -0
  23. data/lib/ey-core/cli/ssh.rb +94 -0
  24. data/lib/ey-core/cli/status.rb +20 -0
  25. data/lib/ey-core/cli/subcommand.rb +114 -0
  26. data/lib/ey-core/cli/timeout_deploy.rb +28 -0
  27. data/lib/ey-core/cli/version.rb +8 -0
  28. data/lib/ey-core/cli/web.rb +10 -0
  29. data/lib/ey-core/cli/web/disable.rb +23 -0
  30. data/lib/ey-core/cli/web/enable.rb +23 -0
  31. data/lib/ey-core/cli/web/restart.rb +23 -0
  32. data/lib/ey-core/cli/whoami.rb +4 -0
  33. data/lib/ey-core/client.rb +9 -0
  34. data/lib/ey-core/client/mock.rb +1 -0
  35. data/lib/ey-core/client/real.rb +4 -4
  36. data/lib/ey-core/collections/deployments.rb +8 -0
  37. data/lib/ey-core/models/account.rb +1 -0
  38. data/lib/ey-core/models/deployment.rb +23 -0
  39. data/lib/ey-core/models/environment.rb +37 -0
  40. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -0
  41. data/lib/ey-core/requests/create_environment.rb +3 -0
  42. data/lib/ey-core/requests/deploy_environment_application.rb +17 -0
  43. data/lib/ey-core/requests/get_deployment.rb +19 -0
  44. data/lib/ey-core/requests/get_deployments.rb +29 -0
  45. data/lib/ey-core/requests/get_token_by_login.rb +30 -0
  46. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -0
  47. data/lib/ey-core/requests/timeout_deployment.rb +27 -0
  48. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -0
  49. data/lib/ey-core/version.rb +1 -1
  50. data/spec/deployments_spec.rb +24 -0
  51. data/spec/tokens_spec.rb +23 -1
  52. metadata +228 -8
@@ -0,0 +1,30 @@
1
+ class Ey::Core::Client
2
+ class Real
3
+ def get_token_by_login(params={})
4
+ url = params.delete("url")
5
+
6
+ request(
7
+ :authenticated => false,
8
+ :body => params,
9
+ :method => :post,
10
+ :path => "/tokens",
11
+ :url => url,
12
+ )
13
+ end
14
+ end
15
+
16
+ class Mock
17
+ def get_token_by_login(params={})
18
+ user = self.data[:users].values.detect { |u| u["username"] == params[:username] && u["password"] == params[:password] }
19
+
20
+ if user
21
+ response(
22
+ :status => 200,
23
+ :body => {"api_token" => user["token"]},
24
+ )
25
+ else
26
+ response(status: 401)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ class Ey::Core::Client
2
+ class Real
3
+ def restart_environment_app_servers(params={})
4
+ id = params.delete("id")
5
+ url = params.delete("url")
6
+
7
+ request(
8
+ :body => params,
9
+ :method => :put,
10
+ :path => "environments/#{id}/app_restart",
11
+ :url => url,
12
+ )
13
+ end
14
+ end
15
+
16
+ class Mock
17
+ def restart_environment_app_servers(params={})
18
+ find(:environments, resource_identity(params))
19
+ request_id = self.uuid
20
+
21
+ request = {
22
+ "id" => request_id,
23
+ "type" => "app_deployment_maintenance",
24
+ "successful" => "true",
25
+ "started_at" => Time.now,
26
+ "finished_at" => nil,
27
+ "resource_url" => nil
28
+ }
29
+
30
+ self.data[:requests][request_id] = request
31
+
32
+ response(
33
+ :body => {"request" => request},
34
+ :status => 200,
35
+ )
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,27 @@
1
+ class Ey::Core::Client
2
+ class Real
3
+ def timeout_deployment(params={})
4
+ id = params.delete("id")
5
+ url = params.delete("url")
6
+
7
+ request(
8
+ :body => params,
9
+ :method => :put,
10
+ :path => "deployments/#{id}/timeout",
11
+ :url => url,
12
+ )
13
+ end
14
+ end
15
+
16
+ class Mock
17
+ def timeout_deployment(params={})
18
+ deployment = find(:deployments, resource_identity(params))
19
+
20
+ deployment["successful"] = false
21
+
22
+ self.data[:deployments][deployment["id"]] = deployment
23
+
24
+ response(body: {"deployment" => deployment})
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ class Ey::Core::Client
2
+ class Real
3
+ def upload_recipes_for_environment(params={})
4
+ file = params.delete("file")
5
+ id = params.delete("id")
6
+ url = params.delete("url")
7
+
8
+
9
+ request(
10
+ :body => {"file" => Faraday::UploadIO.new(file, "application/x-gzip")},
11
+ :headers => {"Content-Type" => "multipart/form-data" },
12
+ :method => :post,
13
+ :path => "environments/#{id}/recipes",
14
+ :url => url,
15
+ )
16
+ end
17
+ end
18
+
19
+ class Mock
20
+ def upload_recipes_for_environment(params={})
21
+ environment = find(:environments, resource_identity(params))
22
+ environment["custom_recipes"] = "https://#{self.uuid}.s3.amazonaws.com/#{self.uuid}?X-Amz-Expires=1800"
23
+ self.data[:environments][environment["id"]] = environment
24
+
25
+ response(status: 204)
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,5 @@
1
1
  module Ey
2
2
  module Core
3
- VERSION = "3.0.5"
3
+ VERSION = "3.1.0"
4
4
  end
5
5
  end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe "deployments" do
4
+ let!(:client) { create_client }
5
+ let!(:account) { create_account(client: client) }
6
+ let!(:application) { create_application(account: account) }
7
+ let!(:environment) { create_environment(account: account, application: application, name: Faker::Name.first_name) }
8
+
9
+ before(:each) { environment.deploy(application, ref: "HEAD").resource! }
10
+
11
+ it "lists deployments" do
12
+ expect(environment.deployments).not_to be_empty
13
+ deployment = environment.deployments.first
14
+ expect(deployment.reload).to be
15
+ end
16
+
17
+ it "times out a deployment" do
18
+ deployment = environment.deployments.first
19
+
20
+ expect {
21
+ deployment.timeout
22
+ }.to change { deployment.reload.successful }.to(false)
23
+ end
24
+ end
@@ -5,7 +5,29 @@ describe 'tokens' do
5
5
  let!(:client) { create_client }
6
6
 
7
7
  context "with a user" do
8
- let!(:user) { client.users.create!(name: Faker::Name.name, email: Faker::Internet.email) }
8
+ let!(:email) { Faker::Internet.email }
9
+ let!(:password) { SecureRandom.hex(5) }
10
+ let!(:user) { client.users.create!(name: Faker::Name.name, email: email, password: password) }
11
+
12
+ it "retrieves a token by login information" do
13
+ if Ey::Core::Client.mocking?
14
+ token = SecureRandom.hex(10)
15
+ client.data[:users][user.id]["token"] = token
16
+ end
17
+
18
+ expect(client.get_token_by_login(email: email, password: password).body["api_token"]).to be
19
+ end
20
+
21
+ it "does not retrieve a token with login information with an incorrect password" do
22
+ if Ey::Core::Client.mocking?
23
+ token = SecureRandom.hex(10)
24
+ client.data[:users][user.id]["token"] = token
25
+ end
26
+
27
+ expect {
28
+ client.get_token_by_login(email: email, password: "whoops")
29
+ }.to raise_error(Ey::Core::Response::Unauthorized)
30
+ end
9
31
 
10
32
  it "generates a token" do
11
33
  token = client.tokens.create!(on_behalf_of: user)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ey-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Lane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-13 00:00:00.000000000 Z
11
+ date: 2016-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: awesome_print
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
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: belafonte
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: cistern
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +66,20 @@ dependencies:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: colorize
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: ey-hmac
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +95,19 @@ dependencies:
53
95
  - !ruby/object:Gem::Version
54
96
  version: '2.0'
55
97
  - !ruby/object:Gem::Dependency
56
- name: sshkey
98
+ name: escape
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
- - - "~>"
101
+ - - ">="
60
102
  - !ruby/object:Gem::Version
61
- version: '1.6'
103
+ version: '0'
62
104
  type: :runtime
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
- - - "~>"
108
+ - - ">="
67
109
  - !ruby/object:Gem::Version
68
- version: '1.6'
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: faraday
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +136,20 @@ dependencies:
94
136
  - - "~>"
95
137
  - !ruby/object:Gem::Version
96
138
  version: '0.9'
139
+ - !ruby/object:Gem::Dependency
140
+ name: faye
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
97
153
  - !ruby/object:Gem::Dependency
98
154
  name: mime-types
99
155
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +164,132 @@ dependencies:
108
164
  - - "~>"
109
165
  - !ruby/object:Gem::Version
110
166
  version: '2.99'
167
+ - !ruby/object:Gem::Dependency
168
+ name: oj
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: oj_mimic_json
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: pry
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: sshkey
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.6'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.6'
223
+ - !ruby/object:Gem::Dependency
224
+ name: table_print
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: pry-nav
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: rspec
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '3.0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '3.0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: ffaker
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rake
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
111
293
  description: Engine Yard Core API Ruby Client
112
294
  email:
113
295
  - jlane@engineyard.com
@@ -131,6 +313,33 @@ files:
131
313
  - lib/ey-core.rb
132
314
  - lib/ey-core/associations.rb
133
315
  - lib/ey-core/cli.rb
316
+ - lib/ey-core/cli/accounts.rb
317
+ - lib/ey-core/cli/applications.rb
318
+ - lib/ey-core/cli/console.rb
319
+ - lib/ey-core/cli/current_user.rb
320
+ - lib/ey-core/cli/deploy.rb
321
+ - lib/ey-core/cli/environments.rb
322
+ - lib/ey-core/cli/errors.rb
323
+ - lib/ey-core/cli/init.rb
324
+ - lib/ey-core/cli/login.rb
325
+ - lib/ey-core/cli/logout.rb
326
+ - lib/ey-core/cli/logs.rb
327
+ - lib/ey-core/cli/recipes.rb
328
+ - lib/ey-core/cli/recipes/apply.rb
329
+ - lib/ey-core/cli/recipes/download.rb
330
+ - lib/ey-core/cli/recipes/upload.rb
331
+ - lib/ey-core/cli/scp.rb
332
+ - lib/ey-core/cli/servers.rb
333
+ - lib/ey-core/cli/ssh.rb
334
+ - lib/ey-core/cli/status.rb
335
+ - lib/ey-core/cli/subcommand.rb
336
+ - lib/ey-core/cli/timeout_deploy.rb
337
+ - lib/ey-core/cli/version.rb
338
+ - lib/ey-core/cli/web.rb
339
+ - lib/ey-core/cli/web/disable.rb
340
+ - lib/ey-core/cli/web/enable.rb
341
+ - lib/ey-core/cli/web/restart.rb
342
+ - lib/ey-core/cli/whoami.rb
134
343
  - lib/ey-core/client.rb
135
344
  - lib/ey-core/client/mock.rb
136
345
  - lib/ey-core/client/real.rb
@@ -155,6 +364,7 @@ files:
155
364
  - lib/ey-core/collections/database_server_usages.rb
156
365
  - lib/ey-core/collections/database_servers.rb
157
366
  - lib/ey-core/collections/database_services.rb
367
+ - lib/ey-core/collections/deployments.rb
158
368
  - lib/ey-core/collections/environment_plan_usages.rb
159
369
  - lib/ey-core/collections/environments.rb
160
370
  - lib/ey-core/collections/features.rb
@@ -218,6 +428,7 @@ files:
218
428
  - lib/ey-core/models/database_server_snapshot.rb
219
429
  - lib/ey-core/models/database_server_usage.rb
220
430
  - lib/ey-core/models/database_service.rb
431
+ - lib/ey-core/models/deployment.rb
221
432
  - lib/ey-core/models/environment.rb
222
433
  - lib/ey-core/models/environment_plan_usage.rb
223
434
  - lib/ey-core/models/feature.rb
@@ -262,6 +473,7 @@ files:
262
473
  - lib/ey-core/requests/boot_environment.rb
263
474
  - lib/ey-core/requests/bootstrap_logical_database.rb
264
475
  - lib/ey-core/requests/cancel_account.rb
476
+ - lib/ey-core/requests/change_environment_maintenance.rb
265
477
  - lib/ey-core/requests/create_account.rb
266
478
  - lib/ey-core/requests/create_addon.rb
267
479
  - lib/ey-core/requests/create_address.rb
@@ -357,6 +569,8 @@ files:
357
569
  - lib/ey-core/requests/get_database_servers_firewalls.rb
358
570
  - lib/ey-core/requests/get_database_service.rb
359
571
  - lib/ey-core/requests/get_database_services.rb
572
+ - lib/ey-core/requests/get_deployment.rb
573
+ - lib/ey-core/requests/get_deployments.rb
360
574
  - lib/ey-core/requests/get_environment.rb
361
575
  - lib/ey-core/requests/get_environment_database_services.rb
362
576
  - lib/ey-core/requests/get_environment_logical_databases.rb
@@ -415,6 +629,7 @@ files:
415
629
  - lib/ey-core/requests/get_task.rb
416
630
  - lib/ey-core/requests/get_tasks.rb
417
631
  - lib/ey-core/requests/get_token.rb
632
+ - lib/ey-core/requests/get_token_by_login.rb
418
633
  - lib/ey-core/requests/get_tokens.rb
419
634
  - lib/ey-core/requests/get_untracked_server.rb
420
635
  - lib/ey-core/requests/get_untracked_servers.rb
@@ -425,9 +640,11 @@ files:
425
640
  - lib/ey-core/requests/reboot_server.rb
426
641
  - lib/ey-core/requests/request_callback.rb
427
642
  - lib/ey-core/requests/reset_password.rb
643
+ - lib/ey-core/requests/restart_environment_app_servers.rb
428
644
  - lib/ey-core/requests/run_cluster_application_action.rb
429
645
  - lib/ey-core/requests/run_environment_application_action.rb
430
646
  - lib/ey-core/requests/signup.rb
647
+ - lib/ey-core/requests/timeout_deployment.rb
431
648
  - lib/ey-core/requests/update_addon.rb
432
649
  - lib/ey-core/requests/update_address.rb
433
650
  - lib/ey-core/requests/update_alert.rb
@@ -441,6 +658,7 @@ files:
441
658
  - lib/ey-core/requests/update_ssl_certificate.rb
442
659
  - lib/ey-core/requests/update_untracked_server.rb
443
660
  - lib/ey-core/requests/upload_file.rb
661
+ - lib/ey-core/requests/upload_recipes_for_environment.rb
444
662
  - lib/ey-core/response.rb
445
663
  - lib/ey-core/response_cache.rb
446
664
  - lib/ey-core/subscribable.rb
@@ -464,6 +682,7 @@ files:
464
682
  - spec/database_server_usage_spec.rb
465
683
  - spec/database_servers_spec.rb
466
684
  - spec/database_services_spec.rb
685
+ - spec/deployments_spec.rb
467
686
  - spec/environment_plan_usage_spec.rb
468
687
  - spec/environments_spec.rb
469
688
  - spec/features_spec.rb
@@ -523,7 +742,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
523
742
  version: '0'
524
743
  requirements: []
525
744
  rubyforge_project:
526
- rubygems_version: 2.4.5
745
+ rubygems_version: 2.5.1
527
746
  signing_key:
528
747
  specification_version: 4
529
748
  summary: Client library providing real and mock functionality for accessing Engine
@@ -547,6 +766,7 @@ test_files:
547
766
  - spec/database_server_usage_spec.rb
548
767
  - spec/database_servers_spec.rb
549
768
  - spec/database_services_spec.rb
769
+ - spec/deployments_spec.rb
550
770
  - spec/environment_plan_usage_spec.rb
551
771
  - spec/environments_spec.rb
552
772
  - spec/features_spec.rb