33
33
RunningEventLoopFixture,
35
35
from maasserver.testing.factory import factory
36
from maasserver.testing.orm import reload_object
37
36
from maasserver.testing.testcase import MAASServerTestCase
38
from maasserver.utils.orm import post_commit_hooks
37
from maasserver.utils.orm import (
39
41
from maastesting.twisted import always_succeed_with
40
42
from provisioningserver.drivers import gen_power_types
41
43
from provisioningserver.rpc.cluster import DescribePowerTypes
151
153
architecture, power_type, power_parameters,
152
154
mac_addresses, hostname=hostname)
156
def test__creates_node_with_explicit_domain(self):
157
self.prepare_rack_rpc()
160
factory.make_mac_address() for _ in range(3)]
161
architecture = make_usable_architecture(self)
162
hostname = factory.make_hostname()
163
domain = factory.make_Domain()
164
power_type = random.choice(self.power_types)['name']
165
power_parameters = dumps({})
168
architecture, power_type, power_parameters,
169
mac_addresses, domain=domain.name, hostname=hostname)
182
node.power_parameters,
186
self.expectThat(node.id, Not(Is(None)))
187
self.assertItemsEqual(
189
[nic.mac_address for nic in node.interface_set.all()])
191
def test__create_node_fails_with_invalid_domain(self):
192
self.prepare_rack_rpc()
195
factory.make_mac_address() for _ in range(3)]
196
architecture = make_usable_architecture(self)
197
power_type = random.choice(self.power_types)['name']
198
power_parameters = dumps({})
200
with ExpectedException(ValidationError):
202
architecture, power_type, power_parameters,
203
mac_addresses, factory.make_name('domain'))
154
205
def test__raises_validation_errors_for_invalid_data(self):
155
206
self.prepare_rack_rpc()