[python-oca] create new repo
This commit is contained in:
commit
b202172a30
78 changed files with 4703 additions and 0 deletions
92
oca/tests/test_virtual_network.py
Normal file
92
oca/tests/test_virtual_network.py
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# -*- coding: UTF-8 -*-
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from mock import Mock
|
||||
from xml.etree import ElementTree as ET
|
||||
from parameterized import parameterized_class
|
||||
|
||||
import oca
|
||||
|
||||
VN_TEMPLATE = """NAME = "Red LAN"
|
||||
TYPE = RANGED
|
||||
PUBLIC = NO
|
||||
BRIDGE = vbr0
|
||||
NETWORK_SIZE = C
|
||||
NETWORK_ADDRESS = 192.168.0.0"""
|
||||
|
||||
|
||||
@parameterized_class([
|
||||
{'one_version': '4.10.0'},
|
||||
{'one_version': '5.4.0'},
|
||||
{'one_version': '6.0.0'},
|
||||
])
|
||||
class TestVirtualNetwork(unittest.TestCase):
|
||||
# one_version = '4.10.0'
|
||||
|
||||
def setUp(self):
|
||||
self.client = oca.Client('test:test')
|
||||
self.client.call = Mock(return_value=self.one_version)
|
||||
self.xml = open(os.path.join(os.path.dirname(oca.__file__),
|
||||
'tests/fixtures/vnet.xml')).read()
|
||||
|
||||
if self.one_version >= '5':
|
||||
xml_v5 = ET.fromstring(self.xml)
|
||||
vn_mad = ET.Element('VN_MAD')
|
||||
vn_mad.text = 'vn_dummy'
|
||||
xml_v5.append(vn_mad)
|
||||
self.xml = ET.tostring(xml_v5).decode('utf-8')
|
||||
|
||||
def tearDown(self):
|
||||
version = self.client.one_version
|
||||
if version is not None and version >= '5':
|
||||
xml_types = oca.VirtualNetwork.XML_TYPES
|
||||
del xml_types['vn_mad']
|
||||
|
||||
def test_instantiate(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
self.client.call.assert_called_once_with('system.version')
|
||||
expected = None if self.one_version == '4.10.0' else 'vn_dummy'
|
||||
assert (getattr(h, 'vn_mad', None) == expected)
|
||||
|
||||
def test_allocate(self):
|
||||
self.client.call = Mock(return_value=2)
|
||||
assert oca.VirtualNetwork.allocate(self.client, VN_TEMPLATE) == 2
|
||||
|
||||
def test_publish(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
self.client.call = Mock(return_value='')
|
||||
h._convert_types()
|
||||
h.publish()
|
||||
self.client.call.assert_called_once_with('vn.publish', 3, True)
|
||||
|
||||
def test_unpublish(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
self.client.call = Mock(return_value='')
|
||||
h._convert_types()
|
||||
h.unpublish()
|
||||
self.client.call.assert_called_once_with('vn.publish', 3, False)
|
||||
|
||||
def test_repr(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
h._convert_types()
|
||||
assert h.__repr__() == '<oca.VirtualNetwork("Red LAN")>'
|
||||
|
||||
def test_chown(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
self.client.call = Mock(return_value='')
|
||||
h._convert_types()
|
||||
h.chown(2, 2)
|
||||
self.client.call.assert_called_once_with('vn.chown', 3, 2, 2)
|
||||
|
||||
def test_address_ranges(self):
|
||||
h = oca.VirtualNetwork(self.xml, self.client)
|
||||
h._convert_types()
|
||||
assert (2 == len(h.address_ranges))
|
||||
assert (1 == h.address_ranges[1].id)
|
||||
assert (0 == h.address_ranges[0].id)
|
||||
assert (" 0 68719479930 1 68719545020" == h.address_ranges[0].allocated)
|
||||
assert ("10.1.0.10" == h.address_ranges[0].ip)
|
||||
assert ("00:22:44:66:88:aa" == h.address_ranges[0].mac)
|
||||
assert (507 == h.address_ranges[0].size)
|
||||
assert ("IP4" == h.address_ranges[0].type)
|
||||
Loading…
Add table
Add a link
Reference in a new issue