65598582f5
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=179
198 lines
7.0 KiB
Diff
198 lines
7.0 KiB
Diff
From 06482f99ed8bad5ffe5fb67182fd3aea166b8a1a Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?=
|
|
<psuarezhernandez@suse.com>
|
|
Date: Mon, 19 Nov 2018 11:46:26 +0000
|
|
Subject: [PATCH] Remove arch from name when pkg.list_pkgs is called
|
|
with 'attr' (bsc#1114029)
|
|
|
|
Add unit tests for pkg_resource.format_pkg_list
|
|
|
|
Fix pylint issues
|
|
|
|
Refactor: Return requested attr even if empty
|
|
|
|
Add corner cases on package names to unit tests
|
|
|
|
Fix Zypper/Yum unit test after returning empty requested attrs
|
|
|
|
Add Yum/Zypper list_pkgs unit tests for multiple versions reported
|
|
|
|
Compare testing items properly to avoid unwanted failures
|
|
|
|
Use assertCountEqual when running on Python3
|
|
|
|
Add missing import for the six module
|
|
|
|
Strip architecture from package name in aptpkg module
|
|
|
|
Use parse_arch_from_name if available on the virtual pkg module
|
|
|
|
Adapt unit tests after introducing parse_arch_from_name
|
|
|
|
Use PKG_ARCH_SEPARATOR in pkg.normalize_name method
|
|
|
|
Add pkg_resource to setup loader modules. Fix pylint
|
|
|
|
Remove unnecessary lambda
|
|
|
|
Return None instead empty string for arch and release in pkg.list_pkgs
|
|
---
|
|
tests/unit/modules/test_zypperpkg.py | 49 +++++++++-------------------
|
|
1 file changed, 16 insertions(+), 33 deletions(-)
|
|
|
|
diff --git a/tests/unit/modules/test_zypperpkg.py b/tests/unit/modules/test_zypperpkg.py
|
|
index 36261285cb..7bff7065c6 100644
|
|
--- a/tests/unit/modules/test_zypperpkg.py
|
|
+++ b/tests/unit/modules/test_zypperpkg.py
|
|
@@ -1,33 +1,24 @@
|
|
-# -*- coding: utf-8 -*-
|
|
"""
|
|
:codeauthor: Bo Maryniuk <bo@suse.de>
|
|
"""
|
|
|
|
-# Import Python Libs
|
|
-from __future__ import absolute_import
|
|
|
|
import os
|
|
from xml.dom import minidom
|
|
|
|
import salt.modules.pkg_resource as pkg_resource
|
|
import salt.modules.zypperpkg as zypper
|
|
-
|
|
-# Import Salt libs
|
|
import salt.utils.files
|
|
import salt.utils.pkg
|
|
from salt.exceptions import CommandExecutionError
|
|
from salt.ext import six
|
|
-
|
|
-# Import 3rd-party libs
|
|
from salt.ext.six.moves import configparser
|
|
-
|
|
-# Import Salt Testing Libs
|
|
from tests.support.mixins import LoaderModuleMockMixin
|
|
from tests.support.mock import MagicMock, Mock, call, patch
|
|
from tests.support.unit import TestCase
|
|
|
|
|
|
-class ZyppCallMock(object):
|
|
+class ZyppCallMock:
|
|
def __init__(self, return_value=None):
|
|
self.__return_value = return_value
|
|
|
|
@@ -124,7 +115,7 @@ class ZypperTestCase(TestCase, LoaderModuleMockMixin):
|
|
:return:
|
|
"""
|
|
|
|
- class RunSniffer(object):
|
|
+ class RunSniffer:
|
|
def __init__(self, stdout=None, stderr=None, retcode=None):
|
|
self.calls = list()
|
|
self._stdout = stdout or ""
|
|
@@ -237,7 +228,7 @@ class ZypperTestCase(TestCase, LoaderModuleMockMixin):
|
|
):
|
|
with self.assertRaisesRegex(
|
|
CommandExecutionError,
|
|
- "^Zypper command failure: Some handled zypper internal error{0}Another zypper internal error$".format(
|
|
+ "^Zypper command failure: Some handled zypper internal error{}Another zypper internal error$".format(
|
|
os.linesep
|
|
),
|
|
):
|
|
@@ -316,7 +307,7 @@ class ZypperTestCase(TestCase, LoaderModuleMockMixin):
|
|
"--no-refresh",
|
|
"--disable-repositories",
|
|
"products",
|
|
- u"-i",
|
|
+ "-i",
|
|
],
|
|
env={"ZYPP_READONLY_HACK": "1"},
|
|
output_loglevel="trace",
|
|
@@ -338,14 +329,9 @@ class ZypperTestCase(TestCase, LoaderModuleMockMixin):
|
|
"eol_t",
|
|
"registerrelease",
|
|
]:
|
|
- if six.PY3:
|
|
- self.assertCountEqual(
|
|
- test_data[kwd], [prod.get(kwd) for prod in products]
|
|
- )
|
|
- else:
|
|
- self.assertEqual(
|
|
- test_data[kwd], sorted([prod.get(kwd) for prod in products])
|
|
- )
|
|
+ self.assertCountEqual(
|
|
+ test_data[kwd], [prod.get(kwd) for prod in products]
|
|
+ )
|
|
cmd_run_all.assert_has_calls([mock_call])
|
|
|
|
def test_refresh_db(self):
|
|
@@ -797,7 +783,7 @@ Use 'zypper repos' to get the list of defined repositories.
|
|
Repository 'DUMMY' not found by its alias, number, or URI.
|
|
"""
|
|
|
|
- class FailingZypperDummy(object):
|
|
+ class FailingZypperDummy:
|
|
def __init__(self):
|
|
self.stdout = zypper_out
|
|
self.stderr = ""
|
|
@@ -1083,10 +1069,7 @@ Repository 'DUMMY' not found by its alias, number, or URI.
|
|
],
|
|
}
|
|
for pkgname, pkginfo in pkgs.items():
|
|
- if six.PY3:
|
|
- self.assertCountEqual(pkginfo, expected_pkg_list[pkgname])
|
|
- else:
|
|
- self.assertItemsEqual(pkginfo, expected_pkg_list[pkgname])
|
|
+ self.assertCountEqual(pkginfo, expected_pkg_list[pkgname])
|
|
|
|
def test_list_patches(self):
|
|
"""
|
|
@@ -1446,7 +1429,7 @@ Repository 'DUMMY' not found by its alias, number, or URI.
|
|
:return:
|
|
"""
|
|
|
|
- class ListPackages(object):
|
|
+ class ListPackages:
|
|
def __init__(self):
|
|
self._packages = ["vim", "pico"]
|
|
self._pkgs = {
|
|
@@ -1884,7 +1867,7 @@ Repository 'DUMMY' not found by its alias, number, or URI.
|
|
"""
|
|
_zpr = MagicMock()
|
|
_zpr.nolock.xml.call = MagicMock(return_value=minidom.parseString(xmldoc))
|
|
- assert isinstance(zypper.Wildcard(_zpr)("libzypp", "*.1"), six.string_types)
|
|
+ assert isinstance(zypper.Wildcard(_zpr)("libzypp", "*.1"), str)
|
|
|
|
def test_wildcard_to_query_condition_preservation(self):
|
|
"""
|
|
@@ -1904,14 +1887,14 @@ Repository 'DUMMY' not found by its alias, number, or URI.
|
|
|
|
for op in zypper.Wildcard.Z_OP:
|
|
assert zypper.Wildcard(_zpr)(
|
|
- "libzypp", "{0}*.1".format(op)
|
|
- ) == "{0}17.2.6-27.9.1".format(op)
|
|
+ "libzypp", "{}*.1".format(op)
|
|
+ ) == "{}17.2.6-27.9.1".format(op)
|
|
|
|
# Auto-fix feature: moves operator from end to front
|
|
for op in zypper.Wildcard.Z_OP:
|
|
assert zypper.Wildcard(_zpr)(
|
|
- "libzypp", "16*{0}".format(op)
|
|
- ) == "{0}16.2.5-25.1".format(op)
|
|
+ "libzypp", "16*{}".format(op)
|
|
+ ) == "{}16.2.5-25.1".format(op)
|
|
|
|
def test_wildcard_to_query_unsupported_operators(self):
|
|
"""
|
|
@@ -1930,7 +1913,7 @@ Repository 'DUMMY' not found by its alias, number, or URI.
|
|
_zpr.nolock.xml.call = MagicMock(return_value=minidom.parseString(xmldoc))
|
|
with self.assertRaises(CommandExecutionError):
|
|
for op in [">>", "==", "<<", "+"]:
|
|
- zypper.Wildcard(_zpr)("libzypp", "{0}*.1".format(op))
|
|
+ zypper.Wildcard(_zpr)("libzypp", "{}*.1".format(op))
|
|
|
|
@patch("salt.modules.zypperpkg._get_visible_patterns")
|
|
def test__get_installed_patterns(self, get_visible_patterns):
|
|
--
|
|
2.29.2
|
|
|
|
|