From 9919bd309b5061d2bafb9885e341a6f4a353a187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Thu, 20 Dec 2018 11:19:32 +0000 Subject: [PATCH 1/3] Startup: Use the new CWM::ServiceWidget --- src/lib/y2firewall/widgets/pages/startup.rb | 24 ++-------- .../y2firewall/widgets/pages/startup_test.rb | 44 +++---------------- 2 files changed, 9 insertions(+), 59 deletions(-) diff --git a/src/lib/y2firewall/widgets/pages/startup.rb b/src/lib/y2firewall/widgets/pages/startup.rb index 29f6421a..21b87d42 100644 --- a/src/lib/y2firewall/widgets/pages/startup.rb +++ b/src/lib/y2firewall/widgets/pages/startup.rb @@ -21,8 +21,8 @@ require "yast" require "cwm/page" +require "cwm/service_widget" require "y2firewall/firewalld" -require "ui/service_status" module Y2Firewall module Widgets @@ -44,35 +44,17 @@ def label # @macro seeCustomWidget def contents VBox( - status_widget.widget, + status_widget, VStretch() ) end - # @return [Symbol, nil] returns :swap_mode if the service is started - # or stopped and returns nil othwerwise - def handle(input) - result = status_widget.handle_input(input["ID"]) - return :swap_mode if result == :start || result == :stop - - nil - end - - def store - system_service.start_mode = status_widget.enabled_flag? ? :on_boot : :manual - system_service.reload if status_widget.reload_flag? - end - - def help - status_widget.help - end - private # This is a generic widget in SLE15; may not be appropriate. # For SLE15-SP1, use CWM::ServiceWidget def status_widget - @status_widget ||= ::UI::ServiceStatus.new(system_service.service) + @status_widget ||= ::CWM::ServiceWidget.new(system_service) end # Convenience method to obtain the firewall system service diff --git a/test/lib/y2firewall/widgets/pages/startup_test.rb b/test/lib/y2firewall/widgets/pages/startup_test.rb index c803d4e2..23cdeb16 100755 --- a/test/lib/y2firewall/widgets/pages/startup_test.rb +++ b/test/lib/y2firewall/widgets/pages/startup_test.rb @@ -21,6 +21,7 @@ require_relative "../../../../test_helper.rb" require "cwm/rspec" +require "cwm/service_widget" require "y2firewall/widgets/pages/startup" describe Y2Firewall::Widgets::Pages::Startup do @@ -29,48 +30,15 @@ let(:firewalld) { Y2Firewall::Firewalld.instance } let(:system_service) { Yast2::SystemService.build(Y2Firewall::Firewalld::SERVICE) } - let(:service_status) { ::UI::ServiceStatus.new(system_service.service) } + let(:service_widget) { ::CWM::ServiceWidget.new(system_service.service) } before do - allow(widget).to receive(:status_widget).and_return(service_status) + allow(widget).to receive(:status_widget).and_return(service_widget) end - describe "#store" do - let(:enabled) { false } - let(:reload) { true } - - before do - allow(firewalld).to receive(:system_service).and_return(system_service) - allow(service_status).to receive(:enabled_flag?).and_return(enabled) - allow(service_status).to receive(:reload_flag?).and_return(reload) - end - - context "when the service status enable flag is selected" do - let(:enabled) { true } - - it "marks the service to be enabled on boot" do - expect(system_service).to receive(:start_mode=).with(:on_boot) - - widget.store - end - end - - context "when the service status enable flag is not selected" do - it "marks the service to be enabled manually" do - expect(system_service).to receive(:start_mode=).with(:manual) - - widget.store - end - end - - context "when the service status reload flag is choosen" do - let(:reload) { true } - - it "marks the service to be reloaded after write" do - expect(system_service).to receive(:reload) - - widget.store - end + describe "#contents" do + it "shows the CWM::ServiceWidget for the #{Y2Firewall::Firewalld::SERVICE} service" do + expect(widget.contents).to include(service_widget) end end end From 37274ebeb471833de6e61585628e3d341810cbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Alejandro=20Anderssen=20Gonz=C3=A1lez?= Date: Thu, 20 Dec 2018 11:21:09 +0000 Subject: [PATCH 2/3] Bump version & changelog. --- package/yast2-firewall.changes | 7 +++++++ package/yast2-firewall.spec | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/package/yast2-firewall.changes b/package/yast2-firewall.changes index 85caa9a0..8ed761f5 100644 --- a/package/yast2-firewall.changes +++ b/package/yast2-firewall.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Dec 20 11:19:51 UTC 2018 - knut.anderssen@suse.com + +- Startup dialog: Replace the old UI::ServiceStatus by the new + CWM::ServiceWidget (bsc#1114807) +- 4.1.3 + ------------------------------------------------------------------- Fri Nov 30 15:13:02 UTC 2018 - jreidinger@suse.com diff --git a/package/yast2-firewall.spec b/package/yast2-firewall.spec index 9f479dad..559efadd 100644 --- a/package/yast2-firewall.spec +++ b/package/yast2-firewall.spec @@ -17,7 +17,7 @@ Name: yast2-firewall -Version: 4.1.2 +Version: 4.1.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build From b4064a0b771a50ac7272c1a9315804767d8ce664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= Date: Fri, 28 Dec 2018 17:15:44 +0000 Subject: [PATCH 3/3] Minor testing improvements --- src/lib/y2firewall/widgets/pages/startup.rb | 2 -- test/lib/y2firewall/widgets/pages/startup_test.rb | 15 +++++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/lib/y2firewall/widgets/pages/startup.rb b/src/lib/y2firewall/widgets/pages/startup.rb index 21b87d42..d5bc9d8e 100644 --- a/src/lib/y2firewall/widgets/pages/startup.rb +++ b/src/lib/y2firewall/widgets/pages/startup.rb @@ -51,8 +51,6 @@ def contents private - # This is a generic widget in SLE15; may not be appropriate. - # For SLE15-SP1, use CWM::ServiceWidget def status_widget @status_widget ||= ::CWM::ServiceWidget.new(system_service) end diff --git a/test/lib/y2firewall/widgets/pages/startup_test.rb b/test/lib/y2firewall/widgets/pages/startup_test.rb index 23cdeb16..232a8a69 100755 --- a/test/lib/y2firewall/widgets/pages/startup_test.rb +++ b/test/lib/y2firewall/widgets/pages/startup_test.rb @@ -20,24 +20,27 @@ # ------------------------------------------------------------------------------ require_relative "../../../../test_helper.rb" + require "cwm/rspec" require "cwm/service_widget" require "y2firewall/widgets/pages/startup" describe Y2Firewall::Widgets::Pages::Startup do - include_examples "CWM::Page" subject(:widget) { described_class.new(double("fake pager")) } - let(:firewalld) { Y2Firewall::Firewalld.instance } - let(:system_service) { Yast2::SystemService.build(Y2Firewall::Firewalld::SERVICE) } - let(:service_widget) { ::CWM::ServiceWidget.new(system_service.service) } + include_examples "CWM::Page" + + let(:service) { double("firewalld") } + let(:service_widget) { double("ServiceWidget") } + let(:fw_instance) { double("fw_instance", system_service: service) } before do - allow(widget).to receive(:status_widget).and_return(service_widget) + allow(Y2Firewall::Firewalld).to receive(:instance).and_return(fw_instance) + allow(::CWM::ServiceWidget).to receive(:new).and_return(service_widget) end describe "#contents" do - it "shows the CWM::ServiceWidget for the #{Y2Firewall::Firewalld::SERVICE} service" do + it "includes the ::CWM::ServiceWidget content" do expect(widget.contents).to include(service_widget) end end