~allenap/maas/xxx-a-thon

« back to all changes in this revision

Viewing changes to src/maasserver/rpc/tests/test_nodes.py

  • Committer: LaMont Jones
  • Date: 2016-03-07 23:20:52 UTC
  • mfrom: (4657.1.84 maas)
  • mto: (4657.1.93 maas)
  • mto: This revision was merged to the branch mainline in revision 4660.
  • Revision ID: lamont@canonical.com-20160307232052-rgfxbq7dujj6s093
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
153
153
                architecture, power_type, power_parameters,
154
154
                mac_addresses, hostname=hostname)
155
155
 
 
156
    def test__creates_node_with_explicit_domain(self):
 
157
        self.prepare_rack_rpc()
 
158
 
 
159
        mac_addresses = [
 
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({})
 
166
 
 
167
        node = create_node(
 
168
            architecture, power_type, power_parameters,
 
169
            mac_addresses, domain=domain.name, hostname=hostname)
 
170
 
 
171
        self.assertEqual(
 
172
            (
 
173
                architecture,
 
174
                power_type,
 
175
                {},
 
176
                domain.id,
 
177
                hostname,
 
178
            ),
 
179
            (
 
180
                node.architecture,
 
181
                node.power_type,
 
182
                node.power_parameters,
 
183
                node.domain.id,
 
184
                node.hostname,
 
185
            ))
 
186
        self.expectThat(node.id, Not(Is(None)))
 
187
        self.assertItemsEqual(
 
188
            mac_addresses,
 
189
            [nic.mac_address for nic in node.interface_set.all()])
 
190
 
 
191
    def test__create_node_fails_with_invalid_domain(self):
 
192
        self.prepare_rack_rpc()
 
193
 
 
194
        mac_addresses = [
 
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({})
 
199
 
 
200
        with ExpectedException(ValidationError):
 
201
            create_node(
 
202
                architecture, power_type, power_parameters,
 
203
                mac_addresses, factory.make_name('domain'))
 
204
 
156
205
    def test__raises_validation_errors_for_invalid_data(self):
157
206
        self.prepare_rack_rpc()
158
207