fog-core 2.3.0 → 2.4.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +2 -0
  3. data/.github/workflows/ruby.yml +1 -1
  4. data/.github/workflows/stale.yml +1 -1
  5. data/.rubocop.yml +16 -12
  6. data/.rubocop_todo.yml +724 -0
  7. data/Gemfile +1 -1
  8. data/Rakefile +2 -14
  9. data/changelog.md +14 -0
  10. data/fog-core.gemspec +10 -7
  11. data/lib/fog/compute/models/server.rb +7 -3
  12. data/lib/fog/compute.rb +2 -2
  13. data/lib/fog/core/association.rb +1 -0
  14. data/lib/fog/core/attributes/default.rb +7 -0
  15. data/lib/fog/core/attributes.rb +28 -3
  16. data/lib/fog/core/cache.rb +58 -55
  17. data/lib/fog/core/collection.rb +9 -3
  18. data/lib/fog/core/connection.rb +1 -1
  19. data/lib/fog/core/current_machine.rb +1 -1
  20. data/lib/fog/core/errors.rb +1 -1
  21. data/lib/fog/core/logger.rb +2 -2
  22. data/lib/fog/core/mock.rb +6 -1
  23. data/lib/fog/core/model.rb +34 -5
  24. data/lib/fog/core/provider.rb +7 -7
  25. data/lib/fog/core/scp.rb +15 -11
  26. data/lib/fog/core/service.rb +4 -4
  27. data/lib/fog/core/services_mixin.rb +9 -9
  28. data/lib/fog/core/ssh.rb +3 -2
  29. data/lib/fog/core/stringify_keys.rb +0 -2
  30. data/lib/fog/core/time.rb +2 -2
  31. data/lib/fog/core/uuid.rb +2 -8
  32. data/lib/fog/core/version.rb +1 -1
  33. data/lib/fog/core/wait_for.rb +2 -1
  34. data/lib/fog/core/wait_for_defaults.rb +2 -0
  35. data/lib/fog/core.rb +57 -58
  36. data/lib/fog/formatador.rb +7 -6
  37. data/lib/fog/schema/data_validator.rb +1 -0
  38. data/lib/fog/storage.rb +15 -15
  39. data/lib/fog/test_helpers/collection_helper.rb +2 -0
  40. data/lib/fog/test_helpers/formats_helper.rb +2 -2
  41. data/lib/fog/test_helpers/helper.rb +3 -3
  42. data/lib/fog/test_helpers/minitest/assertions.rb +1 -1
  43. data/lib/fog/test_helpers/minitest/expectations.rb +1 -1
  44. data/lib/fog/test_helpers/mock_helper.rb +84 -84
  45. data/lib/fog/test_helpers/types_helper.rb +1 -0
  46. data/lib/tasks/test_task.rb +2 -2
  47. data/spec/compute/models/server_spec.rb +7 -7
  48. data/spec/compute_spec.rb +6 -6
  49. data/spec/connection_spec.rb +11 -9
  50. data/spec/core/cache_spec.rb +51 -15
  51. data/spec/core/collection_spec.rb +24 -0
  52. data/spec/core/model_spec.rb +36 -3
  53. data/spec/core/stringify_keys_spec.rb +3 -3
  54. data/spec/core/whitelist_keys_spec.rb +2 -2
  55. data/spec/current_machine_spec.rb +2 -2
  56. data/spec/fog_attribute_spec.rb +183 -163
  57. data/spec/formatador_spec.rb +7 -7
  58. data/spec/identity_spec.rb +6 -6
  59. data/spec/mocking_spec.rb +3 -3
  60. data/spec/service_spec.rb +19 -19
  61. data/spec/spec_helper.rb +3 -8
  62. data/spec/storage_spec.rb +6 -6
  63. data/spec/test_helpers/formats_helper_spec.rb +8 -8
  64. data/spec/test_helpers/schema_validator_spec.rb +8 -8
  65. data/spec/utils_spec.rb +6 -6
  66. data/spec/wait_for_spec.rb +2 -2
  67. metadata +44 -53
@@ -26,15 +26,15 @@ describe Fog::Formatador do
26
26
  end
27
27
  end
28
28
 
29
- @collection = @collection_class.new(:attr_one => "String", :attr_two => 5)
30
- @collection << @member_class.new(:name => "Member name")
29
+ @collection = @collection_class.new(attr_one: "String", attr_two: 5)
30
+ @collection << @member_class.new(name: "Member name")
31
31
  @expected = <<-EOS.gsub(/^ {6}/, "").chomp!
32
32
  <InspectionGadget
33
- attr_one=\"String\",
33
+ attr_one="String",
34
34
  attr_two=5
35
35
  [
36
36
  <MemberGadget
37
- name=\"Member name\"
37
+ name="Member name"
38
38
  >
39
39
  ]
40
40
  >
@@ -78,18 +78,18 @@ describe Fog::Formatador do
78
78
  self
79
79
  end
80
80
  end
81
- @collection = @collection_class.new(:name => "Name")
81
+ @collection = @collection_class.new(name: "Name")
82
82
  @collection << "this"
83
83
  end
84
84
 
85
85
  it "returns formatted representation" do
86
86
  @expected = <<-EOS.gsub(/^ {6}/, "").chomp!
87
87
  <
88
- name=\"Name\"
88
+ name="Name"
89
89
  >
90
90
  EOS
91
91
 
92
- opts = { :include_nested => false }
92
+ opts = { include_nested: false }
93
93
  Fog::Formatador.format(@collection, opts).must_equal @expected
94
94
  end
95
95
  end
@@ -24,7 +24,7 @@ describe "Fog::Identity" do
24
24
  end
25
25
 
26
26
  it "instantiates an instance of Fog::Identity::<Provider> from the :provider keyword arg" do
27
- identity = Fog::Identity.new(:provider => :therightway)
27
+ identity = Fog::Identity.new(provider: :therightway)
28
28
  assert_instance_of(Fog::TheRightWay::Identity, identity)
29
29
  end
30
30
 
@@ -44,7 +44,7 @@ describe "Fog::Identity" do
44
44
  end
45
45
 
46
46
  it "instantiates an instance of Fog::<Provider>::Identity from the :provider keyword arg" do
47
- identity = Fog::Identity.new(:provider => :thewrongway)
47
+ identity = Fog::Identity.new(provider: :thewrongway)
48
48
  assert_instance_of(Fog::Identity::TheWrongWay, identity)
49
49
  end
50
50
 
@@ -76,19 +76,19 @@ describe "Fog::Identity" do
76
76
 
77
77
  describe "when both Fog::Identity::<Provider> and Fog::<Provider>::Identity exist" do
78
78
  it "prefers Fog::Identity::<Provider>" do
79
- identity = Fog::Identity.new(:provider => :bothways)
79
+ identity = Fog::Identity.new(provider: :bothways)
80
80
  assert_instance_of(Fog::BothWays::Identity, identity)
81
81
  end
82
82
  end
83
83
 
84
84
  it "passes the supplied keyword args less :provider to Fog::Identity::<Provider>#new" do
85
- identity = Fog::Identity.new(:provider => :bothways, :extra => :stuff)
86
- assert_equal({ :extra => :stuff }, identity.args)
85
+ identity = Fog::Identity.new(provider: :bothways, extra: :stuff)
86
+ assert_equal({ extra: :stuff }, identity.args)
87
87
  end
88
88
 
89
89
  it "raises ArgumentError when given a :provider where a Fog::Identity::Provider that does not exist" do
90
90
  assert_raises(ArgumentError) do
91
- Fog::Identity.new(:provider => :wat)
91
+ Fog::Identity.new(provider: :wat)
92
92
  end
93
93
  end
94
94
  end
data/spec/mocking_spec.rb CHANGED
@@ -60,16 +60,16 @@ describe "Fog mocking" do
60
60
  end
61
61
 
62
62
  it "supports explicit request for v4" do
63
- assert IPAddr.new(Fog::Mock.random_ip(:version => :v4)).ipv4?
63
+ assert IPAddr.new(Fog::Mock.random_ip(version: :v4)).ipv4?
64
64
  end
65
65
 
66
66
  it "supports explicit request for v6" do
67
- assert IPAddr.new(Fog::Mock.random_ip(:version => :v6)).ipv6?
67
+ assert IPAddr.new(Fog::Mock.random_ip(version: :v6)).ipv6?
68
68
  end
69
69
 
70
70
  it "raises when supplied an illegal IP version" do
71
71
  assert_raises(ArgumentError) do
72
- IPAddr.new(Fog::Mock.random_ip(:version => :v5)).ipv4?
72
+ IPAddr.new(Fog::Mock.random_ip(version: :v5)).ipv4?
73
73
  end
74
74
  end
75
75
  end
data/spec/service_spec.rb CHANGED
@@ -32,10 +32,10 @@ describe Fog::Service do
32
32
  "User-Agent" => "Generic Fog Client"
33
33
  }
34
34
  params = {
35
- :generic_user => "bob",
36
- :generic_api_key => "1234",
37
- :connection_options => {
38
- :headers => user_agent_hash
35
+ generic_user: "bob",
36
+ generic_api_key: "1234",
37
+ connection_options: {
38
+ headers: user_agent_hash
39
39
  }
40
40
  }
41
41
  service = TestService.new(params)
@@ -54,27 +54,27 @@ describe Fog::Service do
54
54
  end
55
55
 
56
56
  it "removes keys with `nil` values" do
57
- service = TestService.new :generic_api_key => "abc", :generic_user => nil
57
+ service = TestService.new generic_api_key: "abc", generic_user: nil
58
58
  refute_includes service.options.keys, :generic_user
59
59
  end
60
60
 
61
61
  it "converts number String values with to_i" do
62
- service = TestService.new :generic_api_key => "3421"
62
+ service = TestService.new generic_api_key: "3421"
63
63
  assert_equal 3421, service.options[:generic_api_key]
64
64
  end
65
65
 
66
66
  it "converts 'true' String values to TrueClass" do
67
- service = TestService.new :generic_api_key => "true"
67
+ service = TestService.new generic_api_key: "true"
68
68
  assert_equal true, service.options[:generic_api_key]
69
69
  end
70
70
 
71
71
  it "converts 'false' String values to FalseClass" do
72
- service = TestService.new :generic_api_key => "false"
72
+ service = TestService.new generic_api_key: "false"
73
73
  assert_equal false, service.options[:generic_api_key]
74
74
  end
75
75
 
76
76
  it "warns for unrecognised options" do
77
- bad_options = { :generic_api_key => "abc", :bad_option => "bad value" }
77
+ bad_options = { generic_api_key: "abc", bad_option: "bad value" }
78
78
  logger = Minitest::Mock.new
79
79
  logger.expect :warning, nil, ["Unrecognized arguments: bad_option"]
80
80
  Fog.stub_const :Logger, logger do
@@ -87,14 +87,14 @@ describe Fog::Service do
87
87
  describe "when creating and mocking is disabled" do
88
88
  it "returns the real service" do
89
89
  Fog.stub :mocking?, false do
90
- service = TestService.new(:generic_api_key => "abc")
90
+ service = TestService.new(generic_api_key: "abc")
91
91
  service.must_be_instance_of TestService::Real
92
92
  end
93
93
  end
94
94
 
95
95
  it "TestService::Real has TestService::Collections mixed into the mocked service" do
96
96
  Fog.stub :mocking?, false do
97
- service = TestService.new(:generic_api_key => "abc")
97
+ service = TestService.new(generic_api_key: "abc")
98
98
  assert_includes(service.class.ancestors, TestService::Collections)
99
99
  assert_includes(service.class.ancestors, Fog::Service::Collections)
100
100
  refute_includes(service.class.ancestors, ChildOfTestService::Collections)
@@ -114,14 +114,14 @@ describe Fog::Service do
114
114
  describe "when creating and mocking is enabled" do
115
115
  it "returns mocked service" do
116
116
  Fog.stub :mocking?, true do
117
- service = TestService.new(:generic_api_key => "abc")
117
+ service = TestService.new(generic_api_key: "abc")
118
118
  service.must_be_instance_of TestService::Mock
119
119
  end
120
120
  end
121
121
 
122
122
  it "TestService::Mock has TestService::Collections mixed into the mocked service" do
123
123
  Fog.stub :mocking?, true do
124
- service = TestService.new(:generic_api_key => "abc")
124
+ service = TestService.new(generic_api_key: "abc")
125
125
  assert_includes(service.class.ancestors, Fog::Service::Collections)
126
126
  assert_includes(service.class.ancestors, TestService::Collections)
127
127
  refute_includes(service.class.ancestors, ChildOfTestService::Collections)
@@ -141,8 +141,8 @@ describe Fog::Service do
141
141
  describe "when no credentials are provided" do
142
142
  it "uses the global values" do
143
143
  @global_credentials = {
144
- :generic_user => "fog",
145
- :generic_api_key => "fog"
144
+ generic_user: "fog",
145
+ generic_api_key: "fog"
146
146
  }
147
147
 
148
148
  Fog.stub :credentials, @global_credentials do
@@ -155,11 +155,11 @@ describe Fog::Service do
155
155
  describe "when credentials are provided as settings" do
156
156
  it "merges the global values into settings" do
157
157
  @settings = {
158
- :generic_user => "fog"
158
+ generic_user: "fog"
159
159
  }
160
160
  @global_credentials = {
161
- :generic_user => "bob",
162
- :generic_api_key => "fog"
161
+ generic_user: "bob",
162
+ generic_api_key: "fog"
163
163
  }
164
164
 
165
165
  Fog.stub :credentials, @global_credentials do
@@ -172,7 +172,7 @@ describe Fog::Service do
172
172
 
173
173
  describe "when config object can configure the service itself" do
174
174
  it "ignores the global and its values" do
175
- @config = MiniTest::Mock.new
175
+ @config = Minitest::Mock.new
176
176
  def @config.config_service?; true; end
177
177
  def @config.nil?; false; end
178
178
  def @config.==(other); object_id == other.object_id; end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,6 @@
1
- if ENV["COVERAGE"]
2
- require "coveralls"
3
- require "simplecov"
4
-
5
- SimpleCov.start do
6
- add_filter "/spec/"
7
- end
8
- end
1
+ # Set home outside of real user
2
+ require "tmpdir"
3
+ ENV["HOME"] = Dir.mktmpdir("foghome")
9
4
 
10
5
  require "minitest/autorun"
11
6
  require "minitest/spec"
data/spec/storage_spec.rb CHANGED
@@ -24,7 +24,7 @@ describe "Fog::Storage" do
24
24
  end
25
25
 
26
26
  it "instantiates an instance of Fog::<Provider>::Storage from the :provider keyword arg" do
27
- compute = Fog::Storage.new(:provider => :therightway)
27
+ compute = Fog::Storage.new(provider: :therightway)
28
28
  assert_instance_of(Fog::TheRightWay::Storage, compute)
29
29
  end
30
30
 
@@ -42,7 +42,7 @@ describe "Fog::Storage" do
42
42
  end
43
43
 
44
44
  it "instantiates an instance of Fog::Storage::<Provider> from the :provider keyword arg" do
45
- compute = Fog::Storage.new(:provider => :thewrongway)
45
+ compute = Fog::Storage.new(provider: :thewrongway)
46
46
  assert_instance_of(Fog::Storage::TheWrongWay, compute)
47
47
  end
48
48
 
@@ -75,19 +75,19 @@ describe "Fog::Storage" do
75
75
 
76
76
  describe "when both Fog::Storage::<Provider> and Fog::<Provider>::Storage exist" do
77
77
  it "prefers Fog::Storage::<Provider>" do
78
- compute = Fog::Storage.new(:provider => :bothways)
78
+ compute = Fog::Storage.new(provider: :bothways)
79
79
  assert_instance_of(Fog::BothWays::Storage, compute)
80
80
  end
81
81
  end
82
82
 
83
83
  it "passes the supplied keyword args less :provider to Fog::Storage::<Provider>#new" do
84
- compute = Fog::Storage.new(:provider => :bothways, :extra => :stuff)
85
- assert_equal({ :extra => :stuff }, compute.args)
84
+ compute = Fog::Storage.new(provider: :bothways, extra: :stuff)
85
+ assert_equal({ extra: :stuff }, compute.args)
86
86
  end
87
87
 
88
88
  it "raises ArgumentError when given a :provider where a Fog::Storage::Provider that does not exist" do
89
89
  assert_raises(ArgumentError) do
90
- Fog::Storage.new(:provider => :wat)
90
+ Fog::Storage.new(provider: :wat)
91
91
  end
92
92
  end
93
93
  end
@@ -14,8 +14,8 @@ describe "formats_helper" do
14
14
  let(:shindo) { Shindo::Tests.new }
15
15
 
16
16
  it "comparing welcome data against schema" do
17
- data = { :welcome => "Hello" }
18
- assert shindo.data_matches_schema(:welcome => String) { data }
17
+ data = { welcome: "Hello" }
18
+ assert shindo.data_matches_schema(welcome: String) { data }
19
19
  end
20
20
 
21
21
  describe "#data_matches_schema" do
@@ -28,7 +28,7 @@ describe "formats_helper" do
28
28
  end
29
29
 
30
30
  it "when nested values match schema expectation" do
31
- assert shindo.data_matches_schema("key" => { :nested_key => String }) { { "key" => { :nested_key => "Value" } } }
31
+ assert shindo.data_matches_schema("key" => { nested_key: String }) { { "key" => { nested_key: "Value" } } }
32
32
  end
33
33
 
34
34
  it "when collection of values all match schema expectation" do
@@ -36,11 +36,11 @@ describe "formats_helper" do
36
36
  end
37
37
 
38
38
  it "when collection is empty although schema covers optional members" do
39
- assert shindo.data_matches_schema([{ "key" => String }], :allow_optional_rules => true) { [] }
39
+ assert shindo.data_matches_schema([{ "key" => String }], allow_optional_rules: true) { [] }
40
40
  end
41
41
 
42
42
  it "when additional keys are passed and not strict" do
43
- assert shindo.data_matches_schema({ "key" => String }, { :allow_extra_keys => true }) { { "key" => "Value", :extra => "Bonus" } }
43
+ assert shindo.data_matches_schema({ "key" => String }, { allow_extra_keys: true }) { { "key" => "Value", :extra => "Bonus" } }
44
44
  end
45
45
 
46
46
  it "when value is nil and schema expects NilClass" do
@@ -60,11 +60,11 @@ describe "formats_helper" do
60
60
  end
61
61
 
62
62
  it "when key is missing but value should be NilClass (#1477)" do
63
- assert shindo.data_matches_schema({ "key" => NilClass }, { :allow_optional_rules => true }) { {} }
63
+ assert shindo.data_matches_schema({ "key" => NilClass }, { allow_optional_rules: true }) { {} }
64
64
  end
65
65
 
66
66
  it "when key is missing but value is nullable (#1477)" do
67
- assert shindo.data_matches_schema({ "key" => Fog::Nullable::String }, { :allow_optional_rules => true }) { {} }
67
+ assert shindo.data_matches_schema({ "key" => Fog::Nullable::String }, { allow_optional_rules: true }) { {} }
68
68
  end
69
69
  end
70
70
 
@@ -79,7 +79,7 @@ describe "formats_helper" do
79
79
  end
80
80
 
81
81
  it "when nested values match schema expectation" do
82
- assert shindo.formats("key" => { :nested_key => String }) { { "key" => { :nested_key => "Value" } } }
82
+ assert shindo.formats("key" => { nested_key: String }) { { "key" => { nested_key: "Value" } } }
83
83
  end
84
84
 
85
85
  it "when collection of values all match schema expectation" do
@@ -15,7 +15,7 @@ describe "SchemaValidator" do
15
15
  end
16
16
 
17
17
  it "returns true when nested values match schema expectation" do
18
- assert validator.validate({ "key" => { :nested_key => "Value" } }, { "key" => { :nested_key => String } })
18
+ assert validator.validate({ "key" => { nested_key: "Value" } }, { "key" => { nested_key: String } })
19
19
  end
20
20
 
21
21
  it "returns true when collection of values all match schema expectation" do
@@ -27,7 +27,7 @@ describe "SchemaValidator" do
27
27
  end
28
28
 
29
29
  it "returns true when additional keys are passed and not strict" do
30
- assert validator.validate({ "key" => "Value", :extra => "Bonus" }, { "key" => String }, { :allow_extra_keys => true })
30
+ assert validator.validate({ "key" => "Value", :extra => "Bonus" }, { "key" => String }, { allow_extra_keys: true })
31
31
  end
32
32
 
33
33
  it "returns true when value is nil and schema expects NilClass" do
@@ -47,11 +47,11 @@ describe "SchemaValidator" do
47
47
  end
48
48
 
49
49
  it "returns true when key is missing but value should be NilClass (#1477)" do
50
- assert validator.validate({}, { "key" => NilClass }, { :allow_optional_rules => true })
50
+ assert validator.validate({}, { "key" => NilClass }, { allow_optional_rules: true })
51
51
  end
52
52
 
53
53
  it "returns true when key is missing but value is nullable (#1477)" do
54
- assert validator.validate({}, { "key" => Fog::Nullable::String }, { :allow_optional_rules => true })
54
+ assert validator.validate({}, { "key" => Fog::Nullable::String }, { allow_optional_rules: true })
55
55
  end
56
56
 
57
57
  it "returns false when value does not match schema expectation" do
@@ -59,7 +59,7 @@ describe "SchemaValidator" do
59
59
  end
60
60
 
61
61
  it "returns false when key formats do not match" do
62
- refute validator.validate({ "key" => "Value" }, { :key => String })
62
+ refute validator.validate({ "key" => "Value" }, { key: String })
63
63
  end
64
64
 
65
65
  it "returns false when additional keys are passed and strict" do
@@ -87,15 +87,15 @@ describe "SchemaValidator" do
87
87
  end
88
88
 
89
89
  it "returns false when a hash is expected but another data type is found" do
90
- refute validator.validate({ "key" => { :nested_key => [] } }, { "key" => { :nested_key => {} } })
90
+ refute validator.validate({ "key" => { nested_key: [] } }, { "key" => { nested_key: {} } })
91
91
  end
92
92
 
93
93
  it "returns false when key is missing but value should be NilClass (#1477)" do
94
- refute validator.validate({}, { "key" => NilClass }, { :allow_optional_rules => false })
94
+ refute validator.validate({}, { "key" => NilClass }, { allow_optional_rules: false })
95
95
  end
96
96
 
97
97
  it "returns false when key is missing but value is nullable (#1477)" do
98
- refute validator.validate({}, { "key" => Fog::Nullable::String }, { :allow_optional_rules => false })
98
+ refute validator.validate({}, { "key" => Fog::Nullable::String }, { allow_optional_rules: false })
99
99
  end
100
100
  end
101
101
  end
data/spec/utils_spec.rb CHANGED
@@ -4,25 +4,25 @@ describe Fog::Core::Utils do
4
4
  describe "prepare_service_settings" do
5
5
  it "changes String keys to be Symbols" do
6
6
  settings = { "a" => 3 }
7
- expected = { :a => 3 }
7
+ expected = { a: 3 }
8
8
  assert_equal expected, Fog::Core::Utils.prepare_service_settings(settings)
9
9
  end
10
10
 
11
11
  it "leaves Symbol keys unchanged" do
12
- settings = { :something => 2 }
13
- expected = { :something => 2 }
12
+ settings = { something: 2 }
13
+ expected = { something: 2 }
14
14
  assert_equal expected, Fog::Core::Utils.prepare_service_settings(settings)
15
15
  end
16
16
 
17
17
  it "changes nested String keys to Symbols" do
18
18
  settings = { "connection_options" => { "val" => 5 } }
19
- expected = { :connection_options => { :val => 5 } }
19
+ expected = { connection_options: { val: 5 } }
20
20
  assert_equal expected, Fog::Core::Utils.prepare_service_settings(settings)
21
21
  end
22
22
 
23
23
  it "does not change the :header key or contents" do
24
- settings = { :headers => { "User-Agent" => "my user agent" } }
25
- expected = { :headers => { "User-Agent" => "my user agent" } }
24
+ settings = { headers: { "User-Agent" => "my user agent" } }
25
+ expected = { headers: { "User-Agent" => "my user agent" } }
26
26
  assert_equal expected, Fog::Core::Utils.prepare_service_settings(settings)
27
27
  end
28
28
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe "Fog#wait_for" do
4
4
  it "returns a Hash indicating the wait duration if successful" do
5
- assert_equal({ :duration => 0 }, Fog.wait_for(1) { true })
5
+ assert_equal({ duration: 0 }, Fog.wait_for(1) { true })
6
6
  end
7
7
 
8
8
  it "raises if the wait timeout is exceeded" do
@@ -14,7 +14,7 @@ describe "Fog#wait_for" do
14
14
  it "does not raise if successful when the wait timeout is exceeded" do
15
15
  timeout = 2
16
16
  i = 0
17
- ret = Fog.wait_for(timeout) { i = i + 1; i > 2 }
17
+ ret = Fog.wait_for(timeout) { i += 1; i > 2 }
18
18
  assert_operator(ret[:duration], :>, timeout)
19
19
  end
20
20
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Light
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-03-08 00:00:00.000000000 Z
12
+ date: 2024-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
- - !ruby/object:Gem::Dependency
29
- name: mime-types
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: excon
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +60,21 @@ dependencies:
74
60
  - !ruby/object:Gem::Version
75
61
  version: '2.0'
76
62
  - !ruby/object:Gem::Dependency
77
- name: tins
63
+ name: mime-types
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: minitest
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
@@ -88,7 +88,7 @@ dependencies:
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  - !ruby/object:Gem::Dependency
91
- name: coveralls
91
+ name: minitest-stub-const
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
@@ -102,7 +102,7 @@ dependencies:
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  - !ruby/object:Gem::Dependency
105
- name: minitest
105
+ name: pry
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
@@ -116,7 +116,7 @@ dependencies:
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  - !ruby/object:Gem::Dependency
119
- name: minitest-stub-const
119
+ name: rake
120
120
  requirement: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
@@ -130,7 +130,7 @@ dependencies:
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  - !ruby/object:Gem::Dependency
133
- name: pry
133
+ name: rubocop
134
134
  requirement: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
@@ -144,7 +144,7 @@ dependencies:
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  - !ruby/object:Gem::Dependency
147
- name: rake
147
+ name: rubocop-minitest
148
148
  requirement: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
@@ -158,7 +158,7 @@ dependencies:
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  - !ruby/object:Gem::Dependency
161
- name: rubocop
161
+ name: rubocop-rake
162
162
  requirement: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
@@ -185,6 +185,20 @@ dependencies:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: tins
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
188
202
  - !ruby/object:Gem::Dependency
189
203
  name: yard
190
204
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +226,7 @@ files:
212
226
  - ".github/workflows/stale.yml"
213
227
  - ".gitignore"
214
228
  - ".rubocop.yml"
229
+ - ".rubocop_todo.yml"
215
230
  - CONTRIBUTING.md
216
231
  - CONTRIBUTORS.md
217
232
  - Gemfile
@@ -301,6 +316,7 @@ files:
301
316
  - spec/compute_spec.rb
302
317
  - spec/connection_spec.rb
303
318
  - spec/core/cache_spec.rb
319
+ - spec/core/collection_spec.rb
304
320
  - spec/core/model_spec.rb
305
321
  - spec/core/stringify_keys_spec.rb
306
322
  - spec/core/whitelist_keys_spec.rb
@@ -326,7 +342,8 @@ files:
326
342
  homepage: https://github.com/fog/fog-core
327
343
  licenses:
328
344
  - MIT
329
- metadata: {}
345
+ metadata:
346
+ rubygems_mfa_required: 'true'
330
347
  post_install_message:
331
348
  rdoc_options: []
332
349
  require_paths:
@@ -335,41 +352,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
352
  requirements:
336
353
  - - ">="
337
354
  - !ruby/object:Gem::Version
338
- version: 2.0.0
355
+ version: '2.0'
339
356
  required_rubygems_version: !ruby/object:Gem::Requirement
340
357
  requirements:
341
358
  - - ">="
342
359
  - !ruby/object:Gem::Version
343
360
  version: '0'
344
361
  requirements: []
345
- rubygems_version: 3.3.5
362
+ rubygems_version: 3.4.10
346
363
  signing_key:
347
364
  specification_version: 4
348
365
  summary: Shared classes and tests for fog providers and services.
349
- test_files:
350
- - spec/compute/models/server_spec.rb
351
- - spec/compute_spec.rb
352
- - spec/connection_spec.rb
353
- - spec/core/cache_spec.rb
354
- - spec/core/model_spec.rb
355
- - spec/core/stringify_keys_spec.rb
356
- - spec/core/whitelist_keys_spec.rb
357
- - spec/credentials_spec.rb
358
- - spec/current_machine_spec.rb
359
- - spec/fake_app/fake_service.rb
360
- - spec/fake_app/models/collection.rb
361
- - spec/fake_app/models/model.rb
362
- - spec/fake_app/requests/request.rb
363
- - spec/fog_attribute_spec.rb
364
- - spec/formatador_spec.rb
365
- - spec/identity_spec.rb
366
- - spec/mocking_spec.rb
367
- - spec/service_spec.rb
368
- - spec/spec_helper.rb
369
- - spec/storage_spec.rb
370
- - spec/test_helpers/formats_helper_spec.rb
371
- - spec/test_helpers/schema_validator_spec.rb
372
- - spec/timeout_spec.rb
373
- - spec/utils_spec.rb
374
- - spec/uuid_spec.rb
375
- - spec/wait_for_spec.rb
366
+ test_files: []