mirror of
https://github.com/meshtastic/python.git
synced 2026-05-19 14:01:09 -04:00
handle ignore_incoming repeated field
This commit is contained in:
@@ -139,11 +139,22 @@ def setPref(attributes, name, valStr):
|
|||||||
for temp_name in sorted(names):
|
for temp_name in sorted(names):
|
||||||
print(f" {temp_name}")
|
print(f" {temp_name}")
|
||||||
return
|
return
|
||||||
try:
|
|
||||||
setattr(attributes, snake_name, val)
|
# note: 'ignore_incoming' is a repeating field
|
||||||
except TypeError:
|
if snake_name != 'ignore_incoming':
|
||||||
# The setter didn't like our arg type guess try again as a string
|
try:
|
||||||
setattr(attributes, snake_name, valStr)
|
setattr(attributes, snake_name, val)
|
||||||
|
except TypeError:
|
||||||
|
# The setter didn't like our arg type guess try again as a string
|
||||||
|
setattr(attributes, snake_name, valStr)
|
||||||
|
else:
|
||||||
|
if val == 0:
|
||||||
|
# clear values
|
||||||
|
print("Clearing ignore_incoming list")
|
||||||
|
del attributes.ignore_incoming[:]
|
||||||
|
else:
|
||||||
|
print(f"Adding '{val}' to the ignore_incoming list")
|
||||||
|
attributes.ignore_incoming.extend([val])
|
||||||
|
|
||||||
if Globals.getInstance().get_camel_case():
|
if Globals.getInstance().get_camel_case():
|
||||||
print(f"Set {camel_name} to {valStr}")
|
print(f"Set {camel_name} to {valStr}")
|
||||||
|
|||||||
@@ -2331,6 +2331,54 @@ def test_main_setPref_invalid_field_camel(capsys):
|
|||||||
assert err == ''
|
assert err == ''
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.unit
|
||||||
|
@pytest.mark.usefixtures("reset_globals")
|
||||||
|
def test_main_setPref_ignore_incoming_123(capsys):
|
||||||
|
"""Test setPref() with ignore_incoming"""
|
||||||
|
|
||||||
|
class Field:
|
||||||
|
"""Simple class for testing."""
|
||||||
|
|
||||||
|
def __init__(self, name, enum_type):
|
||||||
|
"""constructor"""
|
||||||
|
self.name = name
|
||||||
|
self.enum_type = enum_type
|
||||||
|
|
||||||
|
ignore_incoming_field = Field('ignore_incoming', 'list')
|
||||||
|
prefs = MagicMock()
|
||||||
|
prefs.DESCRIPTOR.fields_by_name.get.return_value = ignore_incoming_field
|
||||||
|
|
||||||
|
setPref(prefs, 'ignore_incoming', '123')
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
assert re.search(r"Adding '123' to the ignore_incoming list", out, re.MULTILINE)
|
||||||
|
assert re.search(r'Set ignore_incoming to 123', out, re.MULTILINE)
|
||||||
|
assert err == ''
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.unit
|
||||||
|
@pytest.mark.usefixtures("reset_globals")
|
||||||
|
def test_main_setPref_ignore_incoming_0(capsys):
|
||||||
|
"""Test setPref() with ignore_incoming"""
|
||||||
|
|
||||||
|
class Field:
|
||||||
|
"""Simple class for testing."""
|
||||||
|
|
||||||
|
def __init__(self, name, enum_type):
|
||||||
|
"""constructor"""
|
||||||
|
self.name = name
|
||||||
|
self.enum_type = enum_type
|
||||||
|
|
||||||
|
ignore_incoming_field = Field('ignore_incoming', 'list')
|
||||||
|
prefs = MagicMock()
|
||||||
|
prefs.DESCRIPTOR.fields_by_name.get.return_value = ignore_incoming_field
|
||||||
|
|
||||||
|
setPref(prefs, 'ignore_incoming', '0')
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
assert re.search(r'Clearing ignore_incoming list', out, re.MULTILINE)
|
||||||
|
assert re.search(r'Set ignore_incoming to 0', out, re.MULTILINE)
|
||||||
|
assert err == ''
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.unit
|
@pytest.mark.unit
|
||||||
@pytest.mark.usefixtures("reset_globals")
|
@pytest.mark.usefixtures("reset_globals")
|
||||||
def test_main_ch_set_psk_no_ch_index(capsys):
|
def test_main_ch_set_psk_no_ch_index(capsys):
|
||||||
|
|||||||
Reference in New Issue
Block a user