Ejemplo n.º 1
0
class TestSocketAPI(TestCase):
    """Test the virtual Socket object"""
    def setUp(self):
        self.server = MockSocketIOServer()
        self.virtsocket = Socket(self.server)

    def test__set_namespaces(self):
        namespaces = {'/': MockNamespace}
        self.virtsocket._set_namespaces(namespaces)
        self.assertEqual(self.virtsocket.namespaces, namespaces)

    def test__set_request(self):
        request = {'test': 'a'}
        self.virtsocket._set_request(request)
        self.assertEqual(self.virtsocket.request, request)

    def test__set_environ(self):
        environ = []
        self.virtsocket._set_environ(environ)
        self.assertEqual(self.virtsocket.environ, environ)

    def test_connected_property(self):
        # not connected
        self.assertFalse(self.virtsocket.connected)

        # connected
        self.virtsocket.state = "CONNECTED"
        self.assertTrue(self.virtsocket.connected)

    def test_incr_hist(self):
        self.virtsocket.incr_hits()
        self.assertEqual(self.virtsocket.hits, 1)
        self.assertEqual(self.virtsocket.state,
                         self.virtsocket.STATE_CONNECTED)

    def test_disconnect(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {
            'test': MockNamespace({'socketio': self.virtsocket}, 'test')
        }
        self.virtsocket.disconnect()
        self.assertEqual(self.virtsocket.state, "CONNECTED")
        self.assertEqual(self.virtsocket.active_ns, {})

    def test_kill(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {
            'test': MockNamespace({'socketio': self.virtsocket}, 'test')
        }
        self.virtsocket.kill()
        self.assertEqual(self.virtsocket.state, "DISCONNECTING")

    def test__receiver_loop(self):
        """Test the loop  """
        # most of the method is tested by test_packet.TestDecode and
        # test_namespace.TestBaseNamespace
        pass
Ejemplo n.º 2
0
class TestSocketAPI(TestCase):
    """Test the virtual Socket object"""

    def setUp(self):
        self.server = MockSocketIOServer()
        self.virtsocket = Socket(self.server)

    def test__set_namespaces(self):
        namespaces = {'/': MockNamespace}
        self.virtsocket._set_namespaces(namespaces)
        self.assertEqual(self.virtsocket.namespaces, namespaces)

    def test__set_request(self):
        request = {'test': 'a'}
        self.virtsocket._set_request(request)
        self.assertEqual(self.virtsocket.request, request)

    def test__set_environ(self):
        environ = []
        self.virtsocket._set_environ(environ)
        self.assertEqual(self.virtsocket.environ, environ)

    def test_connected_property(self):
        # not connected
        self.assertFalse(self.virtsocket.connected)
        
        # connected
        self.virtsocket.state = "CONNECTED"
        self.assertTrue(self.virtsocket.connected)

    def test_incr_hist(self):
        self.virtsocket.incr_hits()
        self.assertEqual(self.virtsocket.hits, 1)
        self.assertEqual(self.virtsocket.state, self.virtsocket.STATE_CONNECTED)

    def test_disconnect(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {'test' : MockNamespace(environ=[], 
                                                            name="m")}
        self.virtsocket.disconnect()
        self.assertEqual(self.virtsocket.state, "CONNECTED")
        self.assertEqual(self.virtsocket.active_ns, {})

    def test_kill(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {'test' : MockNamespace(environ=[],
                                                            name="m")}
        self.virtsocket.kill()
        self.assertEqual(self.virtsocket.state, "DISCONNECTING")

    def test__receiver_loop(self):
        """Test the loop  """
        # most of the method is tested by test_packet.TestDecode and
        # test_namespace.TestBaseNamespace
        pass
Ejemplo n.º 3
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""
        socket = self.sockets.get(sessid)

        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 4
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""
        socket = self.sockets.get(sessid)

        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 5
0
class TestSocketAPI(TestCase):
    """Test the virtual Socket object"""

    def setUp(self):
        self.server = SocketIOServer()
        self.virtsocket = Socket(self.server, {})

    def test__set_namespaces(self):
        namespaces = {'/': Namespace}
        self.virtsocket._set_namespaces(namespaces)
        self.assertEqual(self.virtsocket.namespaces, namespaces)

    def test__set_request(self):
        request = {'test': 'a'}
        self.virtsocket._set_request(request)
        self.assertEqual(self.virtsocket.request, request)

    def test__set_environ(self):
        environ = []
        self.virtsocket._set_environ(environ)
        self.assertEqual(self.virtsocket.environ, environ)

    def test_connected_property(self):
        # not connected
        self.assertFalse(self.virtsocket.connected)

        # connected
        self.virtsocket.state = "CONNECTED"
        self.assertTrue(self.virtsocket.connected)

    def test_incr_hist(self):
        self.virtsocket.state = "CONNECTED"

        # cause a hit
        self.virtsocket.incr_hits()
        self.assertEqual(self.virtsocket.hits, 1)
        self.assertEqual(self.virtsocket.state, self.virtsocket.STATE_CONNECTED)

    def test_disconnect(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {'test' : Namespace({'socketio': self.virtsocket}, 'test')}
        self.virtsocket.disconnect()
        self.assertEqual(self.virtsocket.state, "DISCONNECTING")
        self.assertEqual(self.virtsocket.active_ns, {})

    def test_kill(self):
        # kill connected socket
        self.virtsocket.state = "CONNECTED"
        self.virtsocket.active_ns = {'test' : Namespace({'socketio': self.virtsocket}, 'test')}
        self.virtsocket.kill()
        self.assertEqual(self.virtsocket.state, "DISCONNECTING")
Ejemplo n.º 6
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        if sessid and not socket:
            return None  # you ask for a session that doesn't exist!
        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 7
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        if sessid and not socket:
            return None  # you ask for a session that doesn't exist!
        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 8
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        # workaround for https://github.com/abourget/gevent-socketio/issues/132
        #if sessid and not socket:
        #    return None  # you ask for a session that doesn't exist!
        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 9
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        # commenting this two lines fix https://github.com/abourget/gevent-socketio/issues/132
        #if sessid and not socket:
        #    return None  # you ask for a session that doesn't exist!
        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 10
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        if socket is None:
            if sessid:
                raise Exception('No session id {0} available'.format(sessid))
            else:
                socket = Socket(self)
                self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket
Ejemplo n.º 11
0
    def get_socket(self, sessid=''):
        """Return an existing or new client Socket."""

        socket = self.sockets.get(sessid)

        # commenting this two lines fix https://github.com/abourget/gevent-socketio/issues/132
        # https://github.com/getpenelope/gevent-socketio/commit/6c80c17705c9a1b3adcb0f99abde1c4d369c337b
#        if sessid and not socket: 
#            return None  # you ask for a session that doesn't exist!
        if socket is None:
            socket = Socket(self, self.config)
            self.sockets[socket.sessid] = socket
        else:
            socket.incr_hits()

        return socket