============================= test session starts =============================
platform win32 -- Python 3.12.1, pytest-9.1.1, pluggy-1.6.0 -- C:\Python312\python.exe
cachedir: .pytest_cache
rootdir: d:\project\codebuddy\mdy-hap-python-sdk
configfile: pyproject.toml
plugins: anyio-4.13.0, cov-7.1.0, asyncio-1.4.0, httpx-0.36.2, rerunfailures-16.4
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collecting ... collected 75 items

tests/test_worksheet.py::TestWorksheetInfo::test_list_worksheets PASSED  [  1%]
tests/test_worksheet.py::TestWorksheetInfo::test_get_structure PASSED    [  2%]
tests/test_worksheet.py::TestWorksheetInfo::test_all_fields_present PASSED [  4%]
tests/test_worksheet.py::TestRowCRUD::test_create PASSED                 [  5%]
tests/test_worksheet.py::TestRowCRUD::test_update PASSED                 [  6%]
tests/test_worksheet.py::TestRowCRUD::test_delete PASSED                 [  8%]
tests/test_worksheet.py::TestRowCRUD::test_create_with_single_select PASSED [  9%]
tests/test_worksheet.py::TestRowCRUD::test_create_with_number PASSED     [ 10%]
tests/test_worksheet.py::TestChainedQuery::test_get_record_list PASSED   [ 12%]
tests/test_worksheet.py::TestChainedQuery::test_where_text_eq PASSED     [ 13%]
tests/test_worksheet.py::TestChainedQuery::test_page PASSED              [ 14%]
tests/test_worksheet.py::TestChainedQuery::test_sort_asc PASSED          [ 16%]
tests/test_worksheet.py::TestChainedQuery::test_sort_desc PASSED         [ 17%]
tests/test_worksheet.py::TestChainedQuery::test_select_fields PASSED     [ 18%]
tests/test_worksheet.py::TestChainedQuery::test_count PASSED             [ 20%]
tests/test_worksheet.py::TestChainedQuery::test_count_with_filter PASSED [ 21%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_text PASSED      [ 22%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_number PASSED    [ 24%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_single_select PASSED [ 25%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_multi_select PASSED [ 26%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_date PASSED      [ 28%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_datetime PASSED  [ 29%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_collaborator PASSED [ 30%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_relation PASSED  [ 32%]
tests/test_worksheet.py::TestAllFieldTypes::test_create_attach_empty PASSED [ 33%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_eq PASSED    [ 34%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_ne PASSED    [ 36%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_contains PASSED [ 37%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_notcontains PASSED [ 38%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_startswith PASSED [ 40%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_notstartswith PASSED [ 41%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_endswith PASSED [ 42%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_notendswith PASSED [ 44%]
tests/test_worksheet.py::TestFieldFilters::test_filter_text_isnotempty PASSED [ 45%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_eq PASSED  [ 46%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_ne PASSED  [ 48%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_gt PASSED  [ 49%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_lt PASSED  [ 50%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_ge PASSED  [ 52%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_le PASSED  [ 53%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_between PASSED [ 54%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_notbetween PASSED [ 56%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_isempty PASSED [ 57%]
tests/test_worksheet.py::TestFieldFilters::test_filter_number_isnotempty PASSED [ 58%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_eq PASSED  [ 60%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_ne PASSED  [ 61%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_in PASSED  [ 62%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_notin PASSED [ 64%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_isempty PASSED [ 65%]
tests/test_worksheet.py::TestFieldFilters::test_filter_single_isnotempty PASSED [ 66%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_eq PASSED   [ 68%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_ne PASSED   [ 69%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_in PASSED   [ 70%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_notin PASSED [ 72%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_concurrent PASSED [ 73%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_isempty PASSED [ 74%]
tests/test_worksheet.py::TestFieldFilters::test_filter_multi_isnotempty PASSED [ 76%]
tests/test_worksheet.py::TestFieldFilters::test_filter_date_between PASSED [ 77%]
tests/test_worksheet.py::TestFieldFilters::test_filter_date_notbetween PASSED [ 78%]
tests/test_worksheet.py::TestFieldFilters::test_filter_date_isempty PASSED [ 80%]
tests/test_worksheet.py::TestFieldFilters::test_filter_date_isnotempty PASSED [ 81%]
tests/test_worksheet.py::TestFieldFilters::test_filter_datetime_between PASSED [ 82%]
tests/test_worksheet.py::TestFieldFilters::test_filter_datetime_notbetween PASSED [ 84%]
tests/test_worksheet.py::TestFieldFilters::test_filter_datetime_isempty PASSED [ 85%]
tests/test_worksheet.py::TestFieldFilters::test_filter_datetime_isnotempty PASSED [ 86%]
tests/test_worksheet.py::TestFieldFilters::test_filter_collab_eq PASSED  [ 88%]
tests/test_worksheet.py::TestFieldFilters::test_filter_collab_ne PASSED  [ 89%]
tests/test_worksheet.py::TestFieldFilters::test_filter_collab_isempty PASSED [ 90%]
tests/test_worksheet.py::TestFieldFilters::test_filter_collab_isnotempty PASSED [ 92%]
tests/test_worksheet.py::TestFieldFilters::test_filter_relation_eq PASSED [ 93%]
tests/test_worksheet.py::TestFieldFilters::test_filter_relation_ne PASSED [ 94%]
tests/test_worksheet.py::TestFieldFilters::test_filter_relation_isempty PASSED [ 96%]
tests/test_worksheet.py::TestFieldFilters::test_filter_relation_isnotempty PASSED [ 97%]
tests/test_worksheet.py::TestFieldFilters::test_filter_attach_isempty PASSED [ 98%]
tests/test_worksheet.py::TestFieldFilters::test_filter_attach_isnotempty SKIPPED [100%]

======================= 74 passed, 1 skipped in 59.27s ========================
