Skip to content

Commit

Permalink
remove deprecation and unsupported feature flags and update specs acc…
Browse files Browse the repository at this point in the history
…ordingly
  • Loading branch information
kbukum1 committed Oct 15, 2024
1 parent d48cf82 commit a20736c
Show file tree
Hide file tree
Showing 16 changed files with 244 additions and 224 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,6 @@ def commits_details(base:, head:)
end
end

before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true)
end

after do
Dependabot::Experiments.reset!
end

describe "#pr_name" do
subject(:pr_name) { builder.pr_name }

Expand Down
2 changes: 2 additions & 0 deletions updater/lib/dependabot/dependency_snapshot.rb
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,8 @@ def dependency_file_parser
)
# Add 'package_manager' to the dependency_snapshot to use it in operations
package_manager = parser.package_manager

# Raise an error if the package manager version is unsupported
package_manager&.raise_if_unsupported!

@package_manager[@current_directory] = package_manager
Expand Down
3 changes: 0 additions & 3 deletions updater/lib/dependabot/notices_helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,6 @@ def log_notice(notice)

sig { params(package_manager: T.nilable(PackageManagerBase)).returns(T.nilable(Dependabot::Notice)) }
def create_deprecation_notice(package_manager)
# Feature flag check if deprecation notice should be added to notices.
return unless Dependabot::Experiments.enabled?(:add_deprecation_warn_to_pr_message)

return unless package_manager

return unless package_manager.is_a?(PackageManagerBase)
Expand Down
3 changes: 0 additions & 3 deletions updater/lib/dependabot/updater/group_update_creation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,6 @@ def compile_updates_for(dependency, dependency_files, group) # rubocop:disable M
return []
end

# Raise an error if the package manager version is unsupported
dependency_snapshot.package_manager&.raise_if_unsupported!

checker.updated_dependencies(
requirements_to_unlock: requirements_to_unlock
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ def check_and_create_pr_with_error_handling(dependency)
# rubocop:disable Metrics/AbcSize
# rubocop:disable Metrics/PerceivedComplexity
# rubocop:disable Metrics/MethodLength
# rubocop:disable Metrics/CyclomaticComplexity
sig { params(dependency: Dependabot::Dependency).void }
def check_and_create_pull_request(dependency)
dependency = vulnerable_version(dependency) if dependency.metadata[:all_versions]
Expand Down Expand Up @@ -146,9 +145,6 @@ def check_and_create_pull_request(dependency)
log_requirements_for_update(requirements_to_unlock, checker)
return record_security_update_not_possible_error(checker) if requirements_to_unlock == :update_not_possible

# Raise an error if the package manager version is unsupported
dependency_snapshot.package_manager&.raise_if_unsupported!

updated_deps = checker.updated_dependencies(
requirements_to_unlock: requirements_to_unlock
)
Expand Down Expand Up @@ -202,7 +198,6 @@ def check_and_create_pull_request(dependency)
# rubocop:enable Metrics/MethodLength
# rubocop:enable Metrics/AbcSize
# rubocop:enable Metrics/PerceivedComplexity
# rubocop:enable Metrics/CyclomaticComplexity
sig { params(dependency: Dependabot::Dependency).returns(Dependabot::Dependency) }
def vulnerable_version(dependency)
return dependency if dependency.metadata[:all_versions].count == 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,6 @@ def check_and_update_pull_request(dependencies)
return close_pull_request(reason: :update_no_longer_possible)
end

# Raise an error if the package manager version is unsupported
dependency_snapshot.package_manager&.raise_if_unsupported!

updated_deps = checker.updated_dependencies(
requirements_to_unlock: requirements_to_unlock
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,6 @@ def check_and_create_pull_request(dependency)
notices: @notices
)

# Raise an error if the package manager version is unsupported
dependency_snapshot.package_manager&.raise_if_unsupported!

if dependency_change.updated_dependency_files.empty?
raise "UpdateChecker found viable dependencies to be updated, but FileUpdater failed to update any files"
end
Expand Down
9 changes: 0 additions & 9 deletions updater/spec/dependabot/notices_helpers_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,6 @@ def supported_versions
end.new
end

before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true)
end

after do
Dependabot::Experiments.reset!
end

describe "#add_deprecation_notice" do
context "when package manager is provided and is deprecated" do
it "adds a deprecation notice to the notices array" do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,20 +134,50 @@
)
end

before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true)
let(:package_manager) do
DummyPkgHelpers::StubPackageManager.new(
name: "bundler",
version: package_manager_version,
deprecated_versions: deprecated_versions,
supported_versions: supported_versions
)
end

let(:package_manager_version) { "2" }
let(:supported_versions) { %w(2 3) }
let(:deprecated_versions) { %w(1) }

before do
allow(Dependabot::UpdateCheckers).to receive(:for_package_manager).and_return(stub_update_checker_class)
allow(Dependabot::DependencyChangeBuilder)
.to receive(:create_from)
.and_return(stub_dependency_change)
allow(dependency_snapshot).to receive(:package_manager).and_return(package_manager)
end

after do
Dependabot::Experiments.reset!
end

describe "#perform" do
before do
allow(dependency_snapshot).to receive(:job_dependencies).and_return([dependency])
allow(job).to receive(:package_manager).and_return("bundler")
end

context "when package manager version is unsupported" do
let(:package_manager_version) { "1" }

it "handles the ToolVersionNotSupported error with the error handler" do
expect(mock_error_handler).to receive(:handle_job_error).with(
error: instance_of(Dependabot::ToolVersionNotSupported),
dependency_group: dependency_group
)
perform
end
end
end

describe "#dependency_change" do
before do
allow(dependency).to receive(:all_versions).and_return(["4.0.0", "4.1.0", "4.2.0"])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,6 @@
end

before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true)

allow(Dependabot::UpdateCheckers).to receive(
:for_package_manager
).and_return(stub_update_checker_class)
Expand Down Expand Up @@ -275,6 +272,7 @@
let(:package_manager_version) { "1" }

it "creates a pull request" do
allow(package_manager).to receive(:unsupported?).and_return(false)
expect(create_security_update_pull_request)
.to receive(:check_and_create_pull_request)
.with(dependency).and_call_original
Expand Down Expand Up @@ -310,21 +308,11 @@
let(:package_manager_version) { "1" }
let(:supported_versions) { %w(2 3) }

before do
# Enable the feature flag for unsupported version
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:bundler_v1_unsupported_error)
.and_return(true)

# Ensure unsupported? method returns true so the error is triggered
allow(package_manager).to receive(:unsupported?).and_return(true)
end

it "logs the ToolVersionNotSupported error to the error handler" do
# Ensure the error handler receives the expected error
expect(mock_error_handler).to receive(:handle_dependency_error)
.with(hash_including(error: instance_of(Dependabot::ToolVersionNotSupported)))

it "handles the ToolVersionNotSupported error with the error handler" do
expect(mock_error_handler).to receive(:handle_dependency_error).with(
error: instance_of(Dependabot::ToolVersionNotSupported),
dependency: dependency
)
perform
end
end
Expand Down
Loading

0 comments on commit a20736c

Please sign in to comment.