From 269635c5a15601a4b475f459bfed7ccc979c387c Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Wed, 6 Mar 2024 15:23:21 -0500 Subject: [PATCH] Fixes #37230 - Remove SCA hammer references --- lib/hammer_cli_katello.rb | 6 -- lib/hammer_cli_katello/organization.rb | 23 -------- .../simple_content_access.rb | 59 ------------------- test/functional/organization/info_test.rb | 14 ----- .../simple_content_access/disable_test.rb | 48 --------------- .../simple_content_access/enable_test.rb | 46 --------------- .../simple_content_access/status_test.rb | 29 --------- 7 files changed, 225 deletions(-) delete mode 100644 lib/hammer_cli_katello/simple_content_access.rb delete mode 100644 test/functional/simple_content_access/disable_test.rb delete mode 100644 test/functional/simple_content_access/enable_test.rb delete mode 100644 test/functional/simple_content_access/status_test.rb diff --git a/lib/hammer_cli_katello.rb b/lib/hammer_cli_katello.rb index 2851cd623..76907eafc 100644 --- a/lib/hammer_cli_katello.rb +++ b/lib/hammer_cli_katello.rb @@ -154,12 +154,6 @@ def self.exception_handler_class 'hammer_cli_katello/srpm' ) - HammerCLI::MainCommand.lazy_subcommand("simple-content-access", - _("Simple content access commands"), - 'HammerCLIKatello::SimpleContentAccess', - 'hammer_cli_katello/simple_content_access' - ) - HammerCLI::MainCommand.lazy_subcommand("docker", _("Manipulate docker content"), 'HammerCLIKatello::DockerCommand', 'hammer_cli_katello/docker' diff --git a/lib/hammer_cli_katello/organization.rb b/lib/hammer_cli_katello/organization.rb index 2c15e7af8..c7454551c 100644 --- a/lib/hammer_cli_katello/organization.rb +++ b/lib/hammer_cli_katello/organization.rb @@ -20,7 +20,6 @@ class InfoCommand < HammerCLIForeman::Organization::InfoCommand output do field :label, _("Label") field :description, _("Description") - field :simple_content_access_label, _("Simple Content Access") field :service_levels, _("Service Levels"), Fields::List from :cdn_configuration do label "CDN configuration", hide_blank: true do @@ -39,11 +38,6 @@ class InfoCommand < HammerCLIForeman::Organization::InfoCommand end def extend_data(data) - data["simple_content_access_label"] = if data["simple_content_access"] - _("Enabled") - else - _("Disabled") - end setup_cdn_type(data) data end @@ -68,23 +62,6 @@ class UpdateCommand < HammerCLIForeman::Organization::UpdateCommand success_message _("Organization updated.") failure_message _("Could not update the organization") - def request_params - params = super - # This is so Hammer doesn't say "Nothing to update" when toggling SCA. - # (see hammer-cli-foreman) - # Rails will safely ignore the extra parameter. - if params.key?('simple_content_access') - params["organization"] = params.fetch('organization', {}).merge( - "_simple_content_access" => params['simple_content_access']) - unless params['simple_content_access'] - warn( - _("Simple Content Access will be required for all organizations in the next release.") - ) - end - end - params - end - build_options do |o| o.expand(:all).except(:environments) end diff --git a/lib/hammer_cli_katello/simple_content_access.rb b/lib/hammer_cli_katello/simple_content_access.rb deleted file mode 100644 index d277aa1ec..000000000 --- a/lib/hammer_cli_katello/simple_content_access.rb +++ /dev/null @@ -1,59 +0,0 @@ -module HammerCLIKatello - class SimpleContentAccess < HammerCLIKatello::Command - resource :simple_content_access - - desc "Toggle simple content access mode across organization" - - module EligibleCheck - include ApipieHelper - def request_params - super.tap do |opts| - unless call(:eligible, :simple_content_access, opts)["simple_content_access_eligible"] - raise _("This organization is not eligible for Simple Content Access") - end - end - end - end - - class StatusCommand < HammerCLIKatello::ListCommand - resource :simple_content_access, :status - command_name "status" - output do - field :simple_content_access, _('Simple Content Access'), Fields::Boolean - end - - build_options - end - - class EnableCommand < HammerCLIKatello::SingleResourceCommand - include EligibleCheck - include HammerCLIForemanTasks::Async - resource :simple_content_access, :enable - command_name "enable" - - success_message _("Simple Content Access Enabled.") - failure_message _("Could not enable Simple Content Access for this organization") - - build_options - end - - class DisableCommand < HammerCLIKatello::SingleResourceCommand - include EligibleCheck - include HammerCLIForemanTasks::Async - resource :simple_content_access, :disable - command_name "disable" - - success_message _("Simple Content Access Disabled.") - failure_message _("Could not disable Simple Content Access for this organization") - - build_options - - def execute - warn _("Simple Content Access will be required for all organizations in the next release.") - super - end - end - - autoload_subcommands - end -end diff --git a/test/functional/organization/info_test.rb b/test/functional/organization/info_test.rb index 51ab5a240..ecc4929a7 100644 --- a/test/functional/organization/info_test.rb +++ b/test/functional/organization/info_test.rb @@ -11,20 +11,6 @@ { "type" => 'network_sync' } end - it "includes simple content access attributes" do - org_id = 2 - params = ["--id=#{org_id}"] - api_expects(:organizations, :index).returns(index_response([{'id' => org_id}])) - - api_expects(:organizations, :show) - .with_params('id' => org_id.to_s) - .returns("simple_content_access" => true, "id" => org_id, - "cdn_configuration" => cdn_configuration) - result = run_cmd(@cmd + params) - expected = success_result(FieldMatcher.new('Simple Content Access', 'Enabled')) - assert_cmd(expected, result) - end - it "includes cdn configuration attributes" do org_id = 2 params = ["--id=#{org_id}"] diff --git a/test/functional/simple_content_access/disable_test.rb b/test/functional/simple_content_access/disable_test.rb deleted file mode 100644 index 319df07ab..000000000 --- a/test/functional/simple_content_access/disable_test.rb +++ /dev/null @@ -1,48 +0,0 @@ -require File.join(File.dirname(__FILE__), '../../test_helper') - -describe 'simple-content-access disable' do - before do - @cmd = %w(simple-content-access disable) - end - - let(:organization_id) { 3 } - - it "disables with required options" do - params = ["--organization-id=#{organization_id}"] - - api_expects(:simple_content_access, :eligible). - with_params('organization_id' => organization_id). - returns("simple_content_access_eligible" => true) - - api_expects(:simple_content_access, :disable) - .with_params('organization_id' => organization_id) - run_cmd(@cmd + params) - end - - it 'fails on missing required params' do - params = [] - - result = run_cmd(@cmd + params) - expected_error = "Could not disable Simple Content Access for this organization" - - assert_equal(result.exit_code, HammerCLI::EX_SOFTWARE) - assert_equal(result.err[/#{expected_error}/], expected_error) - end - - it 'fails on non eligible org' do - params = ["--organization-id=#{organization_id}"] - - api_expects(:simple_content_access, :eligible). - with_params('organization_id' => organization_id). - returns("simple_content_access_eligible" => false) - - api_expects(:simple_content_access, :disable) - .with_params('organization_id' => organization_id).never - result = run_cmd(@cmd + params) - - expected_error = "Could not disable Simple Content Access for this organization" - - assert_equal(result.exit_code, HammerCLI::EX_SOFTWARE) - assert_equal(result.err[/#{expected_error}/], expected_error) - end -end diff --git a/test/functional/simple_content_access/enable_test.rb b/test/functional/simple_content_access/enable_test.rb deleted file mode 100644 index cd94a6b6d..000000000 --- a/test/functional/simple_content_access/enable_test.rb +++ /dev/null @@ -1,46 +0,0 @@ -require File.join(File.dirname(__FILE__), '../../test_helper') - -describe 'simple-content-access enable' do - before do - @cmd = %w(simple-content-access enable) - end - - let(:organization_id) { 3 } - - it "enables with required options" do - params = ["--organization-id=#{organization_id}"] - api_expects(:simple_content_access, :eligible). - with_params('organization_id' => organization_id). - returns("simple_content_access_eligible" => true) - - api_expects(:simple_content_access, :enable) - .with_params('organization_id' => organization_id) - run_cmd(@cmd + params) - end - - it 'fails on missing required params' do - params = [] - result = run_cmd(@cmd + params) - expected_error = "Could not enable Simple Content Access for this organization" - - assert_equal(result.exit_code, HammerCLI::EX_SOFTWARE) - assert_equal(result.err[/#{expected_error}/], expected_error) - end - - it 'fails on non eligible org' do - params = ["--organization-id=#{organization_id}"] - - api_expects(:simple_content_access, :eligible). - with_params('organization_id' => organization_id). - returns("simple_content_access_eligible" => false) - - api_expects(:simple_content_access, :enable) - .with_params('organization_id' => organization_id).never - result = run_cmd(@cmd + params) - - expected_error = "Could not enable Simple Content Access for this organization" - - assert_equal(result.exit_code, HammerCLI::EX_SOFTWARE) - assert_equal(result.err[/#{expected_error}/], expected_error) - end -end diff --git a/test/functional/simple_content_access/status_test.rb b/test/functional/simple_content_access/status_test.rb deleted file mode 100644 index cce1c5177..000000000 --- a/test/functional/simple_content_access/status_test.rb +++ /dev/null @@ -1,29 +0,0 @@ -require File.join(File.dirname(__FILE__), '../../test_helper') - -describe 'simple-content-access status' do - before do - @cmd = %w(simple-content-access status) - end - - let(:organization_id) { 3 } - - it 'list status with required options' do - params = ["--organization-id=#{organization_id}"] - api_expects(:simple_content_access, :status). - with_params('organization_id' => organization_id). - returns('simple_content_access' => true) - - run_cmd(@cmd + params) - end - - it 'fails on missing required params' do - params = [] - result = run_cmd(@cmd + params) - # rubocop:disable Layout/LineLength - expected_error = 'Could not find organization, please set one of options --organization-id, --organization, --organization-title, --organization-label.' - # rubocop:enable Layout/LineLength - - assert_equal(result.exit_code, HammerCLI::EX_SOFTWARE) - assert_equal(result.err[/#{expected_error}/], expected_error) - end -end