Exemplo n.º 1
0
    def test_open_dhcp_int_socket(self, mock_socket, mock_netns):
        cfg.CONF.register_opts(OPTS, 'cisco_pnr')
        relay = DhcpRelayAgent()

        mock_netns.iflist.return_value = []
        mock_netns.iflist.return_value.append(
            ('eth0', '10.1.1.7', '255.255.255.0'))
        recv_s, send_s, addr = relay._open_dhcp_int_socket()

        self.assertTrue(mock_netns.iflist.called, "Failed to call iflist.")

        mock_socket.assert_has_calls([
            mock.call(socket.AF_INET, socket.SOCK_DGRAM),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),
            mock.call().bind(('0.0.0.0', 67)),
            mock.call(socket.AF_INET, socket.SOCK_DGRAM),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),
            mock.call().bind(('10.1.1.7', 67))
        ])

        # check exception thrown if no interfaces
        with self.assertRaises(UnexpectedError):
            mock_netns.iflist.return_value = []
            recv_s, send_s, addr = relay._open_dhcp_int_socket()
    def test_open_dhcp_int_socket(self, mock_socket, mock_netns):
        cfg.CONF.register_opts(OPTS, 'cisco_pnr')
        relay = DhcpRelayAgent()

        mock_netns.iflist.return_value = []
        mock_netns.iflist.return_value.append(('eth0', '10.1.1.7',
                                               '255.255.255.0'))
        recv_s, send_s, addr = relay._open_dhcp_int_socket()

        self.assertTrue(mock_netns.iflist.called, "Failed to call iflist.")

        mock_socket.assert_has_calls([
            mock.call(socket.AF_INET, socket.SOCK_DGRAM),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),
            mock.call().bind(('0.0.0.0', 67)),
            mock.call(socket.AF_INET, socket.SOCK_DGRAM),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1),
            mock.call().setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),
            mock.call().bind(('10.1.1.7', 67))]
        )

        # check exception thrown if no interfaces
        with self.assertRaises(UnexpectedError):
            mock_netns.iflist.return_value = []
            recv_s, send_s, addr = relay._open_dhcp_int_socket()