From ad34dfa2f983bb3159af8b5780193e0427b505e9 Mon Sep 17 00:00:00 2001
From: Vojtech Trefny <vtrefny@redhat.com>
Date: Thu, 10 Jun 2021 15:01:26 +0200
Subject: [PATCH] Fix/unify importing mock module in tests
mock is available in the unittest module since Python 3.3, we need
to use the old mock module not only with Python 2 but also with
the early versions of Python 3.
---
tests/action_test.py | 5 ++-
tests/dbus_test.py | 9 +++--
tests/devicefactory_test.py | 6 ++--
tests/devicelibs_test/disk_test.py | 6 ++--
tests/devicelibs_test/edd_test.py | 6 +++-
tests/devices_test/dependencies_test.py | 6 ++--
tests/devices_test/device_methods_test.py | 8 +++--
tests/devices_test/device_names_test.py | 6 ++--
tests/devices_test/device_properties_test.py | 8 ++---
tests/devices_test/disk_test.py | 7 ++--
tests/devices_test/lvm_test.py | 7 ++--
tests/devices_test/partition_test.py | 6 ++--
tests/devices_test/tags_test.py | 6 ++--
tests/devicetree_test.py | 6 ++--
tests/events_test.py | 6 ++--
tests/formats_test/disklabel_test.py | 6 ++--
tests/formats_test/luks_test.py | 6 ++--
tests/formats_test/lvmpv_test.py | 2 --
tests/formats_test/methods_test.py | 6 ++--
tests/formats_test/selinux_test.py | 6 ++--
tests/formats_test/swap_test.py | 2 --
tests/misc_test.py | 6 ++--
tests/partitioning_test.py | 6 ++--
tests/populator_test.py | 6 ++--
tests/storagetestcase.py | 5 ++-
tests/test_compat.py | 38 --------------------
tests/udev_test.py | 6 +++-
tests/unsupported_disklabel_test.py | 7 ++--
tests/util_test.py | 6 ++--
29 files changed, 104 insertions(+), 102 deletions(-)
delete mode 100644 tests/test_compat.py
diff --git a/tests/action_test.py b/tests/action_test.py
index 38a2e872..f60cf5d7 100644
--- a/tests/action_test.py
+++ b/tests/action_test.py
@@ -1,9 +1,8 @@
-from six import PY3
import unittest
-if PY3:
+try:
from unittest.mock import Mock
-else:
+except ImportError:
from mock import Mock
from tests.storagetestcase import StorageTestCase
diff --git a/tests/dbus_test.py b/tests/dbus_test.py
index 293ac073..9bb9102a 100644
--- a/tests/dbus_test.py
+++ b/tests/dbus_test.py
@@ -1,7 +1,10 @@
-import test_compat # pylint: disable=unused-import
-
import random
-from six.moves.mock import Mock, patch # pylint: disable=no-name-in-module,import-error
+
+try:
+ from unittest.mock import patch, Mock
+except ImportError:
+ from mock import patch, Mock
+
from unittest import TestCase
import dbus
diff --git a/tests/devicefactory_test.py b/tests/devicefactory_test.py
index dc0d6408..93c8bdb7 100644
--- a/tests/devicefactory_test.py
+++ b/tests/devicefactory_test.py
@@ -4,8 +4,10 @@ import unittest
from decimal import Decimal
import os
-import test_compat # pylint: disable=unused-import
-from six.moves.mock import patch # pylint: disable=no-name-in-module,import-error
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
import blivet
diff --git a/tests/devicelibs_test/disk_test.py b/tests/devicelibs_test/disk_test.py
index e67ef5b1..9cb39951 100644
--- a/tests/devicelibs_test/disk_test.py
+++ b/tests/devicelibs_test/disk_test.py
@@ -1,8 +1,10 @@
# pylint: skip-file
-import test_compat
+try:
+ from unittest.mock import Mock, patch, sentinel
+except ImportError:
+ from mock import Mock, patch, sentinel
import six
-from six.moves.mock import Mock, patch, sentinel
import unittest
from blivet.devicelibs import disk as disklib
diff --git a/tests/devicelibs_test/edd_test.py b/tests/devicelibs_test/edd_test.py
index 23d736f4..21bbcffc 100644
--- a/tests/devicelibs_test/edd_test.py
+++ b/tests/devicelibs_test/edd_test.py
@@ -1,5 +1,9 @@
+try:
+ from unittest import mock
+except ImportError:
+ import mock
+
import unittest
-import mock
import os
import inspect
import logging
diff --git a/tests/devices_test/dependencies_test.py b/tests/devices_test/dependencies_test.py
index c012751d..493d1c9f 100644
--- a/tests/devices_test/dependencies_test.py
+++ b/tests/devices_test/dependencies_test.py
@@ -1,8 +1,6 @@
-# vim:set fileencoding=utf-8
-from six import PY3
-if PY3:
+try:
from unittest.mock import patch, PropertyMock
-else:
+except ImportError:
from mock import patch, PropertyMock
import unittest
diff --git a/tests/devices_test/device_methods_test.py b/tests/devices_test/device_methods_test.py
index f00509be..8a70b5bb 100644
--- a/tests/devices_test/device_methods_test.py
+++ b/tests/devices_test/device_methods_test.py
@@ -1,9 +1,11 @@
-import test_compat # pylint: disable=unused-import
-
import six
-from six.moves.mock import patch, Mock, PropertyMock # pylint: disable=no-name-in-module,import-error
import unittest
+try:
+ from unittest.mock import patch, Mock, PropertyMock
+except ImportError:
+ from mock import patch, PropertyMock
+
from blivet.devices import StorageDevice
from blivet.devices import DiskDevice, PartitionDevice
from blivet.devices import LVMVolumeGroupDevice, LVMLogicalVolumeDevice
diff --git a/tests/devices_test/device_names_test.py b/tests/devices_test/device_names_test.py
index 2a66f983..ca44d38c 100644
--- a/tests/devices_test/device_names_test.py
+++ b/tests/devices_test/device_names_test.py
@@ -1,7 +1,9 @@
# vim:set fileencoding=utf-8
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
-from six.moves.mock import patch # pylint: disable=no-name-in-module,import-error
import six
import unittest
diff --git a/tests/devices_test/device_properties_test.py b/tests/devices_test/device_properties_test.py
index 240ac088..8928707f 100644
--- a/tests/devices_test/device_properties_test.py
+++ b/tests/devices_test/device_properties_test.py
@@ -1,6 +1,3 @@
-# vim:set fileencoding=utf-8
-import test_compat # pylint: disable=unused-import
-
import six
import unittest
@@ -9,7 +6,10 @@ gi.require_version("BlockDev", "2.0")
from gi.repository import BlockDev as blockdev
-from six.moves.mock import Mock, patch # pylint: disable=no-name-in-module,import-error
+try:
+ from unittest.mock import patch, Mock
+except ImportError:
+ from mock import patch, Mock
import blivet
diff --git a/tests/devices_test/disk_test.py b/tests/devices_test/disk_test.py
index e9852303..cc8454e1 100644
--- a/tests/devices_test/disk_test.py
+++ b/tests/devices_test/disk_test.py
@@ -1,7 +1,8 @@
# pylint: skip-file
-import test_compat
-
-from six.moves.mock import patch
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
import unittest
from blivet.devices import DiskDevice
diff --git a/tests/devices_test/lvm_test.py b/tests/devices_test/lvm_test.py
index 670c91c9..f50933c4 100644
--- a/tests/devices_test/lvm_test.py
+++ b/tests/devices_test/lvm_test.py
@@ -1,8 +1,9 @@
-# vim:set fileencoding=utf-8
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, PropertyMock
+except ImportError:
+ from mock import patch, PropertyMock
import six
-from six.moves.mock import patch, PropertyMock # pylint: disable=no-name-in-module,import-error
import unittest
import blivet
diff --git a/tests/devices_test/partition_test.py b/tests/devices_test/partition_test.py
index 0abd88df..4748dafe 100644
--- a/tests/devices_test/partition_test.py
+++ b/tests/devices_test/partition_test.py
@@ -1,5 +1,4 @@
# vim:set fileencoding=utf-8
-import test_compat # pylint: disable=unused-import
from collections import namedtuple
import os
@@ -7,7 +6,10 @@ import six
import unittest
import parted
-from six.moves.mock import Mock, patch # pylint: disable=no-name-in-module,import-error
+try:
+ from unittest.mock import patch, Mock
+except ImportError:
+ from mock import patch, Mock
from blivet.devices import DiskFile
from blivet.devices import PartitionDevice
diff --git a/tests/devices_test/tags_test.py b/tests/devices_test/tags_test.py
index 1edc37f6..49a2d72e 100644
--- a/tests/devices_test/tags_test.py
+++ b/tests/devices_test/tags_test.py
@@ -1,6 +1,8 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
-from six.moves.mock import patch # pylint: disable=no-name-in-module,import-error
import unittest
from blivet.devices import DiskDevice, FcoeDiskDevice, iScsiDiskDevice, MultipathDevice, StorageDevice, ZFCPDiskDevice
diff --git a/tests/devicetree_test.py b/tests/devicetree_test.py
index 11f8469d..fbf31c77 100644
--- a/tests/devicetree_test.py
+++ b/tests/devicetree_test.py
@@ -1,6 +1,8 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, Mock, PropertyMock, sentinel
+except ImportError:
+ from mock import patch, Mock, PropertyMock, sentinel
-from six.moves.mock import Mock, patch, PropertyMock, sentinel # pylint: disable=no-name-in-module,import-error
import os
import six
import unittest
diff --git a/tests/events_test.py b/tests/events_test.py
index 5906b4e2..22666f6d 100644
--- a/tests/events_test.py
+++ b/tests/events_test.py
@@ -1,6 +1,8 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, Mock
+except ImportError:
+ from mock import patch, Mock
-from six.moves.mock import Mock, patch # pylint: disable=no-name-in-module,import-error
import time
from unittest import TestCase
diff --git a/tests/formats_test/disklabel_test.py b/tests/formats_test/disklabel_test.py
index 0cfa736d..f514a778 100644
--- a/tests/formats_test/disklabel_test.py
+++ b/tests/formats_test/disklabel_test.py
@@ -1,7 +1,9 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest import mock
+except ImportError:
+ import mock
import parted
-from six.moves import mock # pylint: disable=no-name-in-module,import-error
import unittest
import blivet
diff --git a/tests/formats_test/luks_test.py b/tests/formats_test/luks_test.py
index be0d50b0..1edbdcb2 100644
--- a/tests/formats_test/luks_test.py
+++ b/tests/formats_test/luks_test.py
@@ -1,6 +1,8 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
-from six.moves.mock import patch # pylint: disable=no-name-in-module,import-error
import unittest
from blivet.formats.luks import LUKS
diff --git a/tests/formats_test/lvmpv_test.py b/tests/formats_test/lvmpv_test.py
index 792a2f1d..cbd2c419 100644
--- a/tests/formats_test/lvmpv_test.py
+++ b/tests/formats_test/lvmpv_test.py
@@ -1,5 +1,3 @@
-import test_compat # pylint: disable=unused-import
-
from blivet.formats.lvmpv import LVMPhysicalVolume
from blivet.size import Size
diff --git a/tests/formats_test/methods_test.py b/tests/formats_test/methods_test.py
index b2674ea7..2743b7db 100644
--- a/tests/formats_test/methods_test.py
+++ b/tests/formats_test/methods_test.py
@@ -1,7 +1,9 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, sentinel, PropertyMock
+except ImportError:
+ from mock import patch, sentinel, PropertyMock
import six
-from six.moves.mock import patch, sentinel, PropertyMock # pylint: disable=no-name-in-module,import-error
import unittest
from blivet.errors import DeviceFormatError
diff --git a/tests/formats_test/selinux_test.py b/tests/formats_test/selinux_test.py
index 02e39011..26df5fe9 100644
--- a/tests/formats_test/selinux_test.py
+++ b/tests/formats_test/selinux_test.py
@@ -1,9 +1,9 @@
# pylint: disable=unused-import
import os
-from six import PY3
-if PY3:
+
+try:
from unittest.mock import patch, ANY
-else:
+except ImportError:
from mock import patch, ANY
import unittest
diff --git a/tests/formats_test/swap_test.py b/tests/formats_test/swap_test.py
index 56356144..8968ca15 100644
--- a/tests/formats_test/swap_test.py
+++ b/tests/formats_test/swap_test.py
@@ -1,5 +1,3 @@
-import test_compat # pylint: disable=unused-import
-
import six
import unittest
diff --git a/tests/misc_test.py b/tests/misc_test.py
index 3c8cf344..10ea1320 100644
--- a/tests/misc_test.py
+++ b/tests/misc_test.py
@@ -1,7 +1,9 @@
import unittest
-import test_compat # pylint: disable=unused-import
-from six.moves.mock import patch # pylint: disable=no-name-in-module,import-error
+try:
+ from unittest.mock import patch
+except ImportError:
+ from mock import patch
import blivet
diff --git a/tests/partitioning_test.py b/tests/partitioning_test.py
index b7aa5045..9b27f0c0 100644
--- a/tests/partitioning_test.py
+++ b/tests/partitioning_test.py
@@ -1,6 +1,8 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, Mock
+except ImportError:
+ from mock import patch, Mock
-from six.moves.mock import Mock, patch # pylint: disable=no-name-in-module,import-error
import six
import unittest
diff --git a/tests/populator_test.py b/tests/populator_test.py
index a7748a9d..2a8532f0 100644
--- a/tests/populator_test.py
+++ b/tests/populator_test.py
@@ -1,7 +1,9 @@
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import call, patch, sentinel, Mock, PropertyMock
+except ImportError:
+ from mock import call, patch, sentinel, Mock, PropertyMock
import gi
-from six.moves.mock import call, patch, sentinel, Mock, PropertyMock # pylint: disable=no-name-in-module,import-error
import six
import unittest
diff --git a/tests/storagetestcase.py b/tests/storagetestcase.py
index 1844dec5..1b856914 100644
--- a/tests/storagetestcase.py
+++ b/tests/storagetestcase.py
@@ -1,6 +1,9 @@
import unittest
-from mock import Mock
+try:
+ from unittest.mock import Mock
+except ImportError:
+ from mock import Mock
import parted
diff --git a/tests/test_compat.py b/tests/test_compat.py
deleted file mode 100644
index d0859e24..00000000
--- a/tests/test_compat.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# test_compat.py
-# Python (2 -v- 3) compatibility functions.
-#
-# Copyright (C) 2017 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use,
-# modify, copy, or redistribute it subject to the terms and conditions of
-# the GNU Lesser General Public License v.2, or (at your option) any later
-# version. This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY expressed or implied, including the implied
-# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-# the GNU Lesser General Public License for more details. You should have
-# received a copy of the GNU Lesser General Public License along with this
-# program; if not, write to the Free Software Foundation, Inc., 51 Franklin
-# Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat trademarks
-# that are incorporated in the source code or documentation are not subject
-# to the GNU Lesser General Public License and may only be used or
-# replicated with the express permission of Red Hat, Inc.
-#
-# Red Hat Author(s): David Lehman <dlehman@redhat.com>
-#
-
-import six as _six
-
-mock_move = _six.MovedModule('mock', 'mock', 'unittest.mock')
-
-
-def add_move(mod):
- _six.add_move(mod)
- # https://bitbucket.org/gutworth/six/issues/116/enable-importing-from-within-custom
- _six._importer._add_module(mod, "moves." + mod.name)
-
-
-def setup():
- add_move(mock_move)
-
-
-setup()
diff --git a/tests/udev_test.py b/tests/udev_test.py
index f9b10620..569a144e 100644
--- a/tests/udev_test.py
+++ b/tests/udev_test.py
@@ -1,6 +1,10 @@
import unittest
-import mock
+
+try:
+ from unittest import mock
+except ImportError:
+ import mock
from udev_data import raid_data
diff --git a/tests/unsupported_disklabel_test.py b/tests/unsupported_disklabel_test.py
index f5b24779..38055333 100644
--- a/tests/unsupported_disklabel_test.py
+++ b/tests/unsupported_disklabel_test.py
@@ -1,7 +1,8 @@
-# vim:set fileencoding=utf-8
-import test_compat # pylint: disable=unused-import
+try:
+ from unittest.mock import patch, sentinel, DEFAULT
+except ImportError:
+ from mock import patch, sentinel, DEFAULT
-from six.moves.mock import patch, sentinel, DEFAULT # pylint: disable=no-name-in-module,import-error
import six
import unittest
diff --git a/tests/util_test.py b/tests/util_test.py
index 853b6166..b4f82c1b 100644
--- a/tests/util_test.py
+++ b/tests/util_test.py
@@ -1,7 +1,9 @@
# pylint: skip-file
-import test_compat
+try:
+ from unittest import mock
+except ImportError:
+ import mock
-from six.moves import mock
import os
import six
import tempfile
--
2.31.1