Example #1
0
def test_channel_names():
    bus1 = MessageBus()
    bus2 = MessageBus(channel_name_separator='/')

    for name in ['..foo', '*', '/', '.', '.sub', '98', '98_', 'top.98']:
        get_invalid_channel(bus1, name)
        assert not bus1.is_valid_channel_name(name)

    for name in ['foo', 'foo2', 'foo_a',
                 '_foo','_', 'foo123',
                 'foo.bar', 'foo.bar.asdf',
                 'a.b.c.d'
                 ]:
        assert bus1.is_valid_channel_name(name)
        assert bus2.is_valid_channel_name(
            name.replace('.','/'))

    bus1.stop()
    bus2.stop()