32
35
class VMwareVMUtilTestCase(test.TestCase):
34
37
super(VMwareVMUtilTestCase, self).setUp()
36
40
def tearDown(self):
37
41
super(VMwareVMUtilTestCase, self).tearDown()
39
44
def test_get_datastore_ref_and_name(self):
40
45
result = vm_util.get_datastore_ref_and_name(
41
46
fake_session([fake.Datastore()]))
43
48
self.assertEquals(result[1], "fake-ds")
44
self.assertEquals(result[2], 1024 * 1024 * 1024)
45
self.assertEquals(result[3], 1024 * 1024 * 500)
49
self.assertEquals(result[2], 1024 * 1024 * 1024 * 1024)
50
self.assertEquals(result[3], 1024 * 1024 * 500 * 1024)
47
52
def test_get_datastore_ref_and_name_without_datastore(self):
53
58
self.assertRaises(exception.DatastoreNotFound,
54
59
vm_util.get_datastore_ref_and_name,
55
60
fake_session(), cluster="fake-cluster")
62
def test_get_host_ref_from_id(self):
64
fake_host_sys = fake.HostSystem(
65
fake.ManagedObjectReference("HostSystem", "host-123"))
67
fake_host_id = fake_host_sys.obj.value
68
fake_host_name = "ha-host"
70
ref = vm_util.get_host_ref_from_id(
71
fake_session([fake_host_sys]), fake_host_id, ['name'])
73
self.assertIsInstance(ref, fake.HostSystem)
74
self.assertEqual(fake_host_id, ref.obj.value)
76
host_name = vm_util.get_host_name_from_host_ref(ref)
78
self.assertEquals(fake_host_name, host_name)
80
def test_get_host_name_for_vm(self):
82
fake_vm = fake.ManagedObject(
83
"VirtualMachine", fake.ManagedObjectReference(
84
"vm-123", "VirtualMachine"))
85
fake_vm.propSet.append(
86
fake.Property('name', 'vm-123'))
88
vm_ref = vm_util.get_vm_ref_from_name(
89
fake_session([fake_vm]), 'vm-123')
91
self.assertIsNotNone(vm_ref)
96
fake.Property('runtime.host',
97
fake.ManagedObjectReference(
98
'host-123', 'HostSystem'))
101
host_id = vm_util.get_host_id_from_vm_ref(
102
fake_session(fake_results), vm_ref)
104
self.assertEqual('host-123', host_id)
106
def test_property_from_property_set(self):
108
ObjectContent = collections.namedtuple('ObjectContent', ['propSet'])
109
DynamicProperty = collections.namedtuple('Property', ['name', 'val'])
110
MoRef = collections.namedtuple('Val', ['value'])
113
ObjectContent(propSet=[
114
DynamicProperty(name='name', val=MoRef(value='vm-123'))]),
115
ObjectContent(propSet=[
116
DynamicProperty(name='foo', val=MoRef(value='bar1')),
118
name='runtime.host', val=MoRef(value='host-123')),
119
DynamicProperty(name='foo', val=MoRef(value='bar2')),
121
ObjectContent(propSet=[
123
name='something', val=MoRef(value='thing'))]), ]
126
ObjectContent(propSet=[
127
DynamicProperty(name='name', val=MoRef(value='vm-123'))]),
128
ObjectContent(propSet=[
129
DynamicProperty(name='foo', val='bar1'),
130
DynamicProperty(name='foo', val='bar2'), ]),
131
ObjectContent(propSet=[
133
name='something', val=MoRef(value='thing'))]), ]
135
prop = vm_util.property_from_property_set(
136
'runtime.host', results_good)
137
self.assertIsNotNone(prop)
138
value = prop.val.value
139
self.assertEqual('host-123', value)
141
prop2 = vm_util.property_from_property_set(
142
'runtime.host', results_bad)
143
self.assertIsNone(prop2)
145
prop3 = vm_util.property_from_property_set('foo', results_good)
146
self.assertIsNotNone(prop3)
147
val3 = prop3.val.value
148
self.assertEqual('bar1', val3)
150
prop4 = vm_util.property_from_property_set('foo', results_bad)
151
self.assertIsNotNone(prop4)
152
self.assertEqual('bar1', prop4.val)