28 lines
1.4 KiB
Python
28 lines
1.4 KiB
Python
import unittest
|
|
from channel_context import load_channels
|
|
|
|
class ChannelContextTests(unittest.TestCase):
|
|
def test_no_implicit_default_or_permission(self):
|
|
value = load_channels()
|
|
self.assertIsNone(value['selected_channel'])
|
|
self.assertFalse(value['authority_granted'])
|
|
self.assertEqual(len(value['channels']), 5)
|
|
|
|
def test_every_explicit_private_channel_resolves(self):
|
|
for id in ['ICE-CH-HB001', 'ICE-CH-LB001', 'ICE-CH-ZC001', 'ICE-CH-DK001']:
|
|
self.assertEqual(load_channels(id)['selected_channel']['id'], id)
|
|
|
|
def test_short_machine_aliases_normalize_before_architecture_agent(self):
|
|
pairs = [('HB001','ICE-CH-HB001'), ('LB001','ICE-CH-LB001'), ('ZC001','ICE-CH-ZC001'), ('DK001','ICE-CH-DK001'), ('BT001','ICE-CH-BT001')]
|
|
for alias, expected in pairs:
|
|
value = load_channels(alias)
|
|
self.assertEqual(value['normalized_channel'], expected)
|
|
self.assertEqual(value['selected_channel']['id'], expected)
|
|
self.assertEqual(value['channel_normalization_state'], 'MACHINE_ALIAS_NORMALIZED')
|
|
|
|
def test_public_and_unknown_not_silently_routed_private(self):
|
|
for id in ['CH-ZERO-CORE-LPM', 'not-a-channel']:
|
|
with self.assertRaisesRegex(ValueError, 'UNKNOWN_OR_AMBIGUOUS_PRIVATE_CHANNEL'):
|
|
load_channels(id)
|
|
|
|
if __name__ == '__main__': unittest.main()
|