forked from pool/python-sortinghat
		
	Accepting request 1277518 from devel:languages:python
- Update to 1.7.1:
  * New features:
    + More detailed individual information when reviewing recommendations
    + Renamed recommendations view labels
    + Improved session cookie security
    + More icons for sources
    + Skip recommendations
    + Sort organizations by number of enrollments
  * Bug fixes:
    + Wrong order of affiliations
- Add patch no-testcontainers.patch:
  * Do not rely on testcontainers to use mysql
- Add patch support-click-8.2.patch:
  * Support click 8.2+ changes.
OBS-URL: https://build.opensuse.org/request/show/1277518
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sortinghat?expand=0&rev=14
			
			
This commit is contained in:
		
							
								
								
									
										61
									
								
								no-testcontainers.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								no-testcontainers.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/runners.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/runners.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/runners.py | ||||
| @@ -18,54 +18,22 @@ | ||||
|   | ||||
|  from django.conf import settings | ||||
|  from django.test.runner import DiscoverRunner | ||||
| -from testcontainers.mysql import MySqlContainer | ||||
|  from unittest.suite import TestSuite | ||||
|   | ||||
|   | ||||
| -class TestContainersRunner(DiscoverRunner): | ||||
| -    _mysql_container: MySqlContainer = None | ||||
| - | ||||
| -    def __init__(self, *args, **kwargs): | ||||
| -        super().__init__(*args, **kwargs) | ||||
| - | ||||
| -        db_image = getattr(settings, "TEST_DATABASE_IMAGE", "mariadb:latest") | ||||
| - | ||||
| -        self._mysql_container = MySqlContainer(image=db_image, | ||||
| -                                               root_password="root") | ||||
| - | ||||
| -    def _setup_container(self): | ||||
| -        self._mysql_container.start() | ||||
| - | ||||
| -        for database in settings.DATABASES: | ||||
| -            settings.DATABASES[database]["HOST"] = "127.0.0.1" | ||||
| -            settings.DATABASES[database]["PORT"] = self._mysql_container.get_exposed_port(3306) | ||||
| -            settings.DATABASES[database]["USER"] = "root" | ||||
| -            settings.DATABASES[database]["PASSWORD"] = self._mysql_container.root_password | ||||
| - | ||||
| -    def _teardown_container(self): | ||||
| -        self._mysql_container.stop() | ||||
| - | ||||
| -    def setup_databases(self, **kwargs): | ||||
| -        self._setup_container() | ||||
| -        return super().setup_databases(**kwargs) | ||||
| - | ||||
| -    def teardown_databases(self, old_config, **kwargs): | ||||
| -        super().teardown_databases(old_config, **kwargs) | ||||
| -        self._teardown_container() | ||||
| - | ||||
|   | ||||
|  def from_tenant_module(test): | ||||
|      return test.__module__.startswith('tests.tenants') | ||||
|   | ||||
|   | ||||
| -class SkipMultiTenantTestRunner(TestContainersRunner): | ||||
| +class SkipMultiTenantTestRunner(DiscoverRunner): | ||||
|      def build_suite(self, test_labels=None, extra_tests=None, **kwargs): | ||||
|          suite = super().build_suite(test_labels=test_labels, extra_tests=extra_tests, **kwargs) | ||||
|          tests = [t for t in suite._tests if not from_tenant_module(t)] | ||||
|          return TestSuite(tests=tests) | ||||
|   | ||||
|   | ||||
| -class OnlyMultiTenantTestRunner(TestContainersRunner): | ||||
| +class OnlyMultiTenantTestRunner(DiscoverRunner): | ||||
|      def build_suite(self, test_labels=None, extra_tests=None, **kwargs): | ||||
|          suite = super().build_suite(test_labels=test_labels, extra_tests=extra_tests, **kwargs) | ||||
|          tests = [t for t in suite._tests if from_tenant_module(t)] | ||||
| @@ -1,3 +1,21 @@ | ||||
| ------------------------------------------------------------------- | ||||
| Thu May 15 02:33:32 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com> | ||||
|  | ||||
| - Update to 1.7.1: | ||||
|   * New features: | ||||
|     + More detailed individual information when reviewing recommendations | ||||
|     + Renamed recommendations view labels | ||||
|     + Improved session cookie security | ||||
|     + More icons for sources | ||||
|     + Skip recommendations | ||||
|     + Sort organizations by number of enrollments | ||||
|   * Bug fixes: | ||||
|     + Wrong order of affiliations | ||||
| - Add patch no-testcontainers.patch: | ||||
|   * Do not rely on testcontainers to use mysql | ||||
| - Add patch support-click-8.2.patch: | ||||
|   * Support click 8.2+ changes. | ||||
|  | ||||
| ------------------------------------------------------------------- | ||||
| Wed Dec 11 04:53:10 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com> | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| # | ||||
| # spec file for package python-sortinghat | ||||
| # | ||||
| # Copyright (c) 2024 SUSE LLC | ||||
| # Copyright (c) 2025 SUSE LLC | ||||
| # | ||||
| # All modifications and additions to the file contributed by third parties | ||||
| # remain the property of their copyright owners, unless otherwise agreed | ||||
| @@ -17,7 +17,7 @@ | ||||
|  | ||||
|  | ||||
| Name:           python-sortinghat | ||||
| Version:        1.5.1 | ||||
| Version:        1.7.1 | ||||
| Release:        0 | ||||
| Summary:        A tool to manage identities | ||||
| License:        GPL-3.0-only | ||||
| @@ -27,6 +27,10 @@ Source:         https://github.com/chaoss/grimoirelab-sortinghat/archive/refs/ta | ||||
| Patch0:         allow-database-config-overrides.patch | ||||
| # PATCH-FIX-OPENSUSE Support django-graphql-jwt 0.4.0 | ||||
| Patch1:         support-new-django-graphql-jwt.patch | ||||
| # PATCH-FIX-OPENSUSE Do not use testcontainers module | ||||
| Patch2:         no-testcontainers.patch | ||||
| # PATCH-FIX-OPENSUSE Support click 8.2+ | ||||
| Patch3:         support-click-8.2.patch | ||||
| BuildRequires:  %{python_module base >= 3.9} | ||||
| BuildRequires:  %{python_module pip} | ||||
| BuildRequires:  %{python_module poetry-core} | ||||
| @@ -35,12 +39,12 @@ BuildRequires:  fdupes | ||||
| BuildRequires:  python-rpm-macros | ||||
| Requires:       python-Django >= 4.2 | ||||
| Requires:       python-Jinja2 >= 3.1 | ||||
| Requires:       python-PyJWT | ||||
| Requires:       python-PyJWT >= 2.4 | ||||
| Requires:       python-PyMySQL >= 0.7.0 | ||||
| Requires:       python-PyYAML >= 3.12 | ||||
| Requires:       python-SQLAlchemy >= 1.2 | ||||
| Requires:       python-click >= 7.1 | ||||
| Requires:       python-django-cors-headers >= 3.7 | ||||
| Requires:       python-django-cors-headers >= 4.6 | ||||
| Requires:       python-django-graphql-jwt >= 0.3 | ||||
| Requires:       python-django-rq >= 2.3 | ||||
| Requires:       python-django-treebeard >= 4.5 | ||||
| @@ -50,12 +54,12 @@ Requires:       python-grimoirelab-toolkit >= 0.3 | ||||
| Requires:       python-importlib-resources | ||||
| Requires:       python-mysqlclient >= 2.0 | ||||
| Requires:       python-numpy | ||||
| Requires:       python-pandas >= 1.3 | ||||
| Requires:       python-pandas >= 2.2 | ||||
| Requires:       python-python-dateutil >= 2.8.0 | ||||
| Requires:       python-requests >= 2.7 | ||||
| Requires:       python-rq | ||||
| Requires:       python-setuptools | ||||
| Requires:       python-sgqlc | ||||
| Requires:       python-sgqlc >= 16.1 | ||||
| Requires(post): update-alternatives | ||||
| Requires(postun): update-alternatives | ||||
| BuildArch:      noarch | ||||
| @@ -66,7 +70,7 @@ BuildRequires:  %{python_module PyMySQL >= 0.7.0} | ||||
| BuildRequires:  %{python_module PyYAML >= 3.12} | ||||
| BuildRequires:  %{python_module SQLAlchemy >= 1.2} | ||||
| BuildRequires:  %{python_module click >= 7.1} | ||||
| BuildRequires:  %{python_module django-cors-headers >= 3.7} | ||||
| BuildRequires:  %{python_module django-cors-headers >= 4.6} | ||||
| BuildRequires:  %{python_module django-graphql-jwt >= 0.3} | ||||
| BuildRequires:  %{python_module django-rq >= 2.3} | ||||
| BuildRequires:  %{python_module django-treebeard >= 4.5} | ||||
| @@ -77,12 +81,12 @@ BuildRequires:  %{python_module httpretty >= 0.9.5} | ||||
| BuildRequires:  %{python_module importlib-resources} | ||||
| BuildRequires:  %{python_module mysqlclient >= 2.0} | ||||
| BuildRequires:  %{python_module numpy} | ||||
| BuildRequires:  %{python_module pandas >= 1.3} | ||||
| BuildRequires:  %{python_module pandas >= 2.2} | ||||
| BuildRequires:  %{python_module pytest} | ||||
| BuildRequires:  %{python_module python-dateutil >= 2.8.0} | ||||
| BuildRequires:  %{python_module requests >= 2.7} | ||||
| BuildRequires:  %{python_module rq} | ||||
| BuildRequires:  %{python_module sgqlc} | ||||
| BuildRequires:  %{python_module sgqlc >= 16.1} | ||||
| BuildRequires:  mariadb-rpm-macros | ||||
| # /SECTION | ||||
| %python_subpackages | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| version https://git-lfs.github.com/spec/v1 | ||||
| oid sha256:7a8efcc5ded3717d5962202c089f5472f05562186734cd04fc52f986c14a5229 | ||||
| size 2275252 | ||||
							
								
								
									
										3
									
								
								sortinghat-1.7.1.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								sortinghat-1.7.1.tar.gz
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| version https://git-lfs.github.com/spec/v1 | ||||
| oid sha256:26e091403d3d2699d55b65a79a67494e95654bf78d66d884adff41e30f2af3ca | ||||
| size 2264700 | ||||
							
								
								
									
										856
									
								
								support-click-8.2.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										856
									
								
								support-click-8.2.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,856 @@ | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_add.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_add.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_add.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -107,7 +108,10 @@ class TestAddCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new identity | ||||
|          params = [ | ||||
| @@ -135,7 +139,10 @@ class TestAddCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new identity setting partial data | ||||
|          params = [ | ||||
| @@ -161,7 +168,10 @@ class TestAddCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Assign to John Smith - a9b403e150dd4af8953a52a4bb841051e4b705d9 | ||||
|          # individual | ||||
| @@ -190,7 +200,11 @@ class TestAddCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
| + | ||||
|   | ||||
|          params = [ | ||||
|              '--source', 'scm', | ||||
| @@ -225,7 +239,10 @@ class TestAddCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '--source', 'scm', | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_config.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_config.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_config.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import os.path | ||||
|  import shutil | ||||
|  import unittest | ||||
| @@ -53,7 +54,10 @@ class TestInitConfig(unittest.TestCase): | ||||
|      def test_init(self): | ||||
|          """Check if it initializes a configuration file.""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              filepath = os.path.join(fs, MOCK_CONFIG_FILE) | ||||
| @@ -79,7 +83,10 @@ class TestInitConfig(unittest.TestCase): | ||||
|      def test_default_filename(self, mock_basepath): | ||||
|          """Check if it uses the default filename when filepath is not given""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              dirpath = os.path.join(fs, '.sortinghat') | ||||
| @@ -104,7 +111,10 @@ class TestInitConfig(unittest.TestCase): | ||||
|      def test_config_is_not_overwritten(self): | ||||
|          """Check whether an existing config file is not replaced""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -132,7 +142,10 @@ class TestInitConfig(unittest.TestCase): | ||||
|      def test_overwrite_config(self): | ||||
|          """Check whether an existing config file is overwritten""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -168,7 +181,10 @@ class TestSetConfig(unittest.TestCase): | ||||
|      def test_set_value(self): | ||||
|          """Check set method""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -210,7 +226,10 @@ class TestSetConfig(unittest.TestCase): | ||||
|      def test_default_filename(self, mock_basepath): | ||||
|          """Check if it uses the default filename when filepath is not given""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              dirpath = os.path.join(fs, '.sortinghat') | ||||
| @@ -240,7 +259,10 @@ class TestSetConfig(unittest.TestCase): | ||||
|      def test_not_available_keys(self): | ||||
|          """Check if it raises an error when the key is not available""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -260,7 +282,10 @@ class TestSetConfig(unittest.TestCase): | ||||
|      def test_invalid_keys(self): | ||||
|          """Check if it raises an error when the key is invalid""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Test keys that do not follow '<section>.<option>' schema | ||||
|          with runner.isolated_filesystem() as fs: | ||||
| @@ -321,7 +346,10 @@ class TestSetConfig(unittest.TestCase): | ||||
|      def test_invalid_config_files(self): | ||||
|          """Check whether it raises and error reading invalid configuration files""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Test keys that do not follow '<section>.<option>' schema | ||||
|          with runner.isolated_filesystem() as fs: | ||||
| @@ -342,7 +370,10 @@ class TestGetConfig(unittest.TestCase): | ||||
|      def test_get_value(self): | ||||
|          """Test get method""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -379,7 +410,10 @@ class TestGetConfig(unittest.TestCase): | ||||
|      def test_default_filename(self, mock_basepath): | ||||
|          """Check if it uses the default filename when filepath is not given""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              mock_basepath.return_value = fs | ||||
| @@ -405,7 +439,10 @@ class TestGetConfig(unittest.TestCase): | ||||
|      def test_not_available_keys(self): | ||||
|          """Check if it raises an error when the key is not available""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              shutil.copy(MOCK_CONFIG_FILEPATH, fs) | ||||
| @@ -424,7 +461,10 @@ class TestGetConfig(unittest.TestCase): | ||||
|      def test_invalid_keys(self): | ||||
|          """Check if it raises an error when the key is invalid""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Test keys that do not follow '<section>.<option>' schema | ||||
|          with runner.isolated_filesystem() as fs: | ||||
| @@ -480,7 +520,11 @@ class TestGetConfig(unittest.TestCase): | ||||
|      def test_invalid_config_files(self): | ||||
|          """Check whether it raises and error reading invalid configuration files""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
| + | ||||
|   | ||||
|          with runner.isolated_filesystem() as fs: | ||||
|              filepath = os.path.join(fs, 'unknown_file.cfg') | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_countries.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_countries.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_countries.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -135,7 +136,10 @@ class TestCountriesCommand(unittest.Test | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|          result = runner.invoke(countries) | ||||
|   | ||||
|          self.assertEqual(len(client.ops), 2) | ||||
| @@ -174,8 +178,10 @@ class TestCountriesCommand(unittest.Test | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| - | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|          params = ['--code', 'ES'] | ||||
|          result = runner.invoke(countries, params) | ||||
|   | ||||
| @@ -193,7 +199,10 @@ class TestCountriesCommand(unittest.Test | ||||
|      def test_countries_invalid_code(self): | ||||
|          """Check if it fails when code is invalid""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = ['--code', 'E'] | ||||
|          result = runner.invoke(countries, params) | ||||
| @@ -244,7 +253,10 @@ class TestCountriesCommand(unittest.Test | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = ['--term', 'unit'] | ||||
|          result = runner.invoke(countries, params) | ||||
| @@ -263,7 +275,10 @@ class TestCountriesCommand(unittest.Test | ||||
|      def test_countries_invalid_term(self): | ||||
|          """Check if it fails when term is invalid""" | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = ['--term', 'E'] | ||||
|          result = runner.invoke(countries, params) | ||||
| @@ -304,7 +319,10 @@ class TestCountriesCommand(unittest.Test | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          result = runner.invoke(countries) | ||||
|   | ||||
| @@ -334,7 +352,10 @@ class TestCountriesCommand(unittest.Test | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          result = runner.invoke(countries) | ||||
|   | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_enroll.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_enroll.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_enroll.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -93,7 +94,10 @@ class TestEnrollCommand(unittest.TestCas | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new enrollment | ||||
|          params = [ | ||||
| @@ -124,7 +128,10 @@ class TestEnrollCommand(unittest.TestCas | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new enrollment | ||||
|          params = [ | ||||
| @@ -151,7 +158,10 @@ class TestEnrollCommand(unittest.TestCas | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new enrollment | ||||
|          params = [ | ||||
| @@ -180,7 +190,10 @@ class TestEnrollCommand(unittest.TestCas | ||||
|          client = MockClient([]) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| @@ -225,7 +238,10 @@ class TestEnrollCommand(unittest.TestCas | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_lock.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_lock.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_lock.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|   | ||||
|  import click.testing | ||||
| @@ -85,7 +86,10 @@ class TestLockAddCommand(unittest.TestCa | ||||
|          ] | ||||
|          mock_client = MockClient(responses) | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Add lock | ||||
|          params = [ | ||||
| @@ -116,7 +120,10 @@ class TestLockAddCommand(unittest.TestCa | ||||
|          ] | ||||
|          mock_client = MockClient(responses) | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              'FFFFFFFFFFFFFFF' | ||||
| @@ -143,7 +150,10 @@ class TestLockRmCommand(unittest.TestCas | ||||
|          ] | ||||
|          mock_client = MockClient(responses) | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Remove lock | ||||
|          params = [ | ||||
| @@ -174,7 +184,10 @@ class TestLockRmCommand(unittest.TestCas | ||||
|          ] | ||||
|          mock_client = MockClient(responses) | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              'FFFFFFFFFFFFFFF' | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_merge.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_merge.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_merge.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -76,7 +77,10 @@ class TestMergeCommand(unittest.TestCase | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Merge individuals | ||||
|          params = [ | ||||
| @@ -113,7 +117,10 @@ class TestMergeCommand(unittest.TestCase | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_mv.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_mv.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_mv.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -86,7 +87,10 @@ class TestMvCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new identity | ||||
|          params = [ | ||||
| @@ -113,7 +117,10 @@ class TestMvCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Create a new identity | ||||
|          params = [ | ||||
| @@ -147,7 +154,10 @@ class TestMvCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_profile.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_profile.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_profile.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -158,7 +159,10 @@ class TestProfileCommand(unittest.TestCa | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Update the profile | ||||
|          params = [ | ||||
| @@ -202,7 +206,10 @@ class TestProfileCommand(unittest.TestCa | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Update the profile | ||||
|          params = [ | ||||
| @@ -242,7 +249,10 @@ class TestProfileCommand(unittest.TestCa | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Show the profile | ||||
|          params = [ | ||||
| @@ -278,7 +288,10 @@ class TestProfileCommand(unittest.TestCa | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Show the profile | ||||
|          params = [ | ||||
| @@ -310,7 +323,10 @@ class TestProfileCommand(unittest.TestCa | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              'FFFFFFFFFFFFFFF' | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_rm.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_rm.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_rm.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -86,7 +87,10 @@ class TestRmCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Remove an individual | ||||
|          params = ['eda9f62ad321b1fbe5f283cc05e2484516203117'] | ||||
| @@ -116,7 +120,10 @@ class TestRmCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Remove an identity | ||||
|          params = ['eda9f62ad321b1fbe5f283cc05e2484516203117'] | ||||
| @@ -146,7 +153,10 @@ class TestRmCommand(unittest.TestCase): | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = ['FFFFFFFFFFFFFFF'] | ||||
|          result = runner.invoke(rm, params, obj=mock_client) | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_show.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_show.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_show.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -329,7 +330,11 @@ class TestShowCommand(unittest.TestCase) | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
| + | ||||
|          result = runner.invoke(show) | ||||
|   | ||||
|          self.assertEqual(len(client.ops), 2) | ||||
| @@ -367,7 +372,10 @@ class TestShowCommand(unittest.TestCase) | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = ['17ab00ed3825ec2f50483e33c88df223264182ba'] | ||||
|          result = runner.invoke(show, params) | ||||
| @@ -401,7 +409,10 @@ class TestShowCommand(unittest.TestCase) | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          result = runner.invoke(show) | ||||
|   | ||||
| @@ -431,7 +442,10 @@ class TestShowCommand(unittest.TestCase) | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          result = runner.invoke(show) | ||||
|   | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_split.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_split.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_split.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -91,7 +92,10 @@ class TestSplitCommand(unittest.TestCase | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Split into individuals | ||||
|          params = uuids | ||||
| @@ -124,7 +128,10 @@ class TestSplitCommand(unittest.TestCase | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Split into individuals | ||||
|          params = uuids | ||||
| @@ -157,7 +164,10 @@ class TestSplitCommand(unittest.TestCase | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| Index: grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_withdraw.py | ||||
| =================================================================== | ||||
| --- grimoirelab-sortinghat-1.7.1.orig/tests/cli/test_cmd_withdraw.py | ||||
| +++ grimoirelab-sortinghat-1.7.1/tests/cli/test_cmd_withdraw.py | ||||
| @@ -20,6 +20,7 @@ | ||||
|  #     Santiago Dueñas <sduenas@bitergia.com> | ||||
|  # | ||||
|   | ||||
| +import inspect | ||||
|  import unittest | ||||
|  import unittest.mock | ||||
|   | ||||
| @@ -92,7 +93,10 @@ class TestWithdrawCommand(unittest.TestC | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Remove enrollments | ||||
|          params = [ | ||||
| @@ -122,7 +126,10 @@ class TestWithdrawCommand(unittest.TestC | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner() | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          # Remove enrollments | ||||
|          params = [ | ||||
| @@ -145,7 +152,10 @@ class TestWithdrawCommand(unittest.TestC | ||||
|          client = MockClient([]) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
| @@ -190,7 +200,10 @@ class TestWithdrawCommand(unittest.TestC | ||||
|          client = MockClient(responses) | ||||
|          mock_client.return_value = client | ||||
|   | ||||
| -        runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        if inspect.signature(click.testing.CliRunner).parameters.get("mix_stderr"): | ||||
| +            runner = click.testing.CliRunner(mix_stderr=False) | ||||
| +        else: | ||||
| +            runner = click.testing.CliRunner() | ||||
|   | ||||
|          params = [ | ||||
|              '322397ed782a798ffd9d0bc7e293df4292fe075d', | ||||
		Reference in New Issue
	
	Block a user