|
|
|
@ -84,7 +84,7 @@ DEFAULT_REFLECTOR: 0
|
|
|
|
self.assertEqual(parsed["ALIASES"]["STALE_TIME"], 86400)
|
|
|
|
self.assertEqual(parsed["ALIASES"]["STALE_TIME"], 86400)
|
|
|
|
self.assertTrue(parsed["SYSTEMS"]["MASTER-A"]["DIAL_A_TG"])
|
|
|
|
self.assertTrue(parsed["SYSTEMS"]["MASTER-A"]["DIAL_A_TG"])
|
|
|
|
self.assertTrue(parsed["SYSTEMS"]["MASTER-A"]["DYNAMIC_TG_ROUTING"])
|
|
|
|
self.assertTrue(parsed["SYSTEMS"]["MASTER-A"]["DYNAMIC_TG_ROUTING"])
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"], 0)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"], 1)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS1"], 0)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS1"], 0)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS2"], 0)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS2"], 0)
|
|
|
|
|
|
|
|
|
|
|
|
@ -142,7 +142,7 @@ DEFAULT_DIAL_TS2: 92
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS2"], 92)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_DIAL_TS2"], 92)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_REFLECTOR"], 92)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["DEFAULT_REFLECTOR"], 92)
|
|
|
|
|
|
|
|
|
|
|
|
def test_config_invalid_network_direct_dial_slot_defaults_to_disabled(self):
|
|
|
|
def test_config_invalid_network_direct_dial_slot_defaults_to_ts1(self):
|
|
|
|
for value in ("3", "A"):
|
|
|
|
for value in ("3", "A"):
|
|
|
|
with self.subTest(value=value):
|
|
|
|
with self.subTest(value=value):
|
|
|
|
config_text = f"""
|
|
|
|
config_text = f"""
|
|
|
|
@ -168,7 +168,7 @@ NETWORK_DIRECT_DIAL_SLOT: {value}
|
|
|
|
finally:
|
|
|
|
finally:
|
|
|
|
os.unlink(path)
|
|
|
|
os.unlink(path)
|
|
|
|
|
|
|
|
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"], 0)
|
|
|
|
self.assertEqual(parsed["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"], 1)
|
|
|
|
self.assertIn("NETWORK_DIRECT_DIAL_SLOT", "\n".join(logs.output))
|
|
|
|
self.assertIn("NETWORK_DIRECT_DIAL_SLOT", "\n".join(logs.output))
|
|
|
|
|
|
|
|
|
|
|
|
def test_set_alias_updates_bridge_master_globals_and_shared_hblink_config(self):
|
|
|
|
def test_set_alias_updates_bridge_master_globals_and_shared_hblink_config(self):
|
|
|
|
@ -1342,8 +1342,9 @@ NETWORK_DIRECT_DIAL_SLOT: {value}
|
|
|
|
self.assertEqual(fbp_entry["TO_TYPE"], "NONE")
|
|
|
|
self.assertEqual(fbp_entry["TO_TYPE"], "NONE")
|
|
|
|
self.assertEqual(scenario.capture.packets, [])
|
|
|
|
self.assertEqual(scenario.capture.packets, [])
|
|
|
|
|
|
|
|
|
|
|
|
def test_network_direct_dial_is_disabled_by_default(self):
|
|
|
|
def test_network_direct_dial_can_be_explicitly_disabled(self):
|
|
|
|
config = minimal_config(("MASTER-A",))
|
|
|
|
config = minimal_config(("MASTER-A",))
|
|
|
|
|
|
|
|
config["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"] = 0
|
|
|
|
add_openbridge_system(config, "OBP-1", network_id=3001)
|
|
|
|
add_openbridge_system(config, "OBP-1", network_id=3001)
|
|
|
|
|
|
|
|
|
|
|
|
with DeterministicScenario(config=config) as scenario:
|
|
|
|
with DeterministicScenario(config=config) as scenario:
|
|
|
|
@ -1355,9 +1356,8 @@ NETWORK_DIRECT_DIAL_SLOT: {value}
|
|
|
|
self.assertNotIn("#1001", scenario.bridge_state)
|
|
|
|
self.assertNotIn("#1001", scenario.bridge_state)
|
|
|
|
self.assertEqual(scenario.capture.for_system("MASTER-A"), [])
|
|
|
|
self.assertEqual(scenario.capture.for_system("MASTER-A"), [])
|
|
|
|
|
|
|
|
|
|
|
|
def test_network_direct_dial_routes_repeater_id_to_tg9_on_configured_slot(self):
|
|
|
|
def test_network_direct_dial_routes_repeater_id_to_tg9_on_default_ts1(self):
|
|
|
|
config = minimal_config(("MASTER-A",))
|
|
|
|
config = minimal_config(("MASTER-A",))
|
|
|
|
config["SYSTEMS"]["MASTER-A"]["NETWORK_DIRECT_DIAL_SLOT"] = 1
|
|
|
|
|
|
|
|
add_openbridge_system(config, "OBP-1", network_id=3001)
|
|
|
|
add_openbridge_system(config, "OBP-1", network_id=3001)
|
|
|
|
|
|
|
|
|
|
|
|
with DeterministicScenario(config=config) as scenario:
|
|
|
|
with DeterministicScenario(config=config) as scenario:
|
|
|
|
|