Skip to content

Commit

Permalink
Merge pull request #942 from yast/polkit_default
Browse files Browse the repository at this point in the history
Use empty string instead of 'default' as the 'Default' id
  • Loading branch information
teclator committed Apr 14, 2021
2 parents 4205f6a + a982d6c commit 1cc83c0
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 8 deletions.
8 changes: 8 additions & 0 deletions package/yast2-installation.changes
@@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed Apr 14 11:08:52 UTC 2021 - Knut Anderssen <kanderssen@suse.com>

- Show 'Default' in the proposal summary as the PolicyKit Default
Privileges to be used when it is not specified or specified as
empty in the control file (bsc#1184277)
- 4.3.37

-------------------------------------------------------------------
Mon Mar 29 16:25:00 UTC 2021 - Ladislav Slezák <lslezak@suse.cz>

Expand Down
2 changes: 1 addition & 1 deletion package/yast2-installation.spec
Expand Up @@ -16,7 +16,7 @@
#

Name: yast2-installation
Version: 4.3.36
Version: 4.3.37
Release: 0
Group: System/YaST
License: GPL-2.0-only
Expand Down
2 changes: 1 addition & 1 deletion src/lib/installation/clients/security_proposal.rb
Expand Up @@ -232,7 +232,7 @@ def sshd_proposal
end

def polkit_default_priv_proposal
value = @settings.polkit_default_privileges || "default"
value = @settings.polkit_default_privileges.to_s
human_value = @settings.human_polkit_privileges[value]

format(_("PolicyKit Default Privileges: %s"), human_value)
Expand Down
2 changes: 1 addition & 1 deletion src/lib/installation/security_settings.rb
Expand Up @@ -146,7 +146,7 @@ def access_problem?

def human_polkit_privileges
{
"default" => _("Default"),
"" => _("Default"),
# TRANSLATORS: restrictive in sense the most restrictive policy
"restrictive" => _("Restrictive"),
"standard" => _("Standard"),
Expand Down
8 changes: 4 additions & 4 deletions src/lib/installation/widgets/polkit_default_priv.rb
Expand Up @@ -18,6 +18,7 @@
# ------------------------------------------------------------------------------

require "cwm/common_widgets"
require "installation/security_settings"

module Installation
module Widgets
Expand Down Expand Up @@ -53,18 +54,17 @@ def help
"to allow a more seamless user experience without" \
" interruptions in the workflow due to password " \
"prompts.</li></ul><br>" \
"The \"default\" is to keep value empty and it will be" \
"The \"default\" is to keep value empty and it will be " \
"assigned automatically.</p>"
)
end

def init
self.value = @settings.polkit_default_privileges || "default"
self.value = @settings.polkit_default_privileges.to_s
end

def store
res = value == "default" ? nil : value
@settings.polkit_default_privileges = res
@settings.polkit_default_privileges = value.empty? ? nil : value
end
end
end
Expand Down
34 changes: 34 additions & 0 deletions test/lib/clients/security_proposal_test.rb
Expand Up @@ -184,5 +184,39 @@
end
end
end

context "when showing the PolicyKit Default privileges selected" do
let(:selected) { "" }

before do
allow(proposal_settings).to receive(:polkit_default_privileges).and_return(selected)
end

context "and it is not set" do
let(:selected) { nil }

it "shows it as 'Default'" do
proposal = client.make_proposal({})
expect(proposal["preformatted_proposal"]).to include("Privileges: Default")
end
end

context "and it is empty" do
let(:selected) { nil }

it "shows it as 'Default'" do
proposal = client.make_proposal({})
expect(proposal["preformatted_proposal"]).to include("Privileges: Default")
end
end
context "and it is restrictive" do
let(:selected) { "restrictive" }

it "shows it as 'Restrictive'" do
proposal = client.make_proposal({})
expect(proposal["preformatted_proposal"]).to include("Privileges: Restrictive")
end
end
end
end
end
27 changes: 26 additions & 1 deletion test/lib/widgets/polkit_default_priv_test.rb 100644 → 100755
Expand Up @@ -5,7 +5,32 @@
require "cwm/rspec"

describe Installation::Widgets::PolkitDefaultPriv do
subject { described_class.new(Installation::SecuritySettings.create_instance) }
let(:settings) { Installation::SecuritySettings.create_instance }
subject { described_class.new(settings) }

include_examples "CWM::ComboBox"

describe ".store" do
let(:selected) { "" }

before do
allow(subject).to receive(:value).and_return(selected)
end

context "when the value selected is the 'Default'" do
it "sets the settings polkit_default_privileges to nil" do
expect(settings).to receive(:polkit_default_privileges=).with(nil)
subject.store
end
end

context "when the value selected is other" do
let(:selected) { "restrictive" }

it "sets the settings with the selected value" do
expect(settings).to receive(:polkit_default_privileges=).with("restrictive")
subject.store
end
end
end
end

0 comments on commit 1cc83c0

Please sign in to comment.