fix: resolve CI linting and type checking errors
Some checks failed
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
2026-02-04 06:04:19 +00:00
parent 2dbce2439b
commit af11223841

View File

@@ -5,85 +5,82 @@ from cmdparse.extractors import extract_array_index, extract_fields, flatten_dic
class TestGetNestedValue: class TestGetNestedValue:
def test_simple_dict_access(self): def test_simple_dict_access(self):
data = {'name': 'John', 'age': 30} data = {"name": "John", "age": 30}
assert get_nested_value(data, 'name') == 'John' assert get_nested_value(data, "name") == "John"
assert get_nested_value(data, 'age') == 30 assert get_nested_value(data, "age") == 30
def test_nested_dict_access(self): def test_nested_dict_access(self):
data = {'user': {'address': {'city': 'NYC'}}} data = {"user": {"address": {"city": "NYC"}}}
assert get_nested_value(data, 'user.address.city') == 'NYC' assert get_nested_value(data, "user.address.city") == "NYC"
def test_list_index_access(self): def test_list_index_access(self):
data = {'items': ['a', 'b', 'c']} data = {"items": ["a", "b", "c"]}
assert get_nested_value(data, 'items.0') == 'a' assert get_nested_value(data, "items.0") == "a"
assert get_nested_value(data, 'items.1') == 'b' assert get_nested_value(data, "items.1") == "b"
def test_missing_key_returns_none(self): def test_missing_key_returns_none(self):
data = {'name': 'John'} data = {"name": "John"}
assert get_nested_value(data, 'age') is None assert get_nested_value(data, "age") is None
def test_none_data_returns_none(self): def test_none_data_returns_none(self):
assert get_nested_value(None, 'name') is None assert get_nested_value(None, "name") is None
class TestExtractArrayIndex: class TestExtractArrayIndex:
def test_with_array_index(self): def test_with_array_index(self):
base, index, rest = extract_array_index('items[0].name') base, index, rest = extract_array_index("items[0].name")
assert base == 'items' assert base == "items"
assert index == 0 assert index == 0
assert rest == 'name' assert rest == "name"
def test_without_array_index(self): def test_without_array_index(self):
base, index, rest = extract_array_index('name') base, index, rest = extract_array_index("name")
assert base == 'name' assert base == "name"
assert index is None assert index is None
assert rest == 'name' assert rest is None
class TestExtractFields: class TestExtractFields:
def test_extract_single_field(self): def test_extract_single_field(self):
data = [{'name': 'John', 'age': 30, 'city': 'NYC'}] data = [{"name": "John", "age": 30, "city": "NYC"}]
result = extract_fields(data, ['name']) result = extract_fields(data, ["name"])
assert result == [{'name': 'John'}] assert result == [{"name": "John"}]
def test_extract_multiple_fields(self): def test_extract_multiple_fields(self):
data = [{'name': 'John', 'age': 30, 'city': 'NYC'}] data = [{"name": "John", "age": 30, "city": "NYC"}]
result = extract_fields(data, ['name', 'city']) result = extract_fields(data, ["name", "city"])
assert result == [{'name': 'John', 'city': 'NYC'}] assert result == [{"name": "John", "city": "NYC"}]
def test_extract_nested_fields(self): def test_extract_nested_fields(self):
data = [{'user': {'name': 'John', 'age': 30}}] data = [{"user": {"name": "John", "age": 30}}]
result = extract_fields(data, ['user.name']) result = extract_fields(data, ["user.name"])
assert result == [{'user.name': 'John'}] assert result == [{"user.name": "John"}]
def test_extract_from_multiple_rows(self): def test_extract_from_multiple_rows(self):
data = [ data = [{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]
{'name': 'John', 'age': 30}, result = extract_fields(data, ["name"])
{'name': 'Jane', 'age': 25} assert result == [{"name": "John"}, {"name": "Jane"}]
]
result = extract_fields(data, ['name'])
assert result == [{'name': 'John'}, {'name': 'Jane'}]
def test_empty_fields_returns_original(self): def test_empty_fields_returns_original(self):
data = [{'name': 'John', 'age': 30}] data = [{"name": "John", "age": 30}]
result = extract_fields(data, []) result = extract_fields(data, [])
assert result == data assert result == data
def test_empty_data_returns_empty(self): def test_empty_data_returns_empty(self):
result = extract_fields([], ['name']) result = extract_fields([], ["name"])
assert result == [] assert result == []
class TestFlattenDict: class TestFlattenDict:
def test_flatten_simple_dict(self): def test_flatten_simple_dict(self):
d = {'name': 'John', 'age': 30} d = {"name": "John", "age": 30}
result = flatten_dict(d) result = flatten_dict(d)
assert result == {'name': 'John', 'age': 30} assert result == {"name": "John", "age": 30}
def test_flatten_nested_dict(self): def test_flatten_nested_dict(self):
d = {'user': {'name': 'John', 'address': {'city': 'NYC'}}} d = {"user": {"name": "John", "address": {"city": "NYC"}}}
result = flatten_dict(d) result = flatten_dict(d)
assert 'user.name' in result assert "user.name" in result
assert 'user.address.city' in result assert "user.address.city" in result
assert result['user.name'] == 'John' assert result["user.name"] == "John"
assert result['user.address.city'] == 'NYC' assert result["user.address.city"] == "NYC"