Beispiel #1
0
 def test_equal(self):
     channel_id = ChannelId('/test')
     assert channel_id == '/test'
     assert channel_id == '/test'
     assert channel_id != '/Test'
     assert channel_id == ChannelId('/test')
     self.assertRaises(TypeError, channel_id.__eq__, 0)
Beispiel #2
0
 def test_convert(self):
     channel_id = ChannelId('/test')
     assert channel_id == ChannelId.convert(channel_id)
     channel_id = ChannelId.convert('/test')
     assert isinstance(channel_id, ChannelId)
     assert channel_id == '/test'
     self.assertRaises(TypeError, ChannelId.convert, 0)
Beispiel #3
0
 def test_convert(self):
     channel_id = ChannelId('/test')
     assert channel_id is ChannelId.convert(channel_id)
     channel_id = ChannelId.convert('/test')
     assert not '/test' is channel_id
     assert isinstance(channel_id, ChannelId)
     assert channel_id == '/test'
     self.assertRaises(TypeError, ChannelId.convert, 0)
Beispiel #4
0
 def __init__(self, client, channel_id):
     self.log = logging.getLogger('%s.%s' % (self.__module__, self.__class__.__name__))
     self._client = client
     self._channel_id = ChannelId.convert(channel_id)
     self._listener_id = 0
     self._listeners = []
     self._subscriptions = []
Beispiel #5
0
 def __init__(self, client, channel_id):
     self.log = logging.getLogger(
         '%s.%s' % (self.__module__, self.__class__.__name__))
     self._client = client
     self._channel_id = ChannelId.convert(channel_id)
     self._listener_id = 0
     self._listeners = []
     self._subscriptions = []
Beispiel #6
0
 def test_get_channel(self):
     channel = self.client.get_channel('/test')
     assert channel.channel_id == '/test'
     assert self.client.get_channel('/test') is channel
     assert self.client.get_channel(ChannelId('/test')) is channel
     other_channel = self.client.get_channel('/Test')
     assert other_channel.channel_id == '/Test'
     assert channel is not other_channel
Beispiel #7
0
 def get_channel(self, channel_id):
     self.log.debug('Fetching channel %s' % channel_id)
     channel_id = ChannelId.convert(channel_id)
     channel = self._channels.get(channel_id)
     if not channel:
         self.log.debug('Channel does not exist, creating with ID %s' % channel_id)
         channel = Channel(self, channel_id)
         self._channels[channel_id] = channel
     return channel
Beispiel #8
0
 def test_get_wilds(self):
     channel_id = ChannelId('/test/some/channel')
     assert channel_id.get_wilds() == [
         '/test/some/*',
         '/test/some/**',
         '/test/**',
         '/**'
     ]
     channel_id = ChannelId('/')
     assert channel_id.get_wilds() == [
         '/*',
         '/**'
     ]
     channel_id = ChannelId()
     assert channel_id.get_wilds() == []
Beispiel #9
0
 def test_get_wilds(self):
     channel_id = ChannelId('/test/some/channel')
     assert channel_id.get_wilds() == [
         '/test/some/*',
         '/test/some/**',
         '/test/**',
         '/**'
     ]
     channel_id = ChannelId('/')
     assert channel_id.get_wilds() == [
         '/*',
         '/**'
     ]
     channel_id = ChannelId()
     assert channel_id.get_wilds() == []
Beispiel #10
0
 def test_new_with_errors(self):
     self.assertRaises(UnicodeDecodeError, ChannelId, b'/caf\xc3', encoding='utf8')
     channel_id = ChannelId(b'/caf\xc3', encoding='utf8', errors='ignore')
     assert channel_id == '/caf'
     channel_id = ChannelId(b'/caf\xc3', encoding='utf8', errors='replace')
     assert channel_id == '/caf\ufffd'
Beispiel #11
0
 def __setitem__(self, key, value):
     if key == self.FIELD_CHANNEL and value is not None:
         value = ChannelId.convert(value)
     dict.__setitem__(self, key, value)
Beispiel #12
0
 def setUp(self):
     self.client = Mock(spec_set=Client)
     self.channel_id = ChannelId('/test')
     self.channel = Channel(self.client, self.channel_id)
     self.mock_message = Message(data='dummy')
Beispiel #13
0
 def test_parts(self):
     assert ChannelId('/test').parts == ['test']
     assert ChannelId('/test/some/channel').parts == ['test', 'some', 'channel']
     assert ChannelId().parts == []
Beispiel #14
0
 def test_is_wild_deep(self):
     assert ChannelId('/test/**').is_wild_deep
     assert ChannelId('/**').is_wild_deep
     assert not ChannelId('/*').is_wild_deep
     assert not ChannelId('**').is_wild_deep
Beispiel #15
0
 def test_is_wild(self):
     assert ChannelId('/test/*').is_wild
     assert ChannelId('/*').is_wild
     assert not ChannelId('/**').is_wild
     assert not ChannelId('*').is_wild
Beispiel #16
0
 def test_is_meta(self):
     assert not ChannelId('/test').is_meta
     assert ChannelId('/meta').is_meta
     assert ChannelId(ChannelId.META).is_meta
     assert not ChannelId('/Meta').is_meta
Beispiel #17
0
 def __setitem__(self, key, value):
     if key == self.FIELD_CHANNEL and value is not None:
         value = ChannelId.convert(value)
     dict.__setitem__(self, key, value)
Beispiel #18
0
 def test_new_with_encoding(self):
     channel_id = ChannelId(b'/caf\xc3\xa9', encoding='utf8')
     assert channel_id == '/caf\xe9'
Beispiel #19
0
 def test_new(self):
     channel_id = ChannelId()
     assert channel_id == ''
     channel_id = ChannelId('/test')
     assert channel_id == '/test'