コード例 #1
0
ファイル: network_test.py プロジェクト: olivierh59500/see
    def test_invalid(self):
        """NETWORK ValueError is raised if configuration address is invalid."""
        virnetwork = mock.Mock()
        hypervisor = mock.Mock()
        virnetwork.XMLDesc.side_effect = (
            lambda x:
            '<a><ip address="192.168.%s.1" netmask="255.255.255.0"/></a>'
            % random.randint(1, 256))
        hypervisor.listNetworks.return_value = ('foo', 'bar', 'baz')
        hypervisor.networkLookupByName.return_value = virnetwork
        configuration = {'ipv4': '192.168.0.1',
                         'prefix': 16,
                         'subnet_prefix': 24}

        with self.assertRaises(ValueError):
            network.generate_address(hypervisor, configuration)
コード例 #2
0
ファイル: network_test.py プロジェクト: olivierh59500/see
    def test_no_ip(self):
        """NETWORK RuntimeError is raised if all IPs are taken."""
        counter = itertools.count()
        virnetwork = mock.Mock()
        hypervisor = mock.Mock()
        virnetwork.XMLDesc.side_effect = (
            lambda x:
            '<a><ip address="192.168.%s.1" netmask="255.255.255.0"/></a>'
            % next(counter))
        hypervisor.listNetworks.return_value = range(0, 256)
        hypervisor.networkLookupByName.return_value = virnetwork
        configuration = {'ipv4': '192.168.0.0',
                         'prefix': 16,
                         'subnet_prefix': 24}

        with self.assertRaises(RuntimeError):
            network.generate_address(hypervisor, configuration)
コード例 #3
0
ファイル: network_test.py プロジェクト: olivierh59500/see
    def test_valid(self):
        """NETWORK A valid address is retrieved."""
        virnetwork = mock.Mock()
        hypervisor = mock.Mock()
        virnetwork.XMLDesc.side_effect = (
            lambda x:
            '<a><ip address="192.168.%s.1" netmask="255.255.255.0"/></a>'
            % random.randint(1, 256))
        hypervisor.listNetworks.return_value = ('foo', 'bar', 'baz')
        hypervisor.networkLookupByName.return_value = virnetwork
        configuration = {'ipv4': '192.168.0.0',
                         'prefix': 16,
                         'subnet_prefix': 24}

        self.assertTrue(network.generate_address(hypervisor, configuration) in
                        [ipaddress.IPv4Network(u'192.168.{}.0/24'.format(i))
                         for i in range(1, 256)])
コード例 #4
0
ファイル: network_test.py プロジェクト: xx-zhang/see
    def test_randomised(self):
        """NETWORK Address generation is randomised."""
        virnetwork = mock.Mock()
        hypervisor = mock.Mock()
        virnetwork.XMLDesc.side_effect = (
            lambda x:
            '<a><ip address="192.168.%s.1" netmask="255.255.255.0"/></a>' %
            random.randint(1, 255))
        hypervisor.listNetworks.return_value = ('foo', 'bar', 'baz')
        hypervisor.networkLookupByName.return_value = virnetwork
        configuration = {
            'ipv4': '192.168.0.0',
            'prefix': 16,
            'subnet_prefix': 24
        }

        addresses = set(
            network.generate_address(hypervisor, configuration)
            for _ in range(10))

        self.assertTrue(len(addresses) > 1)