Revision e368ad39 snf-cyclades-app/synnefo/api/tests/servers.py

b/snf-cyclades-app/synnefo/api/tests/servers.py
123 123
        user = self.vm2.userid
124 124
        net = mfactory.NetworkFactory()
125 125
        nic = mfactory.NetworkInterfaceFactory(machine=self.vm2, network=net,
126
                                              ipv6="::babe")
126
                                               ipv6="::babe")
127 127

  
128 128
        db_vm_meta = mfactory.VirtualMachineMetadataFactory(vm=db_vm)
129 129

  
......
142 142
        self.assertEqual(api_nic['firewallProfile'], nic.firewall_profile)
143 143
        self.assertEqual(api_nic['ipv4'], nic.ipv4)
144 144
        self.assertEqual(api_nic['ipv6'], nic.ipv6)
145
        self.assertEqual(api_nic['OS-EXT-IPS:type'],"fixed")
145
        self.assertEqual(api_nic['OS-EXT-IPS:type'], "fixed")
146 146
        self.assertEqual(api_nic['id'], 'nic-%s-%s' % (db_vm.id, nic.index))
147 147
        api_address = server["addresses"]
148
        self.assertEqual(api_address[str(net.id)],
149
               [{"version": 4, "addr": nic.ipv4, "OS-EXT-IPS:type": "fixed"},
150
                {"version": 6, "addr": nic.ipv6, "OS-EXT-IPS:type": "fixed"}])
148
        self.assertEqual(api_address[str(net.id)], [
149
            {"version": 4, "addr": nic.ipv4, "OS-EXT-IPS:type": "fixed"},
150
            {"version": 6, "addr": nic.ipv6, "OS-EXT-IPS:type": "fixed"}
151
        ])
151 152

  
152 153
        metadata = server['metadata']
153 154
        self.assertEqual(len(metadata), 1)
......
161 162
            response = self.myget("servers/%d" % vm.id, vm.userid)
162 163
            server = json.loads(response.content)['server']
163 164
            self.assertEqual(server["SNF:fqdn"], "vm.example.org")
164
        with override_settings(settings,
165
                               CYCLADES_SERVERS_FQDN="snf-%(id)s.vm.example.org"):
165
        with override_settings(settings, CYCLADES_SERVERS_FQDN=
166
                               "snf-%(id)s.vm.example.org"):
166 167
            response = self.myget("servers/%d" % vm.id, vm.userid)
167 168
            server = json.loads(response.content)['server']
168
            self.assertEqual(server["SNF:fqdn"], "snf-%d.vm.example.org" % vm.id)
169
            self.assertEqual(server["SNF:fqdn"],
170
                             "snf-%d.vm.example.org" % vm.id)
169 171
        with override_settings(settings,
170
                               CYCLADES_SERVERS_FQDN="snf-%(id)s.vm-%(id)s.example.org"):
172
                               CYCLADES_SERVERS_FQDN=
173
                               "snf-%(id)s.vm-%(id)s.example.org"):
171 174
            response = self.myget("servers/%d" % vm.id, vm.userid)
172 175
            server = json.loads(response.content)['server']
173 176
            self.assertEqual(server["SNF:fqdn"], "snf-%d.vm-%d.example.org" %
......
190 193
            self.assertEqual(server["SNF:fqdn"], nic.ipv6)
191 194

  
192 195
        # IPv4 NIC
193
        nic = mfactory.NetworkInterfaceFactory(machine=vm, network__public=True,
194
                                      state="ACTIVE")
196
        nic = mfactory.NetworkInterfaceFactory(machine=vm,
197
                                               network__public=True,
198
                                               state="ACTIVE")
195 199
        with override_settings(settings,
196 200
                               CYCLADES_SERVERS_FQDN=None):
197 201
            response = self.myget("servers/%d" % vm.id, vm.userid)
198 202
            server = json.loads(response.content)['server']
199 203
            self.assertEqual(server["SNF:fqdn"], nic.ipv4)
200 204

  
201

  
202 205
    def test_server_building_nics(self):
203 206
        db_vm = self.vm2
204 207
        user = self.vm2.userid
......
249 252
        response = self.myget('nonexistent')
250 253
        self.assertEqual(response.status_code, 400)
251 254
        try:
252
            error = json.loads(response.content)
255
            json.loads(response.content)
253 256
        except ValueError:
254 257
            self.assertTrue(False)
255 258

  
......
301 304
                                       backend=self.backend,
302 305
                                       operstate="ACTIVE")
303 306
        self.request = {
304
                    "server": {
305
                        "name": "new-server-test",
306
                        "userid": "test_user",
307
                        "imageRef": 1,
308
                        "flavorRef": self.flavor.id,
309
                        "metadata": {
310
                            "My Server Name": "Apache1"
311
                        },
312
                        "personality": []
313
                    }
307
            "server": {
308
                "name": "new-server-test",
309
                "userid": "test_user",
310
                "imageRef": 1,
311
                "flavorRef": self.flavor.id,
312
                "metadata": {
313
                    "My Server Name": "Apache1"
314
                },
315
                "personality": []
316
            }
314 317
        }
315 318

  
316 319
    def test_create_server(self, mrapi):
......
329 332
        self.assertEqual(api_server['status'], "BUILD")
330 333
        self.assertEqual(api_server['progress'], 0)
331 334
        self.assertEqual(api_server['metadata'],
332
                        {"My Server Name":  "Apache1"})
335
                         {"My Server Name":  "Apache1"})
333 336
        self.assertTrue('adminPass' in api_server)
334 337

  
335 338
        db_vm = VirtualMachine.objects.get(userid='test_user')
......
360 363
        request = deepcopy(self.request)
361 364
        request["server"]["networks"] = [bnet3.network.id, bnet4.network.id]
362 365
        with override_settings(settings,
363
                DEFAULT_INSTANCE_NETWORKS=["SNF:ANY_PUBLIC", bnet1.network.id,
364
                                           bnet2.network.id]):
366
                               DEFAULT_INSTANCE_NETWORKS=[
367
                                   "SNF:ANY_PUBLIC",
368
                                   bnet1.network.id,
369
                                   bnet2.network.id]):
365 370
            with mocked_quotaholder():
366 371
                response = self.mypost('servers', 'test_user',
367 372
                                       json.dumps(request), 'json')
......
381 386

  
382 387
        request["server"]["floating_ips"] = []
383 388
        with override_settings(settings,
384
                DEFAULT_INSTANCE_NETWORKS=[bnet2.network.id]):
389
                               DEFAULT_INSTANCE_NETWORKS=[bnet2.network.id]):
385 390
            with mocked_quotaholder():
386 391
                response = self.mypost('servers', 'test_user',
387 392
                                       json.dumps(request), 'json')
......
407 412
        with override_settings(settings,
408 413
                               DEFAULT_INSTANCE_NETWORKS=["SNF:ANY_PUBLIC"]):
409 414
            response = self.mypost('servers', 'test_user',
410
                                    json.dumps(request), 'json')
415
                                   json.dumps(request), 'json')
411 416
        self.assertFault(response, 403, "forbidden")
412 417
        # test wrong user
413 418
        request = deepcopy(self.request)
......
434 439
                                         machine=None)
435 440
        request["server"]["floating_ips"] = [fp1.ipv4, fp2.ipv4]
436 441
        with override_settings(settings,
437
                DEFAULT_INSTANCE_NETWORKS=[bnet3.network.id]):
442
                               DEFAULT_INSTANCE_NETWORKS=[bnet3.network.id]):
438 443
            with mocked_quotaholder():
439 444
                response = self.mypost('servers', 'test_user',
440
                                     json.dumps(request), 'json')
445
                                       json.dumps(request), 'json')
441 446
        self.assertEqual(response.status_code, 202)
442 447
        api_server = json.loads(response.content)['server']
443 448
        vm = VirtualMachine.objects.get(id=api_server["id"])
......
498 503
        for db_m in metadata:
499 504
            self.assertEqual(api_metadata[db_m.meta_key], db_m.meta_value)
500 505

  
501
        request = {'metadata':
502
                        {'foo': 'bar'},
503
                        metadata[0].meta_key: 'bar2'
504
                  }
506
        request = {
507
            'metadata': {
508
                'foo': 'bar'
509
            },
510
            metadata[0].meta_key: 'bar2'
511
        }
505 512
        response = self.mypost('servers/%d/metadata' % vm.id,
506
                             vm.userid, json.dumps(request), 'json')
513
                               vm.userid, json.dumps(request), 'json')
507 514
        metadata2 = VirtualMachineMetadata.objects.filter(vm=vm)
508 515
        response = self.myget('servers/%d/metadata' % vm.id, vm.userid)
509 516
        self.assertTrue(response.status_code in [200, 203])
......
626 633
        vm = self.get_vm(flavor=flavor, operstate="BUILD")
627 634
        request = {'resize': {'flavorRef': flavor.id}}
628 635
        response = self.mypost('servers/%d/action' % vm.id,
629
                             vm.userid, json.dumps(request), 'json')
636
                               vm.userid, json.dumps(request), 'json')
630 637
        self.assertFault(response, 409, "buildInProgress")
631 638
        # Check same Flavor
632 639
        vm = self.get_vm(flavor=flavor, operstate="STOPPED")
633 640
        request = {'resize': {'flavorRef': flavor.id}}
634 641
        response = self.mypost('servers/%d/action' % vm.id,
635
                             vm.userid, json.dumps(request), 'json')
642
                               vm.userid, json.dumps(request), 'json')
636 643
        self.assertBadRequest(response)
637 644
        # Check flavor with different disk
638 645
        flavor2 = mfactory.FlavorFactory(disk=1024)
......
640 647
        vm = self.get_vm(flavor=flavor2, operstate="STOPPED")
641 648
        request = {'resize': {'flavorRef': flavor3.id}}
642 649
        response = self.mypost('servers/%d/action' % vm.id,
643
                             vm.userid, json.dumps(request), 'json')
650
                               vm.userid, json.dumps(request), 'json')
644 651
        self.assertBadRequest(response)
645 652
        flavor2 = mfactory.FlavorFactory(disk_template="foo")
646 653
        flavor3 = mfactory.FlavorFactory(disk_template="baz")
647 654
        vm = self.get_vm(flavor=flavor2, operstate="STOPPED")
648 655
        request = {'resize': {'flavorRef': flavor3.id}}
649 656
        response = self.mypost('servers/%d/action' % vm.id,
650
                             vm.userid, json.dumps(request), 'json')
657
                               vm.userid, json.dumps(request), 'json')
651 658
        self.assertBadRequest(response)
652 659
        # Check success
653 660
        vm = self.get_vm(flavor=flavor, operstate="STOPPED")
......
657 664
        request = {'resize': {'flavorRef': flavor4.id}}
658 665
        mrapi().ModifyInstance.return_value = 42
659 666
        response = self.mypost('servers/%d/action' % vm.id,
660
                             vm.userid, json.dumps(request), 'json')
667
                               vm.userid, json.dumps(request), 'json')
661 668
        self.assertEqual(response.status_code, 202)
662 669
        vm = VirtualMachine.objects.get(id=vm.id)
663 670
        self.assertEqual(vm.task_job_id, 42)
......
673 680
        for action in VirtualMachine.ACTIONS:
674 681
            request = {action[0]: ""}
675 682
            response = self.mypost('servers/%d/action' % vm.id,
676
                                 vm.userid, json.dumps(request), 'json')
683
                                   vm.userid, json.dumps(request), 'json')
677 684
            self.assertBadRequest(response)
678 685
        # however you can destroy
679 686
        mrapi().DeleteInstance.return_value = 42

Also available in: Unified diff