示例#1
0
    def test_part(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')
        yield c1.read_message()  # C2's join

        c2.close()
        response = yield c1.read_message()

        self.assertEqual(
            {
                'sender': c2.config['id'],
                'kind': 'part',
                'body': None
            }, json.loads(response))

        c1.close()

        # Wait for the channel to be removed.
        yield gen.sleep(0.001)

        with self.assertRaises(ChannelDoesNotExist):
            Channels.get(self.channel_id)
示例#2
0
    def test_join(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        yield self._mk_client('bar')
        yield c1.read_message()  # C2's join

        self.assertEqual(2, len(channel.clients))
示例#3
0
    def test_join(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        yield self._mk_client('bar')
        yield c1.read_message() # C2's join

        self.assertEqual(2, len(channel.clients))
示例#4
0
    def test_nick(self):
        channel = Channels.get(self.channel_id)
        nick_1 = 'foo'
        nick_2 = 'bar'

        c1 = yield self._mk_client(nick_1)
        yield self._mk_client(nick_2)
        yield c1.read_message() # C2's join

        self.assertEqual({nick_1, nick_2}, set(channel.members.values()))
示例#5
0
    def test_nick(self):
        channel = Channels.get(self.channel_id)
        nick_1 = 'foo'
        nick_2 = 'bar'

        c1 = yield self._mk_client(nick_1)
        yield self._mk_client(nick_2)
        yield c1.read_message()  # C2's join

        self.assertEqual({nick_1, nick_2}, set(channel.members.values()))
示例#6
0
    def test_ping(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c = yield self._mk_client('foo')
        send(c, m('ping'))
        response = yield c.read_message()

        self.assertEqual({
            "kind": "pong",
            "body": None,
            "sender": None
        }, json.loads(response))
示例#7
0
    def test_ping(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c = yield self._mk_client('foo')
        send(c, m('ping'))
        response = yield c.read_message()

        self.assertEqual({
            "kind": "pong",
            "body": None,
            "sender": None
        }, json.loads(response))
示例#8
0
文件: chat.py 项目: sbuss/qotr
 def open(self, channel_id):
     self.channel_id = channel_id
     try:
         self.channel = Channels.get(self.channel_id)
         self.id = self.channel.new_id()
         # Tell the user their id and the channel's meta data.
         Message(MT.config, body={
             "id": self.id,
             "meta": self.channel.meta
         }).send(self)
         self.channel.connections += 1
     except ChannelDoesNotExist:
         self.respond_with_error("Channel does not exist.")
         self.close()
示例#9
0
文件: chat.py 项目: rmoorman/qotr
 def open(self, channel_id):
     self.channel_id = channel_id
     try:
         self.channel = Channels.get(self.channel_id)
         self.id = self.channel.new_id()
         # Tell the user their id and the channel's meta data.
         Message(MT.config, body={
             "id": self.id,
             "meta": self.channel.meta
         }).send(self)
         self.channel.connections += 1
     except ChannelDoesNotExist:
         self.respond_with_error("Channel does not exist.")
         self.close()
示例#10
0
    def test_nick_change(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')

        send(c1, m('nick', 'foo-new'))
        response = yield c2.read_message()

        self.assertEqual({
            "kind": "nick",
            "body": "foo-new",
            "sender": c1.config['id']
        }, json.loads(response))
示例#11
0
    def test_part(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')
        yield c1.read_message() # C2's join

        c2.close()
        response = yield c1.read_message()

        self.assertEqual({
            'sender': c2.config['id'],
            'kind': 'part',
            'body': None
        }, json.loads(response))

        c1.close()

        # Wait for the channel to be removed.
        yield gen.sleep(0.001)

        with self.assertRaises(ChannelDoesNotExist):
            Channels.get(self.channel_id)
示例#12
0
    def test_chat(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')
        yield c1.read_message() # C2's join

        send(c1, m('chat', 'hey!'))
        response = yield c2.read_message()

        self.assertEqual({
            'sender': c1.config['id'],
            'kind': 'chat',
            'body': 'hey!'
        }, json.loads(response))
示例#13
0
    def test_nick_change(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')

        send(c1, m('nick', 'foo-new'))
        response = yield c2.read_message()

        self.assertEqual(
            {
                "kind": "nick",
                "body": "foo-new",
                "sender": c1.config['id']
            }, json.loads(response))
示例#14
0
    def test_create(self):
        meta = "common"
        channel_id = "test-channel"

        body = "&".join([
            "id={channel_id}",
            "meta={meta}",
        ]).format(**locals())

        response = json.loads(
            self.fetch('/channels/new', method='POST',
                       body=body).body.decode('utf8'))

        self.assertEqual({"meta": meta, "id": channel_id}, response)

        channel = Channels.get(channel_id)
        self.assertEqual(meta, channel.meta)
示例#15
0
    def test_chat(self):
        channel = Channels.get(self.channel_id)
        self.assertEqual(0, len(channel.clients))

        c1 = yield self._mk_client('foo')
        c2 = yield self._mk_client('bar')
        yield c1.read_message()  # C2's join

        send(c1, m('chat', 'hey!'))
        response = yield c2.read_message()

        self.assertEqual(
            {
                'sender': c1.config['id'],
                'kind': 'chat',
                'body': 'hey!'
            }, json.loads(response))
示例#16
0
    def test_create(self):
        meta = "common"
        channel_id = "test-channel"

        body = "&".join([
            "id={channel_id}",
            "meta={meta}",
        ]).format(**locals())

        response = json.loads(self.fetch(
            '/channels/new', method='POST',
            body=body
        ).body.decode('utf8'))

        self.assertEqual({
            "meta": meta,
            "id": channel_id
        }, response)

        channel = Channels.get(channel_id)
        self.assertEqual(meta, channel.meta)
示例#17
0
 def test_create(self):
     Channels.create(self.channel_id, self.meta)
     channel = Channels.get(self.channel_id)
     self.assertEqual(self.meta, channel.meta)
示例#18
0
 def test_does_not_exist(self):
     with self.assertRaises(ChannelDoesNotExist):
         Channels.get(self.channel_id)