Revision 710b1c43 snf-cyclades-app/synnefo/api/tests/servers.py
b/snf-cyclades-app/synnefo/api/tests/servers.py | ||
---|---|---|
409 | 409 |
def test_create_network_settings(self, mrapi): |
410 | 410 |
mrapi().CreateInstance.return_value = 12 |
411 | 411 |
# Create public network and backend |
412 |
subnet1 = mfactory.IPv4SubnetFactory() |
|
412 |
subnet1 = mfactory.IPv4SubnetFactory(network__userid="test_user")
|
|
413 | 413 |
bnet1 = mfactory.BackendNetworkFactory(network=subnet1.network, |
414 | 414 |
backend=self.backend, |
415 | 415 |
operstate="ACTIVE") |
416 |
subnet2 = mfactory.IPv4SubnetFactory() |
|
416 |
subnet2 = mfactory.IPv4SubnetFactory(network__userid="test_user")
|
|
417 | 417 |
bnet2 = mfactory.BackendNetworkFactory(network=subnet2.network, |
418 | 418 |
backend=self.backend, |
419 | 419 |
operstate="ACTIVE") |
420 |
subnet3 = mfactory.IPv4SubnetFactory(network__userid="test_user") |
|
421 |
bnet3 = mfactory.BackendNetworkFactory(network=subnet3.network, |
|
422 |
backend=self.backend, |
|
423 |
operstate="ACTIVE") |
|
424 |
subnet4 = mfactory.IPv4SubnetFactory(network__userid="test_user") |
|
425 |
bnet4 = mfactory.BackendNetworkFactory(network=subnet4.network, |
|
426 |
backend=self.backend, |
|
427 |
operstate="ACTIVE") |
|
428 | 420 |
# User requested private networks |
429 | 421 |
request = deepcopy(self.request) |
430 |
request["server"]["networks"] = [bnet3.network.id, bnet4.network.id]
|
|
422 |
request["server"]["networks"] = [bnet1.network.id, bnet2.network.id]
|
|
431 | 423 |
with override_settings(settings, |
432 | 424 |
DEFAULT_INSTANCE_NETWORKS=[ |
433 |
"SNF:ANY_PUBLIC", |
|
434 |
bnet1.network.id, |
|
435 |
bnet2.network.id]): |
|
425 |
"SNF:ANY_PUBLIC"]): |
|
436 | 426 |
with mocked_quotaholder(): |
437 | 427 |
response = self.mypost('servers', 'test_user', |
438 | 428 |
json.dumps(request), 'json') |
439 | 429 |
self.assertEqual(response.status_code, 202) |
440 | 430 |
name, args, kwargs = mrapi().CreateInstance.mock_calls[0] |
441 |
self.assertEqual(len(kwargs["nics"]), 5)
|
|
431 |
self.assertEqual(len(kwargs["nics"]), 3)
|
|
442 | 432 |
self.assertEqual(kwargs["nics"][0]["network"], |
443 | 433 |
self.network.backend_id) |
444 | 434 |
self.assertEqual(kwargs["nics"][1]["network"], |
445 | 435 |
bnet1.network.backend_id) |
446 | 436 |
self.assertEqual(kwargs["nics"][2]["network"], |
447 | 437 |
bnet2.network.backend_id) |
448 |
self.assertEqual(kwargs["nics"][3]["network"], |
|
449 |
bnet3.network.backend_id) |
|
450 |
self.assertEqual(kwargs["nics"][4]["network"], |
|
451 |
bnet4.network.backend_id) |
|
452 | 438 |
|
439 |
subnet3 = mfactory.IPv4SubnetFactory(network__public=True, |
|
440 |
network__floating_ip_pool=True) |
|
441 |
bnet3 = mfactory.BackendNetworkFactory(network=subnet3.network, |
|
442 |
backend=self.backend, |
|
443 |
operstate="ACTIVE") |
|
453 | 444 |
request["server"]["floating_ips"] = [] |
454 | 445 |
with override_settings(settings, |
455 |
DEFAULT_INSTANCE_NETWORKS=[bnet2.network.id]):
|
|
446 |
DEFAULT_INSTANCE_NETWORKS=[bnet3.network.id]):
|
|
456 | 447 |
with mocked_quotaholder(): |
457 | 448 |
response = self.mypost('servers', 'test_user', |
458 | 449 |
json.dumps(request), 'json') |
... | ... | |
460 | 451 |
name, args, kwargs = mrapi().CreateInstance.mock_calls[1] |
461 | 452 |
self.assertEqual(len(kwargs["nics"]), 3) |
462 | 453 |
self.assertEqual(kwargs["nics"][0]["network"], |
463 |
bnet2.network.backend_id) |
|
464 |
self.assertEqual(kwargs["nics"][1]["network"], |
|
465 | 454 |
bnet3.network.backend_id) |
455 |
self.assertEqual(kwargs["nics"][1]["network"], |
|
456 |
bnet1.network.backend_id) |
|
466 | 457 |
self.assertEqual(kwargs["nics"][2]["network"], |
467 |
bnet4.network.backend_id)
|
|
458 |
bnet2.network.backend_id)
|
|
468 | 459 |
|
469 | 460 |
# test invalid network in DEFAULT_INSTANCE_NETWORKS |
470 | 461 |
with override_settings(settings, DEFAULT_INSTANCE_NETWORKS=[42]): |
... | ... | |
480 | 471 |
response = self.mypost('servers', 'test_user', |
481 | 472 |
json.dumps(request), 'json') |
482 | 473 |
self.assertFault(response, 403, "forbidden") |
474 |
|
|
483 | 475 |
# test wrong user |
484 | 476 |
request = deepcopy(self.request) |
485 |
request["server"]["networks"] = [bnet3.network.id]
|
|
477 |
request["server"]["networks"] = [bnet1.network.id]
|
|
486 | 478 |
with override_settings(settings, |
487 | 479 |
DEFAULT_INSTANCE_NETWORKS=["SNF:ANY_PUBLIC"]): |
488 | 480 |
with mocked_quotaholder(): |
... | ... | |
492 | 484 |
|
493 | 485 |
# Test floating IPs |
494 | 486 |
request = deepcopy(self.request) |
495 |
request["server"]["networks"] = [bnet4.network.id]
|
|
487 |
request["server"]["networks"] = [bnet1.network.id]
|
|
496 | 488 |
fp1 = mfactory.FloatingIPFactory(address="10.0.0.2", |
497 | 489 |
userid="test_user", |
490 |
network=self.network, |
|
498 | 491 |
nic=None) |
499 | 492 |
fp2 = mfactory.FloatingIPFactory(address="10.0.0.3", |
500 | 493 |
userid="test_user", |
494 |
network=self.network, |
|
501 | 495 |
nic=None) |
502 | 496 |
request["server"]["floating_ips"] = [fp1.address, fp2.address] |
503 | 497 |
with override_settings(settings, |
... | ... | |
521 | 515 |
self.assertEqual(kwargs["nics"][2]["network"], fp2.network.backend_id) |
522 | 516 |
self.assertEqual(kwargs["nics"][2]["ip"], fp2.address) |
523 | 517 |
self.assertEqual(kwargs["nics"][3]["network"], |
524 |
bnet4.network.backend_id)
|
|
518 |
bnet1.network.backend_id)
|
|
525 | 519 |
|
526 | 520 |
def test_create_server_no_flavor(self, mrapi): |
527 | 521 |
request = deepcopy(self.request) |
Also available in: Unified diff