[otci] properly configure operational dataset (#9190)

This commit is contained in:
Jonathan Hui
2023-06-21 13:44:42 -04:00
committed by GitHub
parent 330c8088b9
commit dad7754752
+37 -18
View File
@@ -41,9 +41,14 @@ from otci import NetifIdentifier
logging.basicConfig(level=logging.DEBUG)
TEST_CHANNEL = 22
TEST_CHANNEL_MASK = 0x07fff800
TEST_EXTENDED_PANID = '000db80000000000'
TEST_MESH_LOCAL_PREFIX = 'fd00:db8::'
TEST_NETWORK_KEY = 'ffeeddccbbaa99887766554433221100'
TEST_NETWORK_NAME = 'OT CI'
TEST_PANID = 0xeeee
TEST_NETWORKKEY = 'ffeeddccbbaa99887766554433221100'
TEST_PSKC = 'c23a76e98f1a6483639b1ac1271e2e27'
TEST_SECURITY_POLICY = (672, 'onrc')
REAL_DEVICE = int(os.getenv('REAL_DEVICE', '0'))
@@ -142,8 +147,8 @@ class TestOTCI(unittest.TestCase):
leader.set_network_name(TEST_NETWORK_NAME)
leader.set_network_key(TEST_NETWORKKEY)
self.assertEqual(TEST_NETWORKKEY, leader.get_network_key())
leader.set_network_key(TEST_NETWORK_KEY)
self.assertEqual(TEST_NETWORK_KEY, leader.get_network_key())
leader.set_panid(TEST_PANID)
self.assertEqual(TEST_PANID, leader.get_panid())
@@ -171,6 +176,7 @@ class TestOTCI(unittest.TestCase):
leader.set_preferred_partition_id(0xabcddead)
self.assertEqual(leader.get_preferred_partition_id(), 0xabcddead)
_setup_default_network(leader)
leader.thread_start()
leader.wait(10)
self.assertEqual('leader', leader.get_state())
@@ -554,19 +560,12 @@ class TestOTCI(unittest.TestCase):
leader.set_extaddr(new_extaddr)
self.assertEqual(new_extaddr, leader.get_extaddr())
leader.set_network_name(TEST_NETWORK_NAME)
_setup_default_network(leader)
leader.set_network_key(TEST_NETWORKKEY)
self.assertEqual(TEST_NETWORKKEY, leader.get_network_key())
leader.set_panid(TEST_PANID)
self.assertEqual(TEST_PANID, leader.get_panid())
leader.set_channel(TEST_CHANNEL)
self.assertEqual(TEST_CHANNEL, leader.get_channel())
leader.set_network_name(TEST_NETWORK_NAME)
self.assertEqual(TEST_NETWORK_KEY, leader.get_network_key())
self.assertEqual(TEST_NETWORK_NAME, leader.get_network_name())
self.assertEqual(TEST_PANID, leader.get_panid())
self.assertEqual('rdn', leader.get_mode())
@@ -579,12 +578,15 @@ class TestOTCI(unittest.TestCase):
leader_id = leader.get_router_id()
self.assertEqual(rloc16, leader_id << 10)
commissioner.ifconfig_up()
commissioner.set_channel(TEST_CHANNEL)
commissioner.set_panid(TEST_PANID)
commissioner.set_network_name(TEST_NETWORK_NAME)
commissioner.dataset_clear_buffer()
commissioner.dataset_set_buffer(
channel=TEST_CHANNEL,
network_key=TEST_NETWORK_KEY,
panid=TEST_PANID,
)
commissioner.dataset_commit_buffer('active')
commissioner.set_router_selection_jitter(1)
commissioner.set_network_key(TEST_NETWORKKEY)
commissioner.ifconfig_up()
commissioner.thread_start()
commissioner.wait(10)
@@ -724,5 +726,22 @@ class TestOTCI(unittest.TestCase):
leader.close()
def _setup_default_network(node):
node.dataset_clear_buffer()
node.dataset_set_buffer(
active_timestamp=1,
channel=TEST_CHANNEL,
channel_mask=TEST_CHANNEL_MASK,
extpanid=TEST_EXTENDED_PANID,
mesh_local_prefix=TEST_MESH_LOCAL_PREFIX,
network_key=TEST_NETWORK_KEY,
network_name=TEST_NETWORK_NAME,
panid=TEST_PANID,
pskc=TEST_PSKC,
security_policy=TEST_SECURITY_POLICY,
)
node.dataset_commit_buffer('active')
if __name__ == '__main__':
unittest.main()