fog-core 1.24.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +5 -13
  2. data/.rubocop.yml +20 -0
  3. data/changelog.md +17 -0
  4. data/fog-core.gemspec +2 -1
  5. data/lib/fog/account.rb +3 -5
  6. data/lib/fog/billing.rb +3 -4
  7. data/lib/fog/cdn.rb +3 -5
  8. data/lib/fog/compute.rb +17 -20
  9. data/lib/fog/compute/models/server.rb +21 -26
  10. data/lib/fog/core.rb +61 -60
  11. data/lib/fog/core/association.rb +15 -0
  12. data/lib/fog/core/associations/default.rb +21 -3
  13. data/lib/fog/core/associations/many_identities.rb +8 -2
  14. data/lib/fog/core/associations/many_models.rb +7 -2
  15. data/lib/fog/core/associations/one_identity.rb +6 -1
  16. data/lib/fog/core/associations/one_model.rb +5 -1
  17. data/lib/fog/core/attributes.rb +41 -44
  18. data/lib/fog/core/attributes/array.rb +5 -1
  19. data/lib/fog/core/attributes/boolean.rb +5 -1
  20. data/lib/fog/core/attributes/default.rb +12 -2
  21. data/lib/fog/core/attributes/float.rb +5 -1
  22. data/lib/fog/core/attributes/integer.rb +5 -1
  23. data/lib/fog/core/attributes/string.rb +5 -1
  24. data/lib/fog/core/attributes/time.rb +5 -1
  25. data/lib/fog/core/attributes/timestamp.rb +5 -1
  26. data/lib/fog/core/collection.rb +22 -27
  27. data/lib/fog/core/connection.rb +5 -6
  28. data/lib/fog/core/credentials.rb +7 -7
  29. data/lib/fog/core/current_machine.rb +10 -8
  30. data/lib/fog/core/deprecated_connection_accessors.rb +0 -1
  31. data/lib/fog/core/deprecation.rb +0 -2
  32. data/lib/fog/core/errors.rb +3 -5
  33. data/lib/fog/core/hmac.rb +4 -6
  34. data/lib/fog/core/logger.rb +10 -11
  35. data/lib/fog/core/mock.rb +19 -25
  36. data/lib/fog/core/model.rb +9 -20
  37. data/lib/fog/core/provider.rb +6 -9
  38. data/lib/fog/core/scp.rb +14 -24
  39. data/lib/fog/core/service.rb +28 -31
  40. data/lib/fog/core/ssh.rb +16 -24
  41. data/lib/fog/core/stringify_keys.rb +7 -9
  42. data/lib/fog/core/time.rb +5 -7
  43. data/lib/fog/core/utils.rb +24 -20
  44. data/lib/fog/core/uuid.rb +2 -3
  45. data/lib/fog/core/version.rb +3 -1
  46. data/lib/fog/core/wait_for.rb +2 -2
  47. data/lib/fog/core/wait_for_defaults.rb +13 -10
  48. data/lib/fog/core/whitelist_keys.rb +1 -1
  49. data/lib/fog/dns.rb +6 -8
  50. data/lib/fog/identity.rb +5 -6
  51. data/lib/fog/image.rb +3 -5
  52. data/lib/fog/metering.rb +3 -6
  53. data/lib/fog/monitoring.rb +3 -5
  54. data/lib/fog/network.rb +4 -6
  55. data/lib/fog/orchestration.rb +3 -5
  56. data/lib/fog/schema/data_validator.rb +17 -22
  57. data/lib/fog/storage.rb +22 -16
  58. data/lib/fog/support.rb +3 -6
  59. data/lib/fog/test_helpers.rb +10 -10
  60. data/lib/fog/test_helpers/collection_helper.rb +23 -43
  61. data/lib/fog/test_helpers/compute/flavors_helper.rb +4 -10
  62. data/lib/fog/test_helpers/compute/server_helper.rb +3 -9
  63. data/lib/fog/test_helpers/compute/servers_helper.rb +0 -4
  64. data/lib/fog/test_helpers/formats_helper.rb +13 -14
  65. data/lib/fog/test_helpers/helper.rb +9 -4
  66. data/lib/fog/test_helpers/mock_helper.rb +92 -94
  67. data/lib/fog/test_helpers/model_helper.rb +7 -15
  68. data/lib/fog/test_helpers/responds_to_helper.rb +1 -3
  69. data/lib/fog/test_helpers/succeeds_helper.rb +1 -3
  70. data/lib/fog/volume.rb +3 -6
  71. data/lib/fog/vpn.rb +3 -5
  72. data/lib/tasks/test_task.rb +2 -6
  73. data/spec/compute_spec.rb +11 -13
  74. data/spec/connection_spec.rb +24 -14
  75. data/spec/credentials_spec.rb +23 -23
  76. data/spec/current_machine_spec.rb +6 -6
  77. data/spec/fake_app/fake_service.rb +18 -0
  78. data/spec/fake_app/models/collection.rb +5 -0
  79. data/spec/fake_app/models/model.rb +2 -0
  80. data/spec/fake_app/requests/request.rb +11 -0
  81. data/spec/fog_attribute_spec.rb +178 -136
  82. data/spec/identity_spec.rb +11 -13
  83. data/spec/mocking_spec.rb +7 -8
  84. data/spec/service_spec.rb +21 -7
  85. data/spec/spec_helper.rb +14 -8
  86. data/spec/storage_spec.rb +25 -13
  87. data/spec/test_helpers/formats_helper_spec.rb +52 -52
  88. data/spec/test_helpers/schema_validator_spec.rb +45 -45
  89. data/spec/timeout_spec.rb +1 -2
  90. data/spec/utils_spec.rb +2 -2
  91. data/spec/uuid_spec.rb +1 -1
  92. data/spec/wait_for_spec.rb +7 -4
  93. metadata +57 -33
@@ -0,0 +1,5 @@
1
+ require File.join(File.dirname(__FILE__), "model")
2
+
3
+ class Collection < Fog::Collection
4
+ model Model
5
+ end
@@ -0,0 +1,2 @@
1
+ class Model < Fog::Model
2
+ end
@@ -0,0 +1,11 @@
1
+ class FakeService < Fog::Service
2
+ class Real
3
+ def request
4
+ end
5
+ end
6
+
7
+ class Mock
8
+ def request
9
+ end
10
+ end
11
+ end
@@ -1,28 +1,5 @@
1
- require 'spec_helper'
2
- require 'xmlrpc/datetime'
3
-
4
- class FogAttributeTestModel < Fog::Model
5
- identity :id
6
- attribute :key, :aliases => "keys", :squash => "id"
7
- attribute :time, :type => :time
8
- attribute :bool, :type => :boolean
9
- attribute :float, :type => :float
10
- attribute :integer, :type => :integer
11
- attribute :string, :type => :string
12
- attribute :timestamp, :type => :timestamp
13
- attribute :array, :type => :array
14
- attribute :default, :default => 'default_value', :aliases => :some_name
15
- attribute :another_default, :default => false
16
-
17
- has_one :one_object, :single_associations
18
- has_many :many_objects, :multiple_associations
19
- has_one_identity :one_identity, :single_associations
20
- has_many_identities :many_identities, :multiple_associations
21
-
22
- def service
23
- Service.new
24
- end
25
- end
1
+ require "spec_helper"
2
+ require "xmlrpc/datetime"
26
3
 
27
4
  class Service
28
5
  def single_associations
@@ -34,30 +11,57 @@ class Service
34
11
  end
35
12
  end
36
13
 
14
+ class FogSingleAssociationModel < Fog::Model
15
+ identity :id
16
+ attribute :name, :type => :string
17
+ end
18
+
19
+ class FogMultipleAssociationsModel < Fog::Model
20
+ identity :id
21
+ attribute :name, :type => :string
22
+ end
23
+
37
24
  class FogSingleAssociationCollection
38
25
  def get(id)
39
26
  FogSingleAssociationModel.new(:id => id)
40
27
  end
41
28
  end
42
29
 
43
- class FogMultipleAssociationsCollection
30
+ class FogMultipleAssociationsCollection < Fog::Association
31
+ model FogMultipleAssociationsModel
32
+
44
33
  def get(id)
45
34
  FogMultipleAssociationsModel.new(:id => id)
46
35
  end
47
36
  end
48
37
 
49
- class FogSingleAssociationModel < Fog::Model
38
+ class FogAttributeTestModel < Fog::Model
50
39
  identity :id
51
- attribute :name, :type => :string
52
- end
40
+ attribute :key, :aliases => "keys", :squash => "id"
41
+ attribute :time, :type => :time
42
+ attribute :bool, :type => :boolean
43
+ attribute :float, :type => :float
44
+ attribute :integer, :type => :integer
45
+ attribute :string, :type => :string
46
+ attribute :timestamp, :type => :timestamp
47
+ attribute :array, :type => :array
48
+ attribute :default, :default => "default_value", :aliases => :some_name
49
+ attribute :another_default, :default => false
50
+ attribute :good_name, :as => :Badname
53
51
 
54
- class FogMultipleAssociationsModel < Fog::Model
55
- identity :id
56
- attribute :name, :type => :string
52
+ has_one :one_object, :single_associations, :aliases => :single
53
+ has_many :many_objects, :multiple_associations
54
+ has_many :objects, :multiple_associations, :association_class => FogMultipleAssociationsCollection
55
+ has_one_identity :one_identity, :single_associations, :as => :Crazyname
56
+ has_many_identities :many_identities, :multiple_associations, :aliases => :multiple
57
+ has_many_identities :identities, :multiple_associations, :association_class => FogMultipleAssociationsCollection
58
+
59
+ def service
60
+ Service.new
61
+ end
57
62
  end
58
63
 
59
64
  describe "Fog::Attributes" do
60
-
61
65
  let(:model) { FogAttributeTestModel.new }
62
66
 
63
67
  it "should not create alias for nil" do
@@ -66,12 +70,12 @@ describe "Fog::Attributes" do
66
70
 
67
71
  describe "squash 'id'" do
68
72
  it "squashes if the key is a String" do
69
- model.merge_attributes("keys" => {:id => "value"})
70
- assert_equal"value", model.key
73
+ model.merge_attributes("keys" => { :id => "value" })
74
+ assert_equal "value", model.key
71
75
  end
72
76
 
73
77
  it "squashes if the key is a Symbol" do
74
- model.merge_attributes("keys" => {"id" => "value"})
78
+ model.merge_attributes("keys" => { "id" => "value" })
75
79
  assert_equal "value", model.key
76
80
  end
77
81
  end
@@ -134,7 +138,7 @@ describe "Fog::Attributes" do
134
138
  end
135
139
 
136
140
  it "returns a string as float" do
137
- model.merge_attributes(:float => '1')
141
+ model.merge_attributes(:float => "1")
138
142
  assert_in_delta 1.0, model.float
139
143
  end
140
144
  end
@@ -146,7 +150,7 @@ describe "Fog::Attributes" do
146
150
  end
147
151
 
148
152
  it "returns a string as integer" do
149
- model.merge_attributes(:integer => '1')
153
+ model.merge_attributes(:integer => "1")
150
154
  assert_in_delta 1, model.integer
151
155
  end
152
156
  end
@@ -154,31 +158,31 @@ describe "Fog::Attributes" do
154
158
  describe ":type => :string" do
155
159
  it "returns a float as string" do
156
160
  model.merge_attributes(:string => 1.5)
157
- assert_equal '1.5', model.string
161
+ assert_equal "1.5", model.string
158
162
  end
159
163
 
160
164
  it "returns a integer as string" do
161
165
  model.merge_attributes(:string => 1)
162
- assert_equal '1', model.string
166
+ assert_equal "1", model.string
163
167
  end
164
168
  end
165
169
 
166
170
  describe ":type => :timestamp" do
167
171
  it "returns a date as time" do
168
172
  model.merge_attributes(:timestamp => Date.new(2008, 10, 12))
169
- assert_equal '2008-10-12 00:00', model.timestamp.strftime('%Y-%m-%d %M:%S')
173
+ assert_equal "2008-10-12 00:00", model.timestamp.strftime("%Y-%m-%d %M:%S")
170
174
  assert_instance_of Fog::Time, model.timestamp
171
175
  end
172
176
 
173
177
  it "returns a time as time" do
174
178
  model.merge_attributes(:timestamp => Time.mktime(2007, 11, 1, 15, 25))
175
- assert_equal '2007-11-01 25:00', model.timestamp.strftime('%Y-%m-%d %M:%S')
179
+ assert_equal "2007-11-01 25:00", model.timestamp.strftime("%Y-%m-%d %M:%S")
176
180
  assert_instance_of Fog::Time, model.timestamp
177
181
  end
178
182
 
179
183
  it "returns a date_time as time" do
180
184
  model.merge_attributes(:timestamp => DateTime.new(2007, 11, 1, 15, 25, 0))
181
- assert_equal '2007-11-01 25:00', model.timestamp.strftime('%Y-%m-%d %M:%S')
185
+ assert_equal "2007-11-01 25:00", model.timestamp.strftime("%Y-%m-%d %M:%S")
182
186
  assert_instance_of Fog::Time, model.timestamp
183
187
  end
184
188
  end
@@ -205,12 +209,12 @@ describe "Fog::Attributes" do
205
209
 
206
210
  it "returns a single element as array" do
207
211
  model.merge_attributes(:array => 1.5)
208
- assert_equal [ 1.5 ], model.array
212
+ assert_equal [1.5], model.array
209
213
  end
210
214
 
211
215
  it "returns an array as array" do
212
- model.merge_attributes(:array => [ 1, 2 ])
213
- assert_equal [ 1, 2 ], model.array
216
+ model.merge_attributes(:array => [1, 2])
217
+ assert_equal [1, 2], model.array
214
218
  end
215
219
  end
216
220
 
@@ -220,17 +224,17 @@ describe "Fog::Attributes" do
220
224
  end
221
225
 
222
226
  it "should return the value of the object when default is not defined" do
223
- model.merge_attributes({ :bool => false })
227
+ model.merge_attributes(:bool => false)
224
228
  assert_equal model.bool, false
225
229
  end
226
230
 
227
231
  it "should return the default value on a new object with value equal nil" do
228
- assert_equal model.default, 'default_value'
232
+ assert_equal model.default, "default_value"
229
233
  end
230
234
 
231
235
  it "should return the value on a new object with value not equal nil" do
232
- model.default = 'not default'
233
- assert_equal model.default, 'not default'
236
+ model.default = "not default"
237
+ assert_equal model.default, "not default"
234
238
  end
235
239
 
236
240
  it "should return false when default value is false on a new object" do
@@ -238,12 +242,12 @@ describe "Fog::Attributes" do
238
242
  end
239
243
 
240
244
  it "should return the value of the persisted object" do
241
- model.merge_attributes({ :id => 'some-crazy-id', :default => 23 })
245
+ model.merge_attributes(:id => "some-crazy-id", :default => 23)
242
246
  assert_equal model.default, 23
243
247
  end
244
248
 
245
249
  it "should return nil on a persisted object without a value" do
246
- model.merge_attributes({ :id => 'some-crazy-id' })
250
+ model.merge_attributes(:id => "some-crazy-id")
247
251
  assert_equal model.default, nil
248
252
  end
249
253
 
@@ -259,14 +263,19 @@ describe "Fog::Attributes" do
259
263
  end
260
264
 
261
265
  it "should create a getter to save the association model" do
262
- model.merge_attributes(:one_object => FogSingleAssociationModel.new(:id => '123'))
266
+ model.merge_attributes(:one_object => FogSingleAssociationModel.new(:id => "123"))
263
267
  assert_instance_of FogSingleAssociationModel, model.one_object
264
- assert_equal model.one_object.attributes, { :id => '123' }
268
+ assert_equal model.one_object.attributes, :id => "123"
265
269
  end
266
270
 
267
271
  it "should create a setter that accept an object as param" do
268
- model.one_object = FogSingleAssociationModel.new(:id => '123')
269
- assert_equal model.one_object.attributes, { :id => '123' }
272
+ model.one_object = FogSingleAssociationModel.new(:id => "123")
273
+ assert_equal model.one_object.attributes, :id => "123"
274
+ end
275
+
276
+ it "should create an alias to single" do
277
+ model.merge_attributes(:single => FogSingleAssociationModel.new(:id => "123"))
278
+ assert_equal model.one_object.attributes, :id => "123"
270
279
  end
271
280
  end
272
281
 
@@ -276,65 +285,94 @@ describe "Fog::Attributes" do
276
285
  end
277
286
 
278
287
  it "should create a getter to load the association model" do
279
- model.merge_attributes(:one_identity => '123')
288
+ model.merge_attributes(:one_identity => "123")
280
289
  assert_instance_of FogSingleAssociationModel, model.one_identity
281
- assert_equal model.one_identity.attributes, { :id => '123' }
290
+ assert_equal model.one_identity.attributes, :id => "123"
282
291
  end
283
292
 
284
293
  describe "should create a setter that accept" do
285
294
  it "an id as param" do
286
- model.one_identity = '123'
287
- assert_equal model.one_identity.attributes, { :id => '123' }
295
+ model.one_identity = "123"
296
+ assert_equal model.one_identity.attributes, :id => "123"
288
297
  end
289
298
 
290
299
  it "a model as param" do
291
- model.one_identity = FogSingleAssociationModel.new(:id => '123')
292
- assert_equal model.one_identity.attributes, { :id => '123' }
300
+ model.one_identity = FogSingleAssociationModel.new(:id => "123")
301
+ assert_equal model.one_identity.attributes, :id => "123"
293
302
  end
294
303
  end
295
304
  end
296
305
 
297
306
  describe ".has_many" do
307
+ it "should return an instance of Fog::Association" do
308
+ model.many_objects = [FogMultipleAssociationsModel.new(:id => "456")]
309
+ assert_instance_of Fog::Association, model.many_objects
310
+ end
311
+
298
312
  it "should create an instance_variable to save the associated objects" do
299
313
  assert_equal model.many_objects, []
300
314
  end
301
315
 
302
316
  it "should create a getter to save all associated models" do
303
- model.merge_attributes(:many_objects => [ FogMultipleAssociationsModel.new(:id => '456') ])
304
- assert_instance_of Array, model.many_objects
317
+ model.merge_attributes(:many_objects => [FogMultipleAssociationsModel.new(:id => "456")])
318
+ assert_instance_of Fog::Association, model.many_objects
305
319
  assert_equal model.many_objects.size, 1
306
320
  assert_instance_of FogMultipleAssociationsModel, model.many_objects.first
307
- assert_equal model.many_objects.first.attributes, { :id => '456' }
321
+ assert_equal model.many_objects.first.attributes, :id => "456"
308
322
  end
309
323
 
310
324
  it "should create a setter that accept an array of objects as param" do
311
- model.many_objects = [ FogMultipleAssociationsModel.new(:id => '456') ]
312
- assert_equal model.many_objects.first.attributes, { :id => '456' }
325
+ model.many_objects = [FogMultipleAssociationsModel.new(:id => "456")]
326
+ assert_equal model.many_objects.first.attributes, :id => "456"
327
+ end
328
+
329
+ describe "with a custom collection class" do
330
+ it "should return an instance of that collection class" do
331
+ model.objects = [FogMultipleAssociationsModel.new(:id => "456")]
332
+ assert_instance_of FogMultipleAssociationsCollection, model.objects
333
+ end
313
334
  end
314
335
  end
315
336
 
316
337
  describe ".has_many_identities" do
338
+ it "should return an instance of Fog::Association" do
339
+ model.many_identities = ["456"]
340
+ assert_instance_of Fog::Association, model.many_identities
341
+ end
342
+
317
343
  it "should create an instance_variable to save the associations identities" do
318
344
  assert_equal model.many_identities, []
319
345
  end
320
346
 
321
347
  it "should create a getter to load all association models" do
322
- model.merge_attributes(:many_identities => [ '456' ])
323
- assert_instance_of Array, model.many_identities
348
+ model.merge_attributes(:many_identities => ["456"])
349
+ assert_instance_of Fog::Association, model.many_identities
324
350
  assert_equal model.many_identities.size, 1
325
351
  assert_instance_of FogMultipleAssociationsModel, model.many_identities.first
326
- assert_equal model.many_identities.first.attributes, { :id => '456' }
352
+ assert_equal model.many_identities.first.attributes, :id => "456"
327
353
  end
328
354
 
329
355
  describe "should create a setter that accept an array of" do
330
356
  it "ids as param" do
331
- model.many_identities = [ '456' ]
332
- assert_equal model.many_identities.first.attributes, { :id => '456' }
357
+ model.many_identities = ["456"]
358
+ assert_equal model.many_identities.first.attributes, :id => "456"
333
359
  end
334
360
 
335
361
  it "models as param" do
336
- model.many_identities = [ FogMultipleAssociationsModel.new(:id => '456') ]
337
- assert_equal model.many_identities.first.attributes, { :id => '456' }
362
+ model.many_identities = [FogMultipleAssociationsModel.new(:id => "456")]
363
+ assert_equal model.many_identities.first.attributes, :id => "456"
364
+ end
365
+ end
366
+
367
+ it "should create an alias to multiple" do
368
+ model.merge_attributes(:multiple => ["456"])
369
+ assert_equal model.many_identities.first.attributes, :id => "456"
370
+ end
371
+
372
+ describe "with a custom collection class" do
373
+ it "should return an instance of that collection class" do
374
+ model.identities = ["456"]
375
+ assert_instance_of FogMultipleAssociationsCollection, model.identities
338
376
  end
339
377
  end
340
378
  end
@@ -342,37 +380,39 @@ describe "Fog::Attributes" do
342
380
  describe "#all_attributes" do
343
381
  describe "on a persisted object" do
344
382
  it "should return all attributes without default values" do
345
- model.merge_attributes( :id => 2, :float => 3.2, :integer => 55555555 )
383
+ model.merge_attributes(:id => 2, :float => 3.2, :integer => 55_555_555)
346
384
  assert model.persisted?
347
- assert_equal model.all_attributes, { :id => 2,
385
+ assert_equal model.all_attributes, :id => 2,
348
386
  :key => nil,
349
387
  :time => nil,
350
388
  :bool => nil,
351
389
  :float => 3.2,
352
- :integer => 55555555,
390
+ :integer => 55_555_555,
353
391
  :string => nil,
354
392
  :timestamp => nil,
355
393
  :array => [],
356
394
  :default => nil,
357
- :another_default => nil }
395
+ :another_default => nil,
396
+ :Badname => nil
358
397
  end
359
398
  end
360
399
 
361
400
  describe "on a new object" do
362
401
  it "should return all attributes including default values for empty attributes" do
363
- model.merge_attributes( :float => 3.2, :integer => 55555555 )
402
+ model.merge_attributes(:float => 3.2, :integer => 55_555_555)
364
403
  refute model.persisted?
365
- assert_equal model.all_attributes, { :id => nil,
404
+ assert_equal model.all_attributes, :id => nil,
366
405
  :key => nil,
367
406
  :time => nil,
368
407
  :bool => nil,
369
408
  :float => 3.2,
370
- :integer => 55555555,
409
+ :integer => 55_555_555,
371
410
  :string => nil,
372
411
  :timestamp => nil,
373
412
  :array => [],
374
- :default => 'default_value',
375
- :another_default => false }
413
+ :default => "default_value",
414
+ :another_default => false,
415
+ :Badname => nil
376
416
  end
377
417
  end
378
418
  end
@@ -380,23 +420,27 @@ describe "Fog::Attributes" do
380
420
  describe "#all_associations" do
381
421
  describe "without any association" do
382
422
  it "should return all associations empty" do
383
- assert_equal model.all_associations, { :one_object => nil,
384
- :many_objects => [],
385
- :one_identity => nil,
386
- :many_identities => [] }
423
+ assert_equal model.all_associations, :one_object => nil,
424
+ :many_objects => [],
425
+ :Crazyname => nil,
426
+ :many_identities => [],
427
+ :objects => [],
428
+ :identities => []
387
429
  end
388
430
  end
389
431
 
390
432
  describe "with associations" do
391
433
  it "should return all association objects" do
392
434
  @one_object = FogMultipleAssociationsModel.new
393
- @many_objects = [ @one_object ]
435
+ @many_objects = [@one_object]
394
436
  model.merge_attributes(:one_object => @one_object, :many_objects => @many_objects)
395
- model.merge_attributes(:one_identity => 'XYZ', :many_identities => %w(ABC))
396
- assert_equal model.all_associations, { :one_object => @one_object,
437
+ model.merge_attributes(:one_identity => "XYZ", :many_identities => %w(ABC))
438
+ assert_equal model.all_associations, :one_object => @one_object,
397
439
  :many_objects => @many_objects,
398
- :one_identity => 'XYZ',
399
- :many_identities => %w(ABC) }
440
+ :Crazyname => "XYZ",
441
+ :many_identities => %w(ABC),
442
+ :objects => [],
443
+ :identities => []
400
444
  end
401
445
  end
402
446
  end
@@ -405,61 +449,59 @@ describe "Fog::Attributes" do
405
449
  describe "on a persisted object" do
406
450
  it "should return all association and attributes but no default values" do
407
451
  @one_object = FogMultipleAssociationsModel.new
408
- @many_objects = [ @one_object ]
409
- model.merge_attributes(:id => 2, :float => 3.2, :integer => 55555555)
452
+ @many_objects = [@one_object]
453
+ model.merge_attributes(:id => 2, :float => 3.2, :integer => 55_555_555)
410
454
  model.merge_attributes(:one_object => @one_object, :many_objects => @many_objects)
411
- model.merge_attributes(:one_identity => 'XYZ', :many_identities => %w(ABC))
455
+ model.merge_attributes(:one_identity => "XYZ", :many_identities => %w(ABC))
412
456
  assert model.persisted?
413
- assert_equal model.all_associations_and_attributes, { :id => 2,
414
- :key => nil,
415
- :time => nil,
416
- :bool => nil,
417
- :float => 3.2,
418
- :integer => 55555555,
419
- :string => nil,
420
- :timestamp => nil,
421
- :array => [],
422
- :default => nil,
423
- :another_default => nil,
424
- :one_object => @one_object,
425
- :many_objects => @many_objects,
426
- :one_identity => 'XYZ',
427
- :many_identities => %w(ABC) }
457
+ assert_equal model.all_associations_and_attributes, :id => 2,
458
+ :key => nil,
459
+ :time => nil,
460
+ :bool => nil,
461
+ :float => 3.2,
462
+ :integer => 55_555_555,
463
+ :string => nil,
464
+ :timestamp => nil,
465
+ :array => [],
466
+ :default => nil,
467
+ :another_default => nil,
468
+ :Badname => nil,
469
+ :one_object => @one_object,
470
+ :many_objects => @many_objects,
471
+ :objects => [],
472
+ :identities => [],
473
+ :Crazyname => "XYZ",
474
+ :many_identities => %w(ABC)
428
475
  end
429
476
  end
430
477
 
431
478
  describe "on a non persisted object" do
432
479
  it "should return all association and attributes and the default value for blank attributes" do
433
480
  @one_object = FogMultipleAssociationsModel.new
434
- @many_objects = [ @one_object ]
435
- model.merge_attributes(:float => 3.2, :integer => 55555555)
481
+ @many_objects = [@one_object]
482
+ model.merge_attributes(:float => 3.2, :integer => 55_555_555)
436
483
  model.merge_attributes(:one_object => @one_object, :many_objects => @many_objects)
437
- model.merge_attributes(:one_identity => 'XYZ', :many_identities => %w(ABC))
484
+ model.merge_attributes(:one_identity => "XYZ", :many_identities => %w(ABC))
438
485
  refute model.persisted?
439
- assert_equal model.all_associations_and_attributes, { :id => nil,
440
- :key => nil,
441
- :time => nil,
442
- :bool => nil,
443
- :float => 3.2,
444
- :integer => 55555555,
445
- :string => nil,
446
- :timestamp => nil,
447
- :array => [],
448
- :default => 'default_value',
449
- :another_default => false,
450
- :one_object => @one_object,
451
- :many_objects => @many_objects,
452
- :one_identity => 'XYZ',
453
- :many_identities => %w(ABC) }
486
+ assert_equal model.all_associations_and_attributes, :id => nil,
487
+ :key => nil,
488
+ :time => nil,
489
+ :bool => nil,
490
+ :float => 3.2,
491
+ :integer => 55_555_555,
492
+ :string => nil,
493
+ :timestamp => nil,
494
+ :array => [],
495
+ :default => "default_value",
496
+ :another_default => false,
497
+ :Badname => nil,
498
+ :one_object => @one_object,
499
+ :many_objects => @many_objects,
500
+ :objects => [],
501
+ :identities => [],
502
+ :Crazyname => "XYZ",
503
+ :many_identities => %w(ABC)
454
504
  end
455
505
  end
456
506
  end
457
-
458
- describe "aliases accessors" do
459
- it "should have accessors to the original attribute" do
460
- model.merge_attributes(:default => true)
461
- assert model.respond_to?(:some_name)
462
- assert model.some_name
463
- end
464
- end
465
507
  end