mirror of
https://github.com/meshtastic/python.git
synced 2026-04-21 07:24:08 -04:00
add more tests; refactor due to pylint suggestion
This commit is contained in:
@@ -83,7 +83,7 @@ class Node:
|
|||||||
def deleteChannel(self, channelIndex):
|
def deleteChannel(self, channelIndex):
|
||||||
"""Delete the specifed channelIndex and shift other channels up"""
|
"""Delete the specifed channelIndex and shift other channels up"""
|
||||||
ch = self.channels[channelIndex]
|
ch = self.channels[channelIndex]
|
||||||
if ch.role != channel_pb2.Channel.Role.SECONDARY:
|
if ch.role not in (channel_pb2.Channel.Role.SECONDARY, channel_pb2.Channel.Role.DISABLED):
|
||||||
our_exit("Warning: Only SECONDARY channels can be deleted")
|
our_exit("Warning: Only SECONDARY channels can be deleted")
|
||||||
|
|
||||||
# we are careful here because if we move the "admin" channel the channelIndex we need to use
|
# we are careful here because if we move the "admin" channel the channelIndex we need to use
|
||||||
|
|||||||
@@ -351,12 +351,206 @@ def test_smoke1_ch_add_and_ch_del():
|
|||||||
assert not re.search(r'testing', out, re.MULTILINE)
|
assert not re.search(r'testing', out, re.MULTILINE)
|
||||||
assert return_value == 0
|
assert return_value == 0
|
||||||
|
|
||||||
# write these tests
|
|
||||||
# TODO: add channel, show disable, show, enable, show
|
@pytest.mark.smoke1
|
||||||
# TODO: try to delete primary channel
|
def test_smoke1_ch_enable_and_disable():
|
||||||
# TODO: try to enable then disable delete primary channel
|
"""Test --ch-enable and --ch-disable"""
|
||||||
# TODO: add two channels, disable/enable seccond and third ones, delete 2nd ensuring 3rd moves to 2nd
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing')
|
||||||
# TODO: update docs for '--ch-index 0' on ch-set, ch-del
|
assert re.search(r'Writing modified channels to device', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
# ensure they need to specify a --ch-index
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-disable')
|
||||||
|
assert return_value == 1
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-disable --ch-index 1')
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'DISABLED', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-enable --ch-index 1')
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 1')
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_ch_del_a_disabled_non_primary_channel():
|
||||||
|
"""Test --ch-del will work on a disabled non-primary channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing')
|
||||||
|
assert re.search(r'Writing modified channels to device', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
# ensure they need to specify a --ch-index
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-disable')
|
||||||
|
assert return_value == 1
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 1')
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert not re.search(r'DISABLED', out, re.MULTILINE)
|
||||||
|
assert not re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert not re.search(r'testing', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_attempt_to_delete_primary_channel():
|
||||||
|
"""Test that we cannot delete the PRIMARY channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 0')
|
||||||
|
assert re.search(r'Warning: Cannot delete primary channel', out, re.MULTILINE)
|
||||||
|
assert return_value == 1
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_attempt_to_disable_primary_channel():
|
||||||
|
"""Test that we cannot disable the PRIMARY channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-disable --ch-index 0')
|
||||||
|
assert re.search(r'Warning: Cannot enable', out, re.MULTILINE)
|
||||||
|
assert return_value == 1
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_attempt_to_enable_primary_channel():
|
||||||
|
"""Test that we cannot enable the PRIMARY channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-enable --ch-index 0')
|
||||||
|
assert re.search(r'Warning: Cannot enable', out, re.MULTILINE)
|
||||||
|
assert return_value == 1
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_ensure_ch_del_second_of_three_channels():
|
||||||
|
"""Test that when we delete the 2nd of 3 channels, that it deletes the correct channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing1')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing1', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing2')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'testing2', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 1')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'testing2', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 1')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.smoke1
|
||||||
|
def test_smoke1_ensure_ch_del_third_of_three_channels():
|
||||||
|
"""Test that when we delete the 3rd of 3 channels, that it deletes the correct channel."""
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing1')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'SECONDARY', out, re.MULTILINE)
|
||||||
|
assert re.search(r'testing1', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-add testing2')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'testing2', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 2')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --info')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert re.search(r'testing1', out, re.MULTILINE)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
return_value, out = subprocess.getstatusoutput('meshtastic --ch-del --ch-index 1')
|
||||||
|
assert re.match(r'Connected to radio', out)
|
||||||
|
assert return_value == 0
|
||||||
|
# pause for the radio
|
||||||
|
time.sleep(PAUSE_AFTER_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.smoke1
|
@pytest.mark.smoke1
|
||||||
def test_smoke1_ch_set_modem_config():
|
def test_smoke1_ch_set_modem_config():
|
||||||
|
|||||||
Reference in New Issue
Block a user