dependabot-bundler 0.154.1 → 0.154.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4c7a6dabbb638051a34a81c9763343a4e598ab7e87b91c870f54aa1e6312cd7
4
- data.tar.gz: eb54e6a2653c30591b9030bc45af955e6a8686c4e6d9e1884c4c255a4322f8cd
3
+ metadata.gz: 9b31ba93254309940073353b581acd7631e6db21a6ffad47d3d88afe4b08a53d
4
+ data.tar.gz: bc63d0f4b4455ad8c2c08da23a3d47d5e8dd567061b415c386b0453b313776fb
5
5
  SHA512:
6
- metadata.gz: '083566caefd79a0cb3ecea7fbae3c879e069b4a1271a861d3844e950b2315f7f02a57bd5da74e877d63b6788c9b4b4e9781495a832f9579da36027c1062c744d'
7
- data.tar.gz: 6d737f4077de2c9715fc9f12b340b5e97e999ed19d6762eaea54061b15f9c48e2ab6285eab640c79207991a4357121c28e568e9d0b25ee8376f44ea2aeebbb7f
6
+ metadata.gz: dd79eec594396d1cb334ae5ef2020669b0e3edc96ac5284c2c5ee1ce65cb804ca9f266f3539e14daf7636fb752642f84d9d085f2f8e465a445a1e607b346f6e0
7
+ data.tar.gz: 49156e6d573d6290582776eaf7e76b1339d0341222e521d52c3f858e9de997474e0559a27382ef9f0ae49ae8140ee8c08d9fc3401a0bbb722a8360bb716c179c
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "native_spec_helper"
4
+ require "shared_contexts"
5
+
6
+ RSpec.describe Functions::ForceUpdater do
7
+ include_context "in a temporary bundler directory"
8
+ include_context "stub rubygems compact index"
9
+
10
+ let(:force_updater) do
11
+ described_class.new(
12
+ dependency_name: dependency_name,
13
+ target_version: target_version,
14
+ gemfile_name: gemfile_name,
15
+ lockfile_name: lockfile_name,
16
+ update_multiple_dependencies: update_multiple_dependencies
17
+ )
18
+ end
19
+ let(:gemfile_name) { "Gemfile" }
20
+ let(:lockfile_name) { "Gemfile.lock" }
21
+ let(:update_multiple_dependencies) { true }
22
+
23
+ describe "#run" do
24
+ subject(:force_update) do
25
+ in_tmp_folder { force_updater.run }
26
+ end
27
+
28
+ context "with a version conflict" do
29
+ let(:target_version) { "3.6.0" }
30
+ let(:dependency_name) { "rspec-support" }
31
+ let(:project_name) { "version_conflict" }
32
+
33
+ it "updates the conflicting dependencies" do
34
+ updated_deps, _specs = force_update
35
+ expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }])
36
+ end
37
+
38
+ context "when updating a single dependency" do
39
+ let(:update_multiple_dependencies) { false }
40
+
41
+ it { expect { force_update }.to raise_error(Bundler::VersionConflict) }
42
+ end
43
+ end
44
+
45
+ context "with a version conflict in gems rb" do
46
+ let(:target_version) { "3.6.0" }
47
+ let(:dependency_name) { "rspec-support" }
48
+ let(:project_name) { "version_conflict_gems_rb" }
49
+ let(:gemfile_name) { "gems.rb" }
50
+ let(:lockfile_name) { "gems.locked" }
51
+
52
+ it "updates the conflicting dependencies" do
53
+ updated_deps, _specs = force_update
54
+ expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }])
55
+ end
56
+ end
57
+ end
58
+ end
@@ -92,5 +92,13 @@ RSpec.describe Functions::VersionResolver do
92
92
  its([:version]) { is_expected.to eq(Gem::Version.new("1.4.0")) }
93
93
  its([:fetcher]) { is_expected.to eq("Bundler::Fetcher::Dependency") }
94
94
  end
95
+
96
+ context "with no update possible due to a version conflict" do
97
+ let(:project_name) { "version_conflict_with_listed_subdep" }
98
+ let(:dependency_name) { "rspec-mocks" }
99
+ let(:requirement_string) { ">= 0" }
100
+
101
+ its([:version]) { is_expected.to eq(Gem::Version.new("3.6.0")) }
102
+ end
95
103
  end
96
104
  end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "native_spec_helper"
4
+ require "shared_contexts"
5
+
6
+ RSpec.describe Functions::ForceUpdater do
7
+ include_context "in a temporary bundler directory"
8
+ include_context "stub rubygems compact index"
9
+
10
+ let(:force_updater) do
11
+ described_class.new(
12
+ dependency_name: dependency_name,
13
+ target_version: target_version,
14
+ gemfile_name: gemfile_name,
15
+ lockfile_name: lockfile_name,
16
+ update_multiple_dependencies: update_multiple_dependencies
17
+ )
18
+ end
19
+ let(:gemfile_name) { "Gemfile" }
20
+ let(:lockfile_name) { "Gemfile.lock" }
21
+ let(:update_multiple_dependencies) { true }
22
+
23
+ describe "#run" do
24
+ subject(:force_update) do
25
+ in_tmp_folder { force_updater.run }
26
+ end
27
+
28
+ context "with a version conflict" do
29
+ let(:target_version) { "3.6.0" }
30
+ let(:dependency_name) { "rspec-support" }
31
+ let(:project_name) { "version_conflict" }
32
+
33
+ it "updates the conflicting dependencies" do
34
+ updated_deps, _specs = force_update
35
+ expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }])
36
+ end
37
+
38
+ context "when updating a single dependency" do
39
+ let(:update_multiple_dependencies) { false }
40
+
41
+ it { expect { force_update }.to raise_error(Bundler::VersionConflict) }
42
+ end
43
+ end
44
+
45
+ context "with a version conflict in gems rb" do
46
+ let(:target_version) { "3.6.0" }
47
+ let(:dependency_name) { "rspec-support" }
48
+ let(:project_name) { "version_conflict_gems_rb" }
49
+ let(:gemfile_name) { "gems.rb" }
50
+ let(:lockfile_name) { "gems.locked" }
51
+
52
+ it "updates the conflicting dependencies" do
53
+ updated_deps, _specs = force_update
54
+ expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }])
55
+ end
56
+ end
57
+ end
58
+ end
@@ -92,5 +92,13 @@ RSpec.describe Functions::VersionResolver do
92
92
  its([:version]) { is_expected.to eq(Gem::Version.new("1.4.0")) }
93
93
  its([:fetcher]) { is_expected.to eq("Bundler::Fetcher::Dependency") }
94
94
  end
95
+
96
+ context "with no update possible due to a version conflict" do
97
+ let(:project_name) { "version_conflict_with_listed_subdep" }
98
+ let(:dependency_name) { "rspec-mocks" }
99
+ let(:requirement_string) { ">= 0" }
100
+
101
+ its([:version]) { is_expected.to eq(Gem::Version.new("3.6.0")) }
102
+ end
95
103
  end
96
104
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.154.1
4
+ version: 0.154.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-16 00:00:00.000000000 Z
11
+ date: 2021-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.154.1
19
+ version: 0.154.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.154.1
26
+ version: 0.154.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -202,6 +202,7 @@ files:
202
202
  - helpers/v1/spec/functions/conflicting_dependency_resolver_spec.rb
203
203
  - helpers/v1/spec/functions/dependency_source_spec.rb
204
204
  - helpers/v1/spec/functions/file_parser_spec.rb
205
+ - helpers/v1/spec/functions/force_updater_spec.rb
205
206
  - helpers/v1/spec/functions/version_resolver_spec.rb
206
207
  - helpers/v1/spec/native_spec_helper.rb
207
208
  - helpers/v1/spec/shared_contexts.rb
@@ -222,6 +223,7 @@ files:
222
223
  - helpers/v2/spec/functions/conflicting_dependency_resolver_spec.rb
223
224
  - helpers/v2/spec/functions/dependency_source_spec.rb
224
225
  - helpers/v2/spec/functions/file_parser_spec.rb
226
+ - helpers/v2/spec/functions/force_updater_spec.rb
225
227
  - helpers/v2/spec/functions/version_resolver_spec.rb
226
228
  - helpers/v2/spec/functions_spec.rb
227
229
  - helpers/v2/spec/native_spec_helper.rb