Skip to content

Instantly share code, notes, and snippets.

@jaraco
Created March 19, 2024 13:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaraco/de92395727586979285f71d82571e930 to your computer and use it in GitHub Desktop.
Save jaraco/de92395727586979285f71d82571e930 to your computer and use it in GitHub Desktop.
airflow 72d19565d8 @ py -m pytest ./dev/breeze/tests -k test_get_provider_requirements --pdb
============================================================== test session starts ===============================================================
platform darwin -- Python 3.8.18, pytest-7.4.4, pluggy-1.4.0 -- /Users/jaraco/draft/airflow/.venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/jaraco/draft/airflow/dev/breeze
configfile: pyproject.toml
plugins: anyio-4.3.0, xdist-3.5.0
collected 271 items / 270 deselected / 1 selected
dev/breeze/tests/test_packages.py::test_get_provider_requirements FAILED [100%]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
def test_get_provider_requirements():
# update me when asana dependencies change
> assert get_provider_requirements("asana") == ["apache-airflow>=2.6.0", "asana>=0.10,<4.0.0"]
dev/breeze/tests/test_packages.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dev/breeze/src/airflow_breeze/utils/packages.py:235: in get_provider_requirements
package_metadata = get_provider_packages_metadata().get(provider_id)
dev/breeze/src/airflow_breeze/utils/packages.py:161: in get_provider_packages_metadata
refresh_provider_metadata_from_yaml_file(provider_yaml_path)
dev/breeze/src/airflow_breeze/utils/packages.py:131: in refresh_provider_metadata_from_yaml_file
import jsonschema
<frozen importlib._bootstrap>:991: in _find_and_load
???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:671: in _load_unlocked
???
.venv/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
exec(co, module.__dict__)
.venv/lib/python3.8/site-packages/jsonschema/__init__.py:16: in <module>
from jsonschema.validators import (
<frozen importlib._bootstrap>:991: in _find_and_load
???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:671: in _load_unlocked
???
.venv/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
exec(co, module.__dict__)
.venv/lib/python3.8/site-packages/jsonschema/validators.py:589: in <module>
meta_schema=SPECIFICATIONS.contents(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Registry (0 resources)>, uri = 'http://json-schema.org/draft-03/schema#'
def contents(self, uri: URI) -> D:
"""
Retrieve the (already crawled) contents identified by the given URI.
"""
# Empty fragment URIs are equivalent to URIs without the fragment.
# TODO: Is this true for non JSON Schema resources? Probably not.
> return self._resources[uri.rstrip("#")].contents
E KeyError: 'http://json-schema.org/draft-03/schema'
.venv/lib/python3.8/site-packages/referencing/_core.py:482: KeyError
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB post_mortem (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> /Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/referencing/_core.py(482)contents()
-> return self._resources[uri.rstrip("#")].contents
(Pdb) u
> /Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/jsonschema/validators.py(589)<module>()
-> meta_schema=SPECIFICATIONS.contents(
(Pdb) from jsonschema_specifications._core import _schemas
(Pdb) !list(_schemas())
[]
(Pdb) from importlib_resources import files
(Pdb) files('jsonschema_specifications')
<importlib_resources._adapters.CompatibilityFiles.SpecPath object at 0x1037d1cd0>
(Pdb) sys.meta_path
*** NameError: name 'sys' is not defined
(Pdb) import sys
(Pdb) sys.meta_path
[<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x1017e6f70>, <class '_frozen_importlib.BuiltinImporter'>, <class '_frozen_importlib.FrozenImporter'>, <class '_frozen_importlib_external.PathFinder'>]
(Pdb) arh = sys.meta_path[0]
(Pdb) arh.get_resource_reader('jsonschema_specifications')
*** AttributeError: 'AssertionRewritingHook' object has no attribute 'get_resource_reader'
(Pdb) arh.find_spec('jsonschema_specifications')
ModuleSpec(name='jsonschema_specifications', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x1017e6f70>, origin='/Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/jsonschema_specifications/__init__.py', submodule_search_locations=['/Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/jsonschema_specifications'])
(Pdb) spec = arh.find_spec('jsonschema_specifications')
(Pdb) from importlib_resources import _adapters
(Pdb) loader = _adapters.TraversableResourcesLoader(spec)
(Pdb) reader = loader.get_resource_reader('jsonschema_specifications')
(Pdb) reader
<importlib_resources._adapters.CompatibilityFiles object at 0x103657b80>
(Pdb) reader.spec
ModuleSpec(name='jsonschema_specifications', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x1017e6f70>, origin='/Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/jsonschema_specifications/__init__.py', submodule_search_locations=['/Users/jaraco/draft/airflow/.venv/lib/python3.8/site-packages/jsonschema_specifications'])
(Pdb) reader.spec.loader
<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x1017e6f70>
(Pdb) --KeyboardInterrupt--
(Pdb) dir(arh)
['__abstractmethods__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abc_impl', '_basenames_to_check_rewrite', '_early_rewrite_bailout', '_find_spec', '_is_marked_for_rewrite', '_marked_for_rewrite_cache', '_must_rewrite', '_rewritten_names', '_session_paths_checked', '_should_rewrite', '_warn_already_imported', '_writing_pyc', 'config', 'create_module', 'exec_module', 'find_module', 'find_spec', 'fnpats', 'get_data', 'invalidate_caches', 'load_module', 'mark_rewrite', 'module_repr', 'session', 'set_session']
(Pdb) arh.config
<_pytest.config.Config object at 0x10167e7c0>
(Pdb) dir(arh.config)
['ArgsSource', 'InvocationParams', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_checkversion', '_cleanup', '_configured', '_consider_importhook', '_decide_args', '_do_configure', '_ensure_unconfigure', '_get_override_ini_value', '_get_unknown_ini_keys', '_getconftest_pathlist', '_getini', '_getini_unknown_type', '_inicache', '_inipath', '_initini', '_mark_plugins_for_rewrite', '_opt2dest', '_override_ini', '_parser', '_preparse', '_processopt', '_rootpath', '_store', '_tmp_path_factory', '_validate_args', '_validate_config_options', '_validate_plugins', '_warn_about_missing_assertion', '_warn_about_skipped_plugins', '_warn_or_fail_if_strict', 'add_cleanup', 'addinivalue_line', 'args', 'args_source', 'cache', 'cwd_relative_nodeid', 'fromdictargs', 'get_terminal_writer', 'getini', 'getoption', 'getvalue', 'getvalueorskip', 'hook', 'inicfg', 'inipath', 'invocation_params', 'issue_config_time_warning', 'known_args_namespace', 'notify_exception', 'option', 'parse', 'pluginmanager', 'pytest_cmdline_parse', 'pytest_collection', 'pytest_load_initial_conftests', 'rootpath', 'stash', 'trace']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment