Example #1
0
    def test_make_udpip_got_a_sensitive_port(self):
        # Can you bind system ports ?
        for sensitive_port in (0, 1, 1023):
            node = Node()
            self.assertIsNone(node.udp_sock)
            self.assertEqual(node.udp_ip, (None, None))
            with self.subTest(sensitive_port=sensitive_port):
                node.make_udpip('localhost', sensitive_port)
                if node.udp_sock:
                    # Really !!! You can bind a sensitive port.
                    # Are you root ?
                    # You must study security.
                    # You must open many security holes.
                    self.assertIsInstance(node.udp_sock, socket.socket)
                    self.assertEqual(node.udp_ip,
                                     ('localhost', sensitive_port))

                    node.release()
                else:
                    # You cannot bind a sensitive port.
                    # You have a good security policy.
                    self.assertIsNone(node.udp_sock)
                    # However port must be set. for debug.
                    self.assertEqual(node.udp_ip,
                                     ('localhost', sensitive_port))
Example #2
0
    def test_core_node_init_success(self):
        node = Node('localhost', 10000)
        self.assertEqual(node.udp_ip, ('localhost', 10000))
        self.assertIsInstance(node._last_moment, threading.Event)
        self.assertIsInstance(node._status, dict)
        self.assertIsInstance(node.udp_sock, socket.socket)

        node.release()
Example #3
0
    def test_make_udpip_success(self):
        node = Node()
        self.assertIsNone(node.udp_sock)
        self.assertEqual(node.udp_ip, (None, None))
        node.make_udpip('localhost', 4444)
        self.assertIsInstance(node.udp_sock, socket.socket)
        self.assertEqual(node.udp_ip, ('localhost', 4444))

        node.release()
Example #4
0
    def test_core_node_release(self):
        node = Node('localhost', 55555)
        self.assertEqual(node.udp_ip, ('localhost', 55555))

        self.assertIsInstance(node.udp_sock, socket.socket)
        self.assertFalse(node.udp_sock._closed)
        node.release()
        self.assertTrue(node.udp_sock._closed)
        self.assertIsInstance(node.udp_sock, socket.socket)
Example #5
0
    def test_make_udpip_got_on_the_boundary_port(self):
        for on_the_boundary_port in (1024, 65535):
            node = Node()
            self.assertIsNone(node.udp_sock)
            self.assertEqual(node.udp_ip, (None, None))
            node.make_udpip('localhost', on_the_boundary_port)
            self.assertIsInstance(node.udp_sock, socket.socket)
            self.assertEqual(node.udp_ip, ('localhost', on_the_boundary_port))

            node.release()
Example #6
0
    def test_core_node_status(self):
        node = Node('localhost', 55555)
        self.assertIsInstance(node.udp_sock, socket.socket)
        self.assertEqual(node.udp_ip, ('localhost', 55555))

        status = node.get_status()
        self.assertEqual(status['host'], 'localhost')
        self.assertEqual(status['port'], 55555)

        node.release()