/usr/lib/python3/dist-packages/provisioningserver/drivers/power/tests/test_vmware.py is in python3-maas-provisioningserver 2.0.0~beta3+bzr4941-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | # Copyright 2015-2016 Canonical Ltd. This software is licensed under the
# Gnu Affero General Public License version 3 (see the file LICENSE).
"""Tests for `provisioningserver.drivers.power.vmware`."""
__all__ = []
from maastesting.factory import factory
from maastesting.matchers import MockCalledOnceWith
from maastesting.testcase import MAASTestCase
from provisioningserver.drivers.hardware.vmware import try_pyvmomi_import
from provisioningserver.drivers.power import vmware as vmware_module
from provisioningserver.drivers.power.vmware import (
extract_vmware_parameters,
VMwarePowerDriver,
)
from testtools.matchers import Equals
class TestVMwarePowerDriver(MAASTestCase):
def test_missing_packages(self):
mock = self.patch(try_pyvmomi_import)
mock.return_value = False
driver = vmware_module.VMwarePowerDriver()
missing = driver.detect_missing_packages()
self.assertItemsEqual(["python3-pyvmomi"], missing)
def test_no_missing_packages(self):
mock = self.patch(try_pyvmomi_import)
mock.return_value = True
driver = vmware_module.VMwarePowerDriver()
missing = driver.detect_missing_packages()
self.assertItemsEqual([], missing)
def make_parameters(self, has_optional=True):
system_id = factory.make_name('system_id')
host = factory.make_name('power_address')
username = factory.make_name('power_user')
password = factory.make_name('power_pass')
vm_name = factory.make_name('power_vm_name')
uuid = factory.make_name('power_uuid')
port = protocol = None
context = {
'system_id': system_id,
'power_address': host,
'power_user': username,
'power_pass': password,
'power_vm_name': vm_name,
'power_uuid': uuid,
'power_port': port,
'power_protocol': protocol,
}
if not has_optional:
context['power_port'] = ""
context['power_protocol'] = ""
return (system_id, host, username, password,
vm_name, uuid, port, protocol, context)
def test_extract_vmware_parameters_extracts_parameters(self):
(system_id, host, username, password,
vm_name, uuid, port, protocol, context) = self.make_parameters()
self.assertItemsEqual(
(host, username, password, vm_name, uuid, None, None),
extract_vmware_parameters(context))
def test_extract_vmware_parameters_treats_optional_params_as_none(self):
(system_id, host, username, password,
vm_name, uuid, port, protocol, context) = self.make_parameters(
has_optional=False)
self.assertItemsEqual(
(host, username, password, vm_name, uuid, port, protocol),
extract_vmware_parameters(context))
def test_power_on_calls_power_control_vmware(self):
power_change = 'on'
(system_id, host, username, password,
vm_name, uuid, port, protocol, context) = self.make_parameters()
vmware_power_driver = VMwarePowerDriver()
power_control_vmware = self.patch(
vmware_module, 'power_control_vmware')
vmware_power_driver.power_on(system_id, context)
self.assertThat(
power_control_vmware, MockCalledOnceWith(
host, username, password, vm_name,
uuid, power_change, port, protocol))
def test_power_off_calls_power_control_vmware(self):
power_change = 'off'
(system_id, host, username, password,
vm_name, uuid, port, protocol, context) = self.make_parameters()
vmware_power_driver = VMwarePowerDriver()
power_control_vmware = self.patch(
vmware_module, 'power_control_vmware')
vmware_power_driver.power_off(system_id, context)
self.assertThat(
power_control_vmware, MockCalledOnceWith(
host, username, password, vm_name,
uuid, power_change, port, protocol))
def test_power_query_calls_power_query_vmware(self):
(system_id, host, username, password,
vm_name, uuid, port, protocol, context) = self.make_parameters()
vmware_power_driver = VMwarePowerDriver()
power_query_vmware = self.patch(
vmware_module, 'power_query_vmware')
power_query_vmware.return_value = 'off'
expected_result = vmware_power_driver.power_query(system_id, context)
self.expectThat(
power_query_vmware, MockCalledOnceWith(
host, username, password, vm_name, uuid, port, protocol))
self.expectThat(expected_result, Equals('off'))
|