88 lines
3.9 KiB
Diff
88 lines
3.9 KiB
Diff
From 4e2767e0eab5fe99b9e99dfea8a8425a1297574b Mon Sep 17 00:00:00 2001
|
|
From: Petr Stodulka <pstodulk@redhat.com>
|
|
Date: Wed, 16 Nov 2022 14:10:48 +0100
|
|
Subject: [PATCH 29/32] checksystemdservicestasks: update docstrings + extend
|
|
tests
|
|
|
|
---
|
|
.../systemd/checksystemdservicetasks/actor.py | 11 +++++------
|
|
.../tests/test_checksystemdservicestasks.py | 16 +++++++++++++++-
|
|
2 files changed, 20 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py
|
|
index 2df995ee..547a13df 100644
|
|
--- a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py
|
|
+++ b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py
|
|
@@ -7,17 +7,16 @@ from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag
|
|
|
|
class CheckSystemdServicesTasks(Actor):
|
|
"""
|
|
- Inhibits upgrade if SystemdServicesTasks tasks are in conflict
|
|
+ Inhibit the upgrade if SystemdServicesTasks tasks are in conflict
|
|
|
|
- There is possibility, that SystemdServicesTasks messages with conflicting
|
|
- requested service states could be produced. For example a service is
|
|
- requested to be both enabled and disabled. This actor inhibits upgrade in
|
|
- such cases.
|
|
+ SystemdServicesTasks messages with conflicting requested service states
|
|
+ could be produced. For example a service could be requested to be both
|
|
+ - enabled and disabled. This actor inhibits upgrade in such cases.
|
|
|
|
Note: We expect that SystemdServicesTasks could be produced even after the
|
|
TargetTransactionChecksPhase (e.g. during the ApplicationPhase). The
|
|
purpose of this actor is to report collisions in case we can already detect
|
|
- them. In case of conflicts caused by produced messages later we just log
|
|
+ them. In case of conflicts caused by messages produced later we just log
|
|
the collisions and the services will end up disabled.
|
|
"""
|
|
|
|
diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py
|
|
index 36ded92f..88c278d6 100644
|
|
--- a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py
|
|
+++ b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py
|
|
@@ -5,6 +5,7 @@ from leapp.libraries.actor import checksystemdservicetasks
|
|
from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked
|
|
from leapp.libraries.stdlib import api
|
|
from leapp.models import SystemdServicesTasks
|
|
+from leapp.utils.report import is_inhibitor
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
@@ -44,6 +45,18 @@ from leapp.models import SystemdServicesTasks
|
|
],
|
|
True
|
|
),
|
|
+ (
|
|
+ [
|
|
+ SystemdServicesTasks(to_enable=['hello.service']),
|
|
+ SystemdServicesTasks(to_disable=['world.service']),
|
|
+ SystemdServicesTasks(to_enable=['hello.service', 'kitty.service'])
|
|
+ ],
|
|
+ False
|
|
+ ),
|
|
+ (
|
|
+ [],
|
|
+ False
|
|
+ )
|
|
]
|
|
)
|
|
def test_conflicts_detected(monkeypatch, tasks, should_inhibit):
|
|
@@ -55,6 +68,7 @@ def test_conflicts_detected(monkeypatch, tasks, should_inhibit):
|
|
checksystemdservicetasks.check_conflicts()
|
|
|
|
assert bool(created_reports.called) == should_inhibit
|
|
+ assert is_inhibitor(created_reports.report_fields) == should_inhibit
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
@@ -84,5 +98,5 @@ def test_coflict_reported(monkeypatch, tasks, expected_reported):
|
|
|
|
checksystemdservicetasks.check_conflicts()
|
|
|
|
- report_summary = reporting.create_report.report_fields['summary']
|
|
+ report_summary = created_reports.report_fields['summary']
|
|
assert all(service in report_summary for service in expected_reported)
|
|
--
|
|
2.38.1
|
|
|