### Apache Airflow version

main (development)

### Operating System

Any

### Versions of Apache Airflow Providers

_No response_

### Deployment

Other

### Deployment details

_No response_

### What happened

`tests/core/test_providers_manager.py::TestProviderManager::test_hooks` is broken on 3.6 by #18209 since newer `importlib-resources` versions uses a different implementation and the mocks no longer works. This was actually visible before merging; all and only 3.6 checks in the PR failed. Let’s be more careful identifying CI failure patterns in the future 🙂 

Not exactly sure how to fix yet. I believe the breaking changes were introduced in [importlib-resources 5.2](https://github.com/python/importlib_resources/blob/v5.2.2/CHANGES.rst#v520), but restricting `<5.2` is not a long-term fix since the same version is also in the Python 3.10 stdlib and will bite us again very soon.

### What you expected to happen

_No response_

### How to reproduce

```
$ ./breeze tests -- tests/core/test_providers_manager.py::TestProviderManager::test_hooks
...
tests/core/test_providers_manager.py F                                                                  [100%]

================================================== FAILURES ==================================================
_______________________________________ TestProviderManager.test_hooks _______________________________________

self = <test_providers_manager.TestProviderManager testMethod=test_hooks>
mock_import_module = <MagicMock name='import_module' id='139679504564520'>

    @patch('airflow.providers_manager.importlib.import_module')
    def test_hooks(self, mock_import_module):
        # Compat with importlib_resources
        mock_import_module.return_value.__spec__ = Mock()
        with pytest.warns(expected_warning=None) as warning_records:
            with self._caplog.at_level(logging.WARNING):
>               provider_manager = ProvidersManager()

tests/core/test_providers_manager.py:123:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
airflow/providers_manager.py:242: in __init__
    self._provider_schema_validator = _create_provider_info_schema_validator()
airflow/providers_manager.py:92: in _create_provider_info_schema_validator
    schema = json.loads(importlib_resources.read_text('airflow', 'provider_info.schema.json'))
/usr/local/lib/python3.6/site-packages/importlib_resources/_legacy.py:46: in read_text
    with open_text(package, resource, encoding, errors) as fp:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

package = 'airflow', resource = 'provider_info.schema.json', encoding = 'utf-8', errors = 'strict'

    def open_text(
        package: Package,
        resource: Resource,
        encoding: str = 'utf-8',
        errors: str = 'strict',
    ) -> TextIO:
        """Return a file-like object opened for text reading of the resource."""
>       return (_common.files(package) / _common.normalize_path(resource)).open(
            'r', encoding=encoding, errors=errors
        )
E       TypeError: unsupported operand type(s) for /: 'Mock' and 'str'
```

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

setup.py
"""
    For Python 3.6+ the dictionary order remains when keys() are retrieved.
    Sort both: extras and list of dependencies to make it easier to analyse problems
    external packages will be first, then if providers are added they are added at the end of the lists.
    """
    sorted_requirements = dict(sorted(EXTRAS_REQUIREMENTS.items()))
    for extra_list in sorted_requirements.values():
        extra_list.sort()
    return sorted_requirements
EXTRAS_REQUIREMENTS = sort_extras_requirements()
PREINSTALLED_PROVIDERS = [
    'ftp',
    'http',
    'imap',
    'sqlite',
]
def get_provider_package_from_package_id(package_id: str) -> str: