-
Notifications
You must be signed in to change notification settings - Fork 122
Open
Labels
Description
Two successive runs of the test suite resulted in failure and success without any changes to the code.
The first failure was caused by AssertionError in test_pagination_queries
:
members = (Member(id=0, first_name='Andrew', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), ...com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.'))
m = Models(BaseHashModel=<class 'tests_sync.test_hash_model.m.<locals>.BaseHashModel'>, Order=<class 'tests_sync.test_hash_model.m.<locals>.Order'>, Member=<class 'tests_sync.test_hash_model.m.<locals>.Member'>)
@py_test_mark_sync
def test_pagination_queries(members, m):
member1, member2, member3 = members
actual = m.Member.find(m.Member.last_name == "Brookins").page()
assert actual == [member1, member2]
actual = m.Member.find().page(1, 1)
> assert actual == [member2]
E AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')] == [Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
E At index 0 diff: Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.') != Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')
E Full diff:
E - [Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
E + [Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')]
tests_sync/test_hash_model.py:187: AssertionError
Attached is a full log showing the first failure and immediate re-run resulting in success.
Full console output
~/Repositories/redis-om-python fix-model-typings* 9s
redis-om-DEJACET3-py3.10 ❯ make test
/opt/homebrew/bin/poetry install
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: redis-om (0.1.2)
touch .install.stamp
/opt/homebrew/bin/poetry run python make_sync.py
docker-compose up -d
[+] Running 7/7
⠿ oss_redis Pulled 3.6s
⠿ 5731adb3a4ab Already exists 0.0s
⠿ e78ad00da4bd Pull complete 0.6s
⠿ acf81d284940 Pull complete 0.8s
⠿ c19f7ed7779d Pull complete 1.5s
⠿ 9df49c3f82f2 Pull complete 1.5s
⠿ cf4fe2915070 Pull complete 1.5s
[+] Running 3/3
⠿ Network redis-om-python_default Created 0.0s
⠿ Container redis-om-python-oss_redis-1 Started 0.4s
⠿ Container redis-om-python-redis-1 Started 0.5s
REDIS_OM_URL=""redis://localhost:6380?decode_responses=True"" /opt/homebrew/bin/poetry run pytest -n auto -vv ./tests/ ./tests_sync/ --cov-report term-missing --cov aredis_om redis_om
=============================================================================== test session starts ================================================================================
platform darwin -- Python 3.10.8, pytest-7.2.1, pluggy-1.0.0 -- /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
cachedir: .pytest_cache
rootdir: /Users/marian/Repositories/redis-om-python, configfile: pytest.ini
plugins: xdist-3.2.0, asyncio-0.20.3, cov-4.0.0
asyncio: mode=strict
[gw0] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw1] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw2] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw3] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw4] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw5] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw6] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw7] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw0] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw1] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw2] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw3] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw4] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw5] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw6] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw7] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
gw0 [152] / gw1 [152] / gw2 [152] / gw3 [152] / gw4 [152] / gw5 [152] / gw6 [152] / gw7 [152]
scheduling tests via LoadScheduling
tests/test_hash_model.py::test_recursive_query_resolution
tests/test_hash_model.py::test_numeric_queries
tests/test_hash_model.py::test_validation_passes
tests/test_hash_model.py::test_raises_error_with_dicts
tests/test_hash_model.py::test_delete
tests/test_hash_model.py::test_access_result_by_index_not_cached
tests/test_hash_model.py::test_delete_many
tests/test_hash_model.py::test_exact_match_queries
[gw3] [ 0%] PASSED tests/test_hash_model.py::test_validation_passes
[gw5] [ 1%] PASSED tests/test_hash_model.py::test_raises_error_with_dicts
tests/test_hash_model.py::test_retrieve_first
tests/test_hash_model.py::test_raises_error_with_sets
[gw4] [ 1%] PASSED tests/test_hash_model.py::test_delete
tests/test_hash_model.py::test_expire
[gw1] [ 2%] PASSED tests/test_hash_model.py::test_recursive_query_resolution
[gw6] [ 3%] PASSED tests/test_hash_model.py::test_delete_many
tests/test_hash_model.py::test_updates_a_model
tests/test_hash_model.py::test_tag_queries_boolean_logic
[gw5] [ 3%] PASSED tests/test_hash_model.py::test_raises_error_with_sets
[gw7] [ 4%] PASSED tests/test_hash_model.py::test_access_result_by_index_not_cached
tests/test_hash_model.py::test_raises_error_with_lists
tests/test_hash_model.py::test_schema
[gw2] [ 5%] PASSED tests/test_hash_model.py::test_numeric_queries
tests/test_hash_model.py::test_sorting
[gw0] [ 5%] PASSED tests/test_hash_model.py::test_exact_match_queries
tests/test_hash_model.py::test_delete_non_exist
[gw3] [ 6%] PASSED tests/test_hash_model.py::test_retrieve_first
tests/test_hash_model.py::test_saves_model_and_creates_pk
[gw4] [ 7%] PASSED tests/test_hash_model.py::test_expire
tests/test_hash_model.py::test_raises_error_with_embedded_models
[gw1] [ 7%] PASSED tests/test_hash_model.py::test_tag_queries_boolean_logic
tests/test_hash_model.py::test_tag_queries_punctuation
[gw5] [ 8%] PASSED tests/test_hash_model.py::test_raises_error_with_lists
[gw7] [ 9%] PASSED tests/test_hash_model.py::test_schema
tests/test_hash_model.py::test_saves_many
tests/test_hash_model.py::test_primary_key_model_error
[gw6] [ 9%] PASSED tests/test_hash_model.py::test_updates_a_model
tests/test_hash_model.py::test_paginate_query
[gw3] [ 10%] PASSED tests/test_hash_model.py::test_saves_model_and_creates_pk
tests/test_hash_model.py::test_all_pks
[gw4] [ 11%] PASSED tests/test_hash_model.py::test_raises_error_with_embedded_models
tests/test_hash_model.py::test_raises_error_with_dataclasses
[gw2] [ 11%] PASSED tests/test_hash_model.py::test_sorting
tests/test_hash_model.py::test_validates_required_fields
[gw0] [ 12%] PASSED tests/test_hash_model.py::test_delete_non_exist
[gw5] [ 13%] PASSED tests/test_hash_model.py::test_saves_many
tests/test_hash_model.py::test_count
tests/test_hash_model.py::test_full_text_search_queries
[gw1] [ 13%] PASSED tests/test_hash_model.py::test_tag_queries_punctuation
tests/test_hash_model.py::test_tag_queries_negation
[gw6] [ 14%] PASSED tests/test_hash_model.py::test_paginate_query
[gw2] [ 15%] PASSED tests/test_hash_model.py::test_validates_required_fields
tests/test_hash_model.py::test_access_result_by_index_cached
tests/test_hash_model.py::test_validates_field
[gw4] [ 15%] PASSED tests/test_hash_model.py::test_raises_error_with_dataclasses
tests/test_json_model.py::test_updates_a_model
[gw7] [ 16%] PASSED tests/test_hash_model.py::test_primary_key_model_error
tests/test_hash_model.py::test_primary_pk_exists
[gw3] [ 17%] PASSED tests/test_hash_model.py::test_all_pks
[gw0] [ 17%] PASSED tests/test_hash_model.py::test_full_text_search_queries
tests/test_json_model.py::test_all_pks
tests/test_hash_model.py::test_pagination_queries
[gw5] [ 18%] PASSED tests/test_hash_model.py::test_count
tests/test_json_model.py::test_validates_required_fields
[gw2] [ 19%] PASSED tests/test_hash_model.py::test_validates_field
tests/test_json_model.py::test_list_field_limitations
[gw1] [ 19%] PASSED tests/test_hash_model.py::test_tag_queries_negation
tests/test_json_model.py::test_in_query
[gw6] [ 20%] PASSED tests/test_hash_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_tag_queries_negation
[gw0] [ 21%] PASSED tests/test_hash_model.py::test_pagination_queries
tests/test_json_model.py::test_allows_and_serializes_lists
[gw5] [ 21%] PASSED tests/test_json_model.py::test_validates_required_fields
tests/test_json_model.py::test_validates_field
[gw4] [ 22%] PASSED tests/test_json_model.py::test_updates_a_model
tests/test_json_model.py::test_paginate_query
[gw1] [ 23%] PASSED tests/test_json_model.py::test_in_query
tests/test_json_model.py::test_update_query
[gw7] [ 23%] PASSED tests/test_hash_model.py::test_primary_pk_exists
tests/test_json_model.py::test_recursive_query_field_resolution
[gw5] [ 24%] PASSED tests/test_json_model.py::test_validates_field
[gw6] [ 25%] PASSED tests/test_json_model.py::test_tag_queries_negation
tests/test_json_model.py::test_validation_passes
tests/test_json_model.py::test_numeric_queries
[gw2] [ 25%] PASSED tests/test_json_model.py::test_list_field_limitations
tests/test_json_model.py::test_allows_dataclasses
[gw3] [ 26%] PASSED tests/test_json_model.py::test_all_pks
tests/test_json_model.py::test_delete
[gw0] [ 26%] PASSED tests/test_json_model.py::test_allows_and_serializes_lists
tests/test_json_model.py::test_schema
[gw4] [ 27%] PASSED tests/test_json_model.py::test_paginate_query
[gw5] [ 28%] PASSED tests/test_json_model.py::test_validation_passes
tests/test_json_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_saves_model_and_creates_pk
[gw1] [ 28%] PASSED tests/test_json_model.py::test_update_query
tests/test_json_model.py::test_exact_match_queries
[gw3] [ 29%] PASSED tests/test_json_model.py::test_delete
tests/test_json_model.py::test_saves_many_implicit_pipeline
[gw2] [ 30%] PASSED tests/test_json_model.py::test_allows_dataclasses
tests/test_json_model.py::test_allows_and_serializes_dicts
[gw0] [ 30%] PASSED tests/test_json_model.py::test_schema
tests/test_json_model.py::test_count
[gw6] [ 31%] PASSED tests/test_json_model.py::test_numeric_queries
tests/test_json_model.py::test_sorting
[gw3] [ 32%] PASSED tests/test_json_model.py::test_saves_many_implicit_pipeline
tests/test_json_model.py::test_saves_many_explicit_transaction
[gw4] [ 32%] PASSED tests/test_json_model.py::test_access_result_by_index_cached
[gw7] [ 33%] PASSED tests/test_json_model.py::test_recursive_query_field_resolution
tests/test_json_model.py::test_access_result_by_index_not_cached
[gw5] [ 34%] PASSED tests/test_json_model.py::test_saves_model_and_creates_pk
tests/test_json_model.py::test_full_text_search
tests/test_oss_redis_features.py::test_not_found
[gw1] [ 34%] PASSED tests/test_json_model.py::test_exact_match_queries
tests/test_json_model.py::test_recursive_query_expression_resolution
[gw2] [ 35%] PASSED tests/test_json_model.py::test_allows_and_serializes_dicts
[gw6] [ 36%] PASSED tests/test_json_model.py::test_sorting
tests/test_json_model.py::test_allows_and_serializes_sets
tests/test_json_model.py::test_not_found
[gw0] [ 36%] PASSED tests/test_json_model.py::test_count
tests/test_oss_redis_features.py::test_all_keys
[gw3] [ 37%] PASSED tests/test_json_model.py::test_saves_many_explicit_transaction
tests/test_json_model.py::test_delete_many_implicit_pipeline
[gw5] [ 38%] PASSED tests/test_oss_redis_features.py::test_not_found
tests/test_oss_redis_features.py::test_validates_required_fields
[gw6] [ 38%] PASSED tests/test_json_model.py::test_not_found
tests_sync/test_hash_model.py::test_recursive_query_resolution
[gw1] [ 39%] PASSED tests/test_json_model.py::test_recursive_query_expression_resolution
[gw4] [ 40%] PASSED tests/test_json_model.py::test_access_result_by_index_not_cached
tests/test_pydantic_integrations.py::test_email_str
tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
[gw2] [ 40%] PASSED tests/test_json_model.py::test_allows_and_serializes_sets
tests_sync/test_hash_model.py::test_delete_non_exist
[gw7] [ 41%] PASSED tests/test_json_model.py::test_full_text_search
tests/test_json_model.py::test_tag_queries_boolean_logic
[gw3] [ 42%] PASSED tests/test_json_model.py::test_delete_many_implicit_pipeline
tests_sync/test_hash_model.py::test_validates_required_fields
[gw5] [ 42%] PASSED tests/test_oss_redis_features.py::test_validates_required_fields
tests/test_oss_redis_features.py::test_validates_field
[gw6] [ 43%] PASSED tests_sync/test_hash_model.py::test_recursive_query_resolution
tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
[gw4] [ 44%] PASSED tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
[gw3] [ 44%] PASSED tests_sync/test_hash_model.py::test_validates_required_fields
tests_sync/test_hash_model.py::test_validates_field
[gw2] [ 45%] PASSED tests_sync/test_hash_model.py::test_delete_non_exist
tests_sync/test_hash_model.py::test_full_text_search_queries
[gw1] [ 46%] PASSED tests/test_pydantic_integrations.py::test_email_str
tests/test_redis_type.py::test_redis_type
[gw1] [ 46%] PASSED tests/test_redis_type.py::test_redis_type
tests_sync/test_hash_model.py::test_exact_match_queries
[gw0] [ 47%] PASSED tests/test_oss_redis_features.py::test_all_keys
[gw6] [ 48%] PASSED tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
tests_sync/test_hash_model.py::test_tag_queries_negation
tests_sync/test_hash_model.py::test_tag_queries_punctuation
[gw5] [ 48%] PASSED tests/test_oss_redis_features.py::test_validates_field
tests/test_oss_redis_features.py::test_validation_passes
[gw7] [ 49%] PASSED tests/test_json_model.py::test_tag_queries_boolean_logic
tests/test_json_model.py::test_tag_queries_punctuation
[gw3] [ 50%] PASSED tests_sync/test_hash_model.py::test_validates_field
tests_sync/test_hash_model.py::test_validation_passes
[gw2] [ 50%] PASSED tests_sync/test_hash_model.py::test_full_text_search_queries
tests_sync/test_hash_model.py::test_pagination_queries
[gw4] [ 51%] PASSED tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
tests/test_oss_redis_features.py::test_saves_many
[gw3] [ 51%] PASSED tests_sync/test_hash_model.py::test_validation_passes
tests_sync/test_hash_model.py::test_raises_error_with_sets
[gw6] [ 52%] PASSED tests_sync/test_hash_model.py::test_tag_queries_punctuation
tests_sync/test_hash_model.py::test_all_pks
[gw5] [ 53%] PASSED tests/test_oss_redis_features.py::test_validation_passes
tests_sync/test_hash_model.py::test_expire
[gw0] [ 53%] PASSED tests_sync/test_hash_model.py::test_tag_queries_negation
tests_sync/test_hash_model.py::test_numeric_queries
[gw1] [ 54%] PASSED tests_sync/test_hash_model.py::test_exact_match_queries
tests_sync/test_hash_model.py::test_retrieve_first
[gw3] [ 55%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_sets
tests_sync/test_hash_model.py::test_raises_error_with_lists
[gw7] [ 55%] PASSED tests/test_json_model.py::test_tag_queries_punctuation
tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
[gw5] [ 56%] PASSED tests_sync/test_hash_model.py::test_expire
tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
[gw3] [ 57%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_lists
tests_sync/test_hash_model.py::test_updates_a_model
[gw2] [ 57%] FAILED tests_sync/test_hash_model.py::test_pagination_queries
tests_sync/test_hash_model.py::test_saves_many
[gw1] [ 58%] PASSED tests_sync/test_hash_model.py::test_retrieve_first
tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
[gw4] [ 59%] PASSED tests/test_oss_redis_features.py::test_saves_many
tests/test_oss_redis_features.py::test_updates_a_model
[gw0] [ 59%] PASSED tests_sync/test_hash_model.py::test_numeric_queries
tests_sync/test_hash_model.py::test_sorting
[gw5] [ 60%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
tests_sync/test_hash_model.py::test_access_result_by_index_cached
[gw7] [ 61%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
tests_sync/test_hash_model.py::test_raises_error_with_dicts
[gw2] [ 61%] PASSED tests_sync/test_hash_model.py::test_saves_many
tests_sync/test_hash_model.py::test_delete_many
[gw3] [ 62%] PASSED tests_sync/test_hash_model.py::test_updates_a_model
[gw1] [ 63%] PASSED tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
tests_sync/test_hash_model.py::test_paginate_query
tests_sync/test_hash_model.py::test_schema
[gw6] [ 63%] PASSED tests_sync/test_hash_model.py::test_all_pks
tests_sync/test_hash_model.py::test_delete
[gw7] [ 64%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dicts
tests_sync/test_hash_model.py::test_count
[gw0] [ 65%] PASSED tests_sync/test_hash_model.py::test_sorting
tests_sync/test_hash_model.py::test_primary_pk_exists
[gw2] [ 65%] PASSED tests_sync/test_hash_model.py::test_delete_many
[gw1] [ 66%] PASSED tests_sync/test_hash_model.py::test_schema
tests_sync/test_json_model.py::test_validates_required_fields
tests_sync/test_json_model.py::test_validation_passes
[gw5] [ 67%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_cached
tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
[gw6] [ 67%] PASSED tests_sync/test_hash_model.py::test_delete
[gw4] [ 68%] PASSED tests/test_oss_redis_features.py::test_updates_a_model
tests_sync/test_json_model.py::test_saves_model_and_creates_pk
tests_sync/test_hash_model.py::test_primary_key_model_error
[gw3] [ 69%] PASSED tests_sync/test_hash_model.py::test_paginate_query
tests_sync/test_json_model.py::test_validates_field
[gw7] [ 69%] PASSED tests_sync/test_hash_model.py::test_count
tests_sync/test_json_model.py::test_all_pks
[gw2] [ 70%] PASSED tests_sync/test_json_model.py::test_validates_required_fields
[gw1] [ 71%] PASSED tests_sync/test_json_model.py::test_validation_passes
tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
tests_sync/test_json_model.py::test_saves_many_explicit_transaction
[gw0] [ 71%] PASSED tests_sync/test_hash_model.py::test_primary_pk_exists
tests_sync/test_json_model.py::test_delete
[gw3] [ 72%] PASSED tests_sync/test_json_model.py::test_validates_field
[gw5] [ 73%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
tests_sync/test_json_model.py::test_access_result_by_index_cached
tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
[gw6] [ 73%] PASSED tests_sync/test_json_model.py::test_saves_model_and_creates_pk
tests_sync/test_json_model.py::test_updates_a_model
[gw4] [ 74%] PASSED tests_sync/test_hash_model.py::test_primary_key_model_error
tests_sync/test_json_model.py::test_paginate_query
[gw2] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
tests_sync/test_json_model.py::test_in_query
[gw1] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_many_explicit_transaction
tests_sync/test_json_model.py::test_update_query
[gw3] [ 76%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_cached
[gw0] [ 76%] PASSED tests_sync/test_json_model.py::test_delete
tests_sync/test_json_model.py::test_recursive_query_expression_resolution
tests_sync/test_json_model.py::test_exact_match_queries
[gw5] [ 77%] PASSED tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
tests_sync/test_json_model.py::test_recursive_query_field_resolution
[gw2] [ 78%] PASSED tests_sync/test_json_model.py::test_in_query
tests_sync/test_json_model.py::test_tag_queries_punctuation
[gw4] [ 78%] PASSED tests_sync/test_json_model.py::test_paginate_query
tests_sync/test_json_model.py::test_tag_queries_boolean_logic
[gw6] [ 79%] PASSED tests_sync/test_json_model.py::test_updates_a_model
tests_sync/test_json_model.py::test_full_text_search
[gw1] [ 80%] PASSED tests_sync/test_json_model.py::test_update_query
[gw3] [ 80%] PASSED tests_sync/test_json_model.py::test_recursive_query_expression_resolution
tests_sync/test_json_model.py::test_tag_queries_negation
tests_sync/test_json_model.py::test_numeric_queries
[gw7] [ 81%] PASSED tests_sync/test_json_model.py::test_all_pks
tests_sync/test_json_model.py::test_access_result_by_index_not_cached
[gw2] [ 82%] PASSED tests_sync/test_json_model.py::test_tag_queries_punctuation
tests_sync/test_json_model.py::test_list_field_limitations
[gw5] [ 82%] PASSED tests_sync/test_json_model.py::test_recursive_query_field_resolution
tests_sync/test_json_model.py::test_not_found
[gw0] [ 83%] PASSED tests_sync/test_json_model.py::test_exact_match_queries
tests_sync/test_json_model.py::test_sorting
[gw6] [ 84%] PASSED tests_sync/test_json_model.py::test_full_text_search
[gw4] [ 84%] PASSED tests_sync/test_json_model.py::test_tag_queries_boolean_logic
tests_sync/test_json_model.py::test_allows_and_serializes_dicts
tests_sync/test_json_model.py::test_allows_dataclasses
[gw1] [ 85%] PASSED tests_sync/test_json_model.py::test_tag_queries_negation
tests_sync/test_json_model.py::test_allows_and_serializes_sets
[gw3] [ 86%] PASSED tests_sync/test_json_model.py::test_numeric_queries
tests_sync/test_json_model.py::test_allows_and_serializes_lists
[gw5] [ 86%] PASSED tests_sync/test_json_model.py::test_not_found
tests_sync/test_oss_redis_features.py::test_all_keys
[gw7] [ 87%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_not_cached
tests_sync/test_json_model.py::test_schema
[gw6] [ 88%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_dicts
tests_sync/test_oss_redis_features.py::test_validates_required_fields
[gw0] [ 88%] PASSED tests_sync/test_json_model.py::test_sorting
tests_sync/test_oss_redis_features.py::test_not_found
[gw4] [ 89%] PASSED tests_sync/test_json_model.py::test_allows_dataclasses
[gw2] [ 90%] PASSED tests_sync/test_json_model.py::test_list_field_limitations
tests_sync/test_oss_redis_features.py::test_validates_field
tests_sync/test_json_model.py::test_count
[gw1] [ 90%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_sets
[gw3] [ 91%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_lists
tests_sync/test_oss_redis_features.py::test_validation_passes
tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
[gw7] [ 92%] PASSED tests_sync/test_json_model.py::test_schema
tests_sync/test_oss_redis_features.py::test_saves_many
[gw6] [ 92%] PASSED tests_sync/test_oss_redis_features.py::test_validates_required_fields
[gw0] [ 93%] PASSED tests_sync/test_oss_redis_features.py::test_not_found
tests_sync/test_oss_redis_features.py::test_updates_a_model
[gw2] [ 94%] PASSED tests_sync/test_json_model.py::test_count
tests_sync/test_pydantic_integrations.py::test_email_str
[gw4] [ 94%] PASSED tests_sync/test_oss_redis_features.py::test_validates_field
tests_sync/test_redis_type.py::test_redis_type
[gw4] [ 95%] PASSED tests_sync/test_redis_type.py::test_redis_type
[gw3] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
[gw1] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_validation_passes
[gw7] [ 97%] PASSED tests_sync/test_oss_redis_features.py::test_saves_many
[gw6] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_updates_a_model
[gw5] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_all_keys
tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
[gw0] [ 99%] PASSED tests_sync/test_pydantic_integrations.py::test_email_str
[gw5] [100%] PASSED tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
===================================================================================== FAILURES =====================================================================================
_____________________________________________________________________________ test_pagination_queries ______________________________________________________________________________
[gw2] darwin -- Python 3.10.8 /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
members = (Member(id=0, first_name='Andrew', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), ...com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.'))
m = Models(BaseHashModel=<class 'tests_sync.test_hash_model.m.<locals>.BaseHashModel'>, Order=<class 'tests_sync.test_hash_model.m.<locals>.Order'>, Member=<class 'tests_sync.test_hash_model.m.<locals>.Member'>)
@py_test_mark_sync
def test_pagination_queries(members, m):
member1, member2, member3 = members
actual = m.Member.find(m.Member.last_name == "Brookins").page()
assert actual == [member1, member2]
actual = m.Member.find().page(1, 1)
> assert actual == [member2]
E AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')] == [Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
E At index 0 diff: Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.') != Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')
E Full diff:
E - [Member(id=1, first_name='Kim', last_name='Brookins', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
E + [Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')]
tests_sync/test_hash_model.py:187: AssertionError
---------- coverage: platform darwin, python 3.10.8-final-0 ----------
Name Stmts Miss Cover Missing
----------------------------------------------------------------------
aredis_om/__init__.py 5 0 100%
aredis_om/async_redis.py 1 0 100%
aredis_om/checks.py 21 12 43% 9-10, 15-18, 23-28
aredis_om/connections.py 10 1 90% 20
aredis_om/model/__init__.py 2 0 100%
aredis_om/model/cli/__init__.py 0 0 100%
aredis_om/model/cli/migrate.py 13 13 0% 1-18
aredis_om/model/encoders.py 72 35 51% 68, 70, 73-86, 94, 96, 98, 132-147, 150-155, 159-173
aredis_om/model/migrations/__init__.py 0 0 100%
aredis_om/model/migrations/migrator.py 87 15 83% 24-35, 45, 56, 83-84, 89-90, 101, 112-114
aredis_om/model/model.py 888 115 87% 100, 111, 128, 136, 145-152, 166, 185, 193, 199, 203, 207, 211-214, 218, 241, 245, 297, 305, 352, 394, 401, 419, 446, 474, 499, 502-508, 527, 529, 533, 561-571, 592-595, 606, 653, 667-672, 685, 699, 701, 703, 705, 768, 787, 823-828, 844-854, 904, 927-928, 1072, 1135, 1157, 1161, 1166, 1190, 1221-1224, 1232, 1308, 1314, 1374-1382, 1396, 1436-1445, 1449, 1464-1472, 1483-1493, 1506, 1606-1607, 1634-1637, 1721, 1725-1729
aredis_om/model/query_resolver.py 23 23 0% 1-103
aredis_om/model/render_tree.py 33 31 6% 24-75
aredis_om/model/token_escaper.py 13 1 92% 16
aredis_om/sync_redis.py 1 1 0% 1
aredis_om/util.py 6 1 83% 7
----------------------------------------------------------------------
TOTAL 1175 248 79%
============================================================================= short test summary info ==============================================================================
FAILED tests_sync/test_hash_model.py::test_pagination_queries - AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='[email protected]', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who i...
========================================================================== 1 failed, 151 passed in 1.54s ===========================================================================
make: *** [test] Error 1
~/Repositories/redis-om-python fix-model-typings* 8s
redis-om-DEJACET3-py3.10 ❯ make test
/opt/homebrew/bin/poetry run python make_sync.py
docker-compose up -d
[+] Running 2/2
⠿ Container redis-om-python-oss_redis-1 Started 0.5s
⠿ Container redis-om-python-redis-1 Running 0.0s
REDIS_OM_URL=""redis://localhost:6380?decode_responses=True"" /opt/homebrew/bin/poetry run pytest -n auto -vv ./tests/ ./tests_sync/ --cov-report term-missing --cov aredis_om redis_om
=============================================================================== test session starts ================================================================================
platform darwin -- Python 3.10.8, pytest-7.2.1, pluggy-1.0.0 -- /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
cachedir: .pytest_cache
rootdir: /Users/marian/Repositories/redis-om-python, configfile: pytest.ini
plugins: xdist-3.2.0, asyncio-0.20.3, cov-4.0.0
asyncio: mode=strict
[gw0] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw1] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw2] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw3] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw4] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw5] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw6] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw7] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
[gw0] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw1] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw2] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw3] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw4] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw5] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw6] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
[gw7] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
gw0 [152] / gw1 [152] / gw2 [152] / gw3 [152] / gw4 [152] / gw5 [152] / gw6 [152] / gw7 [152]
scheduling tests via LoadScheduling
tests/test_hash_model.py::test_exact_match_queries
tests/test_hash_model.py::test_numeric_queries
tests/test_hash_model.py::test_delete
tests/test_hash_model.py::test_validation_passes
tests/test_hash_model.py::test_access_result_by_index_not_cached
tests/test_hash_model.py::test_recursive_query_resolution
tests/test_hash_model.py::test_delete_many
tests/test_hash_model.py::test_raises_error_with_dicts
[gw5] [ 0%] PASSED tests/test_hash_model.py::test_raises_error_with_dicts
[gw3] [ 1%] PASSED tests/test_hash_model.py::test_validation_passes
tests/test_hash_model.py::test_retrieve_first
tests/test_hash_model.py::test_raises_error_with_sets
[gw4] [ 1%] PASSED tests/test_hash_model.py::test_delete
tests/test_hash_model.py::test_expire
[gw6] [ 2%] PASSED tests/test_hash_model.py::test_delete_many
tests/test_hash_model.py::test_updates_a_model
[gw1] [ 3%] PASSED tests/test_hash_model.py::test_recursive_query_resolution
tests/test_hash_model.py::test_tag_queries_boolean_logic
[gw0] [ 3%] PASSED tests/test_hash_model.py::test_exact_match_queries
tests/test_hash_model.py::test_delete_non_exist
[gw5] [ 4%] PASSED tests/test_hash_model.py::test_raises_error_with_sets
tests/test_hash_model.py::test_raises_error_with_lists
[gw2] [ 5%] PASSED tests/test_hash_model.py::test_numeric_queries
tests/test_hash_model.py::test_sorting
[gw4] [ 5%] PASSED tests/test_hash_model.py::test_expire
[gw7] [ 6%] PASSED tests/test_hash_model.py::test_access_result_by_index_not_cached
tests/test_hash_model.py::test_raises_error_with_embedded_models
tests/test_hash_model.py::test_schema
[gw3] [ 7%] PASSED tests/test_hash_model.py::test_retrieve_first
tests/test_hash_model.py::test_saves_model_and_creates_pk
[gw6] [ 7%] PASSED tests/test_hash_model.py::test_updates_a_model
tests/test_hash_model.py::test_paginate_query
[gw5] [ 8%] PASSED tests/test_hash_model.py::test_raises_error_with_lists
tests/test_hash_model.py::test_saves_many
[gw1] [ 9%] PASSED tests/test_hash_model.py::test_tag_queries_boolean_logic
tests/test_hash_model.py::test_tag_queries_punctuation
[gw4] [ 9%] PASSED tests/test_hash_model.py::test_raises_error_with_embedded_models
tests/test_hash_model.py::test_raises_error_with_dataclasses
[gw7] [ 10%] PASSED tests/test_hash_model.py::test_schema
tests/test_hash_model.py::test_primary_key_model_error
[gw3] [ 11%] PASSED tests/test_hash_model.py::test_saves_model_and_creates_pk
tests/test_hash_model.py::test_all_pks
[gw0] [ 11%] PASSED tests/test_hash_model.py::test_delete_non_exist
[gw2] [ 12%] PASSED tests/test_hash_model.py::test_sorting
tests/test_hash_model.py::test_validates_required_fields
tests/test_hash_model.py::test_full_text_search_queries
[gw5] [ 13%] PASSED tests/test_hash_model.py::test_saves_many
tests/test_hash_model.py::test_count
[gw2] [ 13%] PASSED tests/test_hash_model.py::test_validates_required_fields
tests/test_hash_model.py::test_validates_field
[gw6] [ 14%] PASSED tests/test_hash_model.py::test_paginate_query
[gw4] [ 15%] PASSED tests/test_hash_model.py::test_raises_error_with_dataclasses
tests/test_hash_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_all_pks
[gw1] [ 15%] PASSED tests/test_hash_model.py::test_tag_queries_punctuation
tests/test_hash_model.py::test_tag_queries_negation
[gw0] [ 16%] PASSED tests/test_hash_model.py::test_full_text_search_queries
tests/test_hash_model.py::test_pagination_queries
[gw2] [ 17%] PASSED tests/test_hash_model.py::test_validates_field
[gw3] [ 17%] PASSED tests/test_hash_model.py::test_all_pks
tests/test_json_model.py::test_list_field_limitations
tests/test_json_model.py::test_updates_a_model
[gw5] [ 18%] PASSED tests/test_hash_model.py::test_count
[gw7] [ 19%] PASSED tests/test_hash_model.py::test_primary_key_model_error
tests/test_json_model.py::test_validates_required_fields
tests/test_hash_model.py::test_primary_pk_exists
[gw6] [ 19%] PASSED tests/test_hash_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_in_query
[gw1] [ 20%] PASSED tests/test_hash_model.py::test_tag_queries_negation
tests/test_json_model.py::test_recursive_query_field_resolution
[gw0] [ 21%] PASSED tests/test_hash_model.py::test_pagination_queries
tests/test_json_model.py::test_allows_and_serializes_lists
[gw4] [ 21%] PASSED tests/test_json_model.py::test_all_pks
tests/test_json_model.py::test_delete
[gw5] [ 22%] PASSED tests/test_json_model.py::test_validates_required_fields
tests/test_json_model.py::test_validates_field
[gw6] [ 23%] PASSED tests/test_json_model.py::test_in_query
tests/test_json_model.py::test_update_query
[gw3] [ 23%] PASSED tests/test_json_model.py::test_updates_a_model
tests/test_json_model.py::test_paginate_query
[gw5] [ 24%] PASSED tests/test_json_model.py::test_validates_field
tests/test_json_model.py::test_validation_passes
[gw2] [ 25%] PASSED tests/test_json_model.py::test_list_field_limitations
tests/test_json_model.py::test_allows_dataclasses
[gw4] [ 25%] PASSED tests/test_json_model.py::test_delete
tests/test_json_model.py::test_saves_many_implicit_pipeline
[gw0] [ 26%] PASSED tests/test_json_model.py::test_allows_and_serializes_lists
[gw1] [ 26%] PASSED tests/test_json_model.py::test_recursive_query_field_resolution
tests/test_json_model.py::test_schema
tests/test_json_model.py::test_full_text_search
[gw7] [ 27%] PASSED tests/test_hash_model.py::test_primary_pk_exists
tests/test_json_model.py::test_tag_queries_negation
[gw5] [ 28%] PASSED tests/test_json_model.py::test_validation_passes
tests/test_json_model.py::test_saves_model_and_creates_pk
[gw6] [ 28%] PASSED tests/test_json_model.py::test_update_query
tests/test_json_model.py::test_exact_match_queries
[gw3] [ 29%] PASSED tests/test_json_model.py::test_paginate_query
[gw2] [ 30%] PASSED tests/test_json_model.py::test_allows_dataclasses
tests/test_json_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_allows_and_serializes_dicts
[gw0] [ 30%] PASSED tests/test_json_model.py::test_schema
tests/test_json_model.py::test_count
[gw4] [ 31%] PASSED tests/test_json_model.py::test_saves_many_implicit_pipeline
tests/test_json_model.py::test_saves_many_explicit_transaction
[gw1] [ 32%] PASSED tests/test_json_model.py::test_full_text_search
tests/test_json_model.py::test_tag_queries_boolean_logic
[gw5] [ 32%] PASSED tests/test_json_model.py::test_saves_model_and_creates_pk
tests/test_oss_redis_features.py::test_not_found
[gw3] [ 33%] PASSED tests/test_json_model.py::test_access_result_by_index_cached
tests/test_json_model.py::test_access_result_by_index_not_cached
[gw6] [ 34%] PASSED tests/test_json_model.py::test_exact_match_queries
tests/test_json_model.py::test_recursive_query_expression_resolution
[gw2] [ 34%] PASSED tests/test_json_model.py::test_allows_and_serializes_dicts
tests/test_json_model.py::test_allows_and_serializes_sets
[gw0] [ 35%] PASSED tests/test_json_model.py::test_count
tests/test_oss_redis_features.py::test_all_keys
[gw7] [ 36%] PASSED tests/test_json_model.py::test_tag_queries_negation
tests/test_json_model.py::test_numeric_queries
[gw4] [ 36%] PASSED tests/test_json_model.py::test_saves_many_explicit_transaction
tests/test_json_model.py::test_delete_many_implicit_pipeline
[gw1] [ 37%] PASSED tests/test_json_model.py::test_tag_queries_boolean_logic
tests/test_json_model.py::test_tag_queries_punctuation
[gw5] [ 38%] PASSED tests/test_oss_redis_features.py::test_not_found
[gw6] [ 38%] PASSED tests/test_json_model.py::test_recursive_query_expression_resolution
tests/test_oss_redis_features.py::test_validates_required_fields
tests/test_pydantic_integrations.py::test_email_str
[gw3] [ 39%] PASSED tests/test_json_model.py::test_access_result_by_index_not_cached
tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
[gw4] [ 40%] PASSED tests/test_json_model.py::test_delete_many_implicit_pipeline
tests_sync/test_hash_model.py::test_tag_queries_negation
[gw1] [ 40%] PASSED tests/test_json_model.py::test_tag_queries_punctuation
tests_sync/test_hash_model.py::test_validates_required_fields
[gw2] [ 41%] PASSED tests/test_json_model.py::test_allows_and_serializes_sets
tests_sync/test_hash_model.py::test_delete_non_exist
[gw5] [ 42%] PASSED tests/test_oss_redis_features.py::test_validates_required_fields
tests/test_oss_redis_features.py::test_validates_field
[gw7] [ 42%] PASSED tests/test_json_model.py::test_numeric_queries
tests/test_json_model.py::test_sorting
[gw1] [ 43%] PASSED tests_sync/test_hash_model.py::test_validates_required_fields
tests_sync/test_hash_model.py::test_validates_field
[gw3] [ 44%] PASSED tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
[gw6] [ 44%] PASSED tests/test_pydantic_integrations.py::test_email_str
tests/test_redis_type.py::test_redis_type
[gw6] [ 45%] PASSED tests/test_redis_type.py::test_redis_type
tests_sync/test_hash_model.py::test_exact_match_queries
[gw4] [ 46%] PASSED tests_sync/test_hash_model.py::test_tag_queries_negation
tests_sync/test_hash_model.py::test_numeric_queries
[gw5] [ 46%] PASSED tests/test_oss_redis_features.py::test_validates_field
[gw2] [ 47%] PASSED tests_sync/test_hash_model.py::test_delete_non_exist
tests_sync/test_hash_model.py::test_full_text_search_queries
[gw1] [ 48%] PASSED tests_sync/test_hash_model.py::test_validates_field
tests/test_oss_redis_features.py::test_validation_passes
tests_sync/test_hash_model.py::test_validation_passes
[gw0] [ 48%] PASSED tests/test_oss_redis_features.py::test_all_keys
tests_sync/test_hash_model.py::test_recursive_query_resolution
[gw1] [ 49%] PASSED tests_sync/test_hash_model.py::test_validation_passes
tests_sync/test_hash_model.py::test_expire
[gw3] [ 50%] PASSED tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
tests/test_oss_redis_features.py::test_saves_many
[gw7] [ 50%] PASSED tests/test_json_model.py::test_sorting
[gw2] [ 51%] PASSED tests_sync/test_hash_model.py::test_full_text_search_queries
tests/test_json_model.py::test_not_found
tests_sync/test_hash_model.py::test_pagination_queries
[gw4] [ 51%] PASSED tests_sync/test_hash_model.py::test_numeric_queries
tests_sync/test_hash_model.py::test_sorting
[gw6] [ 52%] PASSED tests_sync/test_hash_model.py::test_exact_match_queries
[gw5] [ 53%] PASSED tests/test_oss_redis_features.py::test_validation_passes
tests_sync/test_hash_model.py::test_retrieve_first
tests_sync/test_hash_model.py::test_all_pks
[gw1] [ 53%] PASSED tests_sync/test_hash_model.py::test_expire
[gw0] [ 54%] PASSED tests_sync/test_hash_model.py::test_recursive_query_resolution
tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
[gw2] [ 55%] PASSED tests_sync/test_hash_model.py::test_pagination_queries
tests_sync/test_hash_model.py::test_raises_error_with_sets
[gw6] [ 55%] PASSED tests_sync/test_hash_model.py::test_retrieve_first
[gw1] [ 56%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
tests_sync/test_hash_model.py::test_updates_a_model
tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
[gw4] [ 57%] PASSED tests_sync/test_hash_model.py::test_sorting
[gw7] [ 57%] PASSED tests/test_json_model.py::test_not_found
tests_sync/test_hash_model.py::test_saves_many
tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
[gw3] [ 58%] PASSED tests/test_oss_redis_features.py::test_saves_many
tests/test_oss_redis_features.py::test_updates_a_model
[gw0] [ 59%] PASSED tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
tests_sync/test_hash_model.py::test_tag_queries_punctuation
[gw2] [ 59%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_sets
tests_sync/test_hash_model.py::test_raises_error_with_lists
[gw6] [ 60%] PASSED tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
tests_sync/test_hash_model.py::test_access_result_by_index_cached
[gw4] [ 61%] PASSED tests_sync/test_hash_model.py::test_saves_many
tests_sync/test_hash_model.py::test_delete_many
[gw7] [ 61%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
tests_sync/test_hash_model.py::test_raises_error_with_dicts
[gw2] [ 62%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_lists
[gw1] [ 63%] PASSED tests_sync/test_hash_model.py::test_updates_a_model
tests_sync/test_hash_model.py::test_paginate_query
tests_sync/test_hash_model.py::test_primary_pk_exists
[gw0] [ 63%] PASSED tests_sync/test_hash_model.py::test_tag_queries_punctuation
tests_sync/test_hash_model.py::test_primary_key_model_error
[gw6] [ 64%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_cached
tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
[gw4] [ 65%] PASSED tests_sync/test_hash_model.py::test_delete_many
[gw7] [ 65%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dicts
tests_sync/test_hash_model.py::test_count
tests_sync/test_json_model.py::test_validates_required_fields
[gw3] [ 66%] PASSED tests/test_oss_redis_features.py::test_updates_a_model
tests_sync/test_hash_model.py::test_schema
[gw5] [ 67%] PASSED tests_sync/test_hash_model.py::test_all_pks
tests_sync/test_hash_model.py::test_delete
[gw0] [ 67%] PASSED tests_sync/test_hash_model.py::test_primary_key_model_error
tests_sync/test_json_model.py::test_saves_model_and_creates_pk
[gw7] [ 68%] PASSED tests_sync/test_json_model.py::test_validates_required_fields
tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
[gw1] [ 69%] PASSED tests_sync/test_hash_model.py::test_paginate_query
tests_sync/test_json_model.py::test_validates_field
[gw2] [ 69%] PASSED tests_sync/test_hash_model.py::test_primary_pk_exists
tests_sync/test_json_model.py::test_validation_passes
[gw3] [ 70%] PASSED tests_sync/test_hash_model.py::test_schema
[gw4] [ 71%] PASSED tests_sync/test_hash_model.py::test_count
tests_sync/test_json_model.py::test_saves_many_explicit_transaction
tests_sync/test_json_model.py::test_delete
[gw6] [ 71%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
tests_sync/test_json_model.py::test_all_pks
[gw5] [ 72%] PASSED tests_sync/test_hash_model.py::test_delete
tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
[gw7] [ 73%] PASSED tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
tests_sync/test_json_model.py::test_paginate_query
[gw1] [ 73%] PASSED tests_sync/test_json_model.py::test_validates_field
tests_sync/test_json_model.py::test_access_result_by_index_cached
[gw4] [ 74%] PASSED tests_sync/test_json_model.py::test_delete
tests_sync/test_json_model.py::test_update_query
[gw2] [ 75%] PASSED tests_sync/test_json_model.py::test_validation_passes
tests_sync/test_json_model.py::test_access_result_by_index_not_cached
[gw0] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_model_and_creates_pk
tests_sync/test_json_model.py::test_updates_a_model
[gw5] [ 76%] PASSED tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
[gw3] [ 76%] PASSED tests_sync/test_json_model.py::test_saves_many_explicit_transaction
tests_sync/test_json_model.py::test_recursive_query_expression_resolution
tests_sync/test_json_model.py::test_in_query
[gw7] [ 77%] PASSED tests_sync/test_json_model.py::test_paginate_query
[gw1] [ 78%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_cached
tests_sync/test_json_model.py::test_recursive_query_field_resolution
tests_sync/test_json_model.py::test_full_text_search
[gw4] [ 78%] PASSED tests_sync/test_json_model.py::test_update_query
tests_sync/test_json_model.py::test_tag_queries_boolean_logic
[gw5] [ 79%] PASSED tests_sync/test_json_model.py::test_recursive_query_expression_resolution
tests_sync/test_json_model.py::test_numeric_queries
[gw2] [ 80%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_not_cached
[gw3] [ 80%] PASSED tests_sync/test_json_model.py::test_in_query
tests_sync/test_json_model.py::test_tag_queries_punctuation
tests_sync/test_json_model.py::test_sorting
[gw0] [ 81%] PASSED tests_sync/test_json_model.py::test_updates_a_model
tests_sync/test_json_model.py::test_tag_queries_negation
[gw7] [ 82%] PASSED tests_sync/test_json_model.py::test_recursive_query_field_resolution
[gw4] [ 82%] PASSED tests_sync/test_json_model.py::test_tag_queries_boolean_logic
tests_sync/test_json_model.py::test_not_found
tests_sync/test_json_model.py::test_allows_dataclasses
[gw1] [ 83%] PASSED tests_sync/test_json_model.py::test_full_text_search
tests_sync/test_json_model.py::test_list_field_limitations
[gw6] [ 84%] PASSED tests_sync/test_json_model.py::test_all_pks
tests_sync/test_json_model.py::test_exact_match_queries
[gw3] [ 84%] PASSED tests_sync/test_json_model.py::test_sorting
tests_sync/test_json_model.py::test_allows_and_serializes_lists
[gw5] [ 85%] PASSED tests_sync/test_json_model.py::test_numeric_queries
tests_sync/test_json_model.py::test_allows_and_serializes_dicts
[gw7] [ 86%] PASSED tests_sync/test_json_model.py::test_not_found
tests_sync/test_json_model.py::test_count
[gw2] [ 86%] PASSED tests_sync/test_json_model.py::test_tag_queries_punctuation
tests_sync/test_json_model.py::test_allows_and_serializes_sets
[gw4] [ 87%] PASSED tests_sync/test_json_model.py::test_allows_dataclasses
[gw0] [ 88%] PASSED tests_sync/test_json_model.py::test_tag_queries_negation
tests_sync/test_oss_redis_features.py::test_all_keys
tests_sync/test_json_model.py::test_schema
[gw3] [ 88%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_lists
[gw5] [ 89%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_dicts
tests_sync/test_oss_redis_features.py::test_validates_field
tests_sync/test_oss_redis_features.py::test_validation_passes
[gw7] [ 90%] PASSED tests_sync/test_json_model.py::test_count
[gw0] [ 90%] PASSED tests_sync/test_json_model.py::test_schema
tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
tests_sync/test_oss_redis_features.py::test_updates_a_model
[gw1] [ 91%] PASSED tests_sync/test_json_model.py::test_list_field_limitations
[gw6] [ 92%] PASSED tests_sync/test_json_model.py::test_exact_match_queries
tests_sync/test_oss_redis_features.py::test_not_found
tests_sync/test_oss_redis_features.py::test_validates_required_fields
[gw2] [ 92%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_sets
tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
[gw5] [ 93%] PASSED tests_sync/test_oss_redis_features.py::test_validation_passes
tests_sync/test_redis_type.py::test_redis_type
[gw5] [ 94%] PASSED tests_sync/test_redis_type.py::test_redis_type
[gw3] [ 94%] PASSED tests_sync/test_oss_redis_features.py::test_validates_field
[gw7] [ 95%] PASSED tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
tests_sync/test_pydantic_integrations.py::test_email_str
[gw6] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_validates_required_fields
[gw0] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_updates_a_model
[gw1] [ 97%] PASSED tests_sync/test_oss_redis_features.py::test_not_found
[gw2] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
[gw4] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_all_keys
tests_sync/test_oss_redis_features.py::test_saves_many
[gw3] [ 99%] PASSED tests_sync/test_pydantic_integrations.py::test_email_str
[gw4] [100%] PASSED tests_sync/test_oss_redis_features.py::test_saves_many
---------- coverage: platform darwin, python 3.10.8-final-0 ----------
Name Stmts Miss Cover Missing
----------------------------------------------------------------------
aredis_om/__init__.py 5 0 100%
aredis_om/async_redis.py 1 0 100%
aredis_om/checks.py 21 12 43% 9-10, 15-18, 23-28
aredis_om/connections.py 10 1 90% 20
aredis_om/model/__init__.py 2 0 100%
aredis_om/model/cli/__init__.py 0 0 100%
aredis_om/model/cli/migrate.py 13 13 0% 1-18
aredis_om/model/encoders.py 72 35 51% 68, 70, 73-86, 94, 96, 98, 132-147, 150-155, 159-173
aredis_om/model/migrations/__init__.py 0 0 100%
aredis_om/model/migrations/migrator.py 87 15 83% 24-35, 45, 56, 83-84, 89-90, 101, 112-114
aredis_om/model/model.py 888 115 87% 100, 111, 128, 136, 145-152, 166, 185, 193, 199, 203, 207, 211-214, 218, 241, 245, 297, 305, 352, 394, 401, 419, 446, 474, 499, 502-508, 527, 529, 533, 561-571, 592-595, 606, 653, 667-672, 685, 699, 701, 703, 705, 768, 787, 823-828, 844-854, 904, 927-928, 1072, 1135, 1157, 1161, 1166, 1190, 1221-1224, 1232, 1308, 1314, 1374-1382, 1396, 1436-1445, 1449, 1464-1472, 1483-1493, 1506, 1606-1607, 1634-1637, 1721, 1725-1729
aredis_om/model/query_resolver.py 23 23 0% 1-103
aredis_om/model/render_tree.py 33 31 6% 24-75
aredis_om/model/token_escaper.py 13 1 92% 16
aredis_om/sync_redis.py 1 1 0% 1
aredis_om/util.py 6 1 83% 7
----------------------------------------------------------------------
TOTAL 1175 248 79%
=============================================================================== 152 passed in 1.45s ================================================================================
docker-compose down
[+] Running 3/3
⠿ Container redis-om-python-oss_redis-1 Removed 0.2s
⠿ Container redis-om-python-redis-1 Removed 0.1s
⠿ Network redis-om-python_default Removed 0.0s
~/Repositories/redis-om-python fix-model-typings*
redis-om-DEJACET3-py3.10 ❯