@@ -1355,32 +1355,87 @@ def test_get_vm_device_type_not_nic(self, create_module, rest_client):
13551355class TestVMClone :
13561356 def test_create_clone_vm_payload_without_cloud_init (self ):
13571357 results = VM .create_clone_vm_payload (
1358- "clone_name" , ["bla" , "bla1" ], ["oroginal_tag" , "original_tag2" ], None
1358+ "clone_name" ,
1359+ ["bla" , "bla1" ],
1360+ ["original_tag" , "original_tag2" ],
1361+ None ,
1362+ preserve_mac_address = False ,
1363+ source_nics = [],
13591364 )
13601365 assert results == {
13611366 "template" : {
13621367 "name" : "clone_name" ,
1363- "tags" : "oroginal_tag ,original_tag2,bla,bla1" ,
1368+ "tags" : "original_tag ,original_tag2,bla,bla1" ,
13641369 }
13651370 }
13661371
13671372 def test_create_clone_vm_payload_with_cloud_init (self ):
13681373 results = VM .create_clone_vm_payload (
13691374 "clone_name" ,
13701375 ["bla" , "bla1" ],
1371- ["oroginal_tag " , "original_tag2" ],
1376+ ["original_tag " , "original_tag2" ],
13721377 {"userData" : "something" , "metaData" : "else" },
1378+ preserve_mac_address = False ,
1379+ source_nics = [],
13731380 )
13741381 assert results == {
13751382 "template" : {
13761383 "name" : "clone_name" ,
1377- "tags" : "oroginal_tag ,original_tag2,bla,bla1" ,
1384+ "tags" : "original_tag ,original_tag2,bla,bla1" ,
13781385 "cloudInitData" : {"userData" : "something" , "metaData" : "else" },
13791386 }
13801387 }
13811388
1389+ def test_create_clone_vm_payload_with__preserve_mac_address__0_nics (self ):
1390+ results = VM .create_clone_vm_payload (
1391+ "clone_name" ,
1392+ ["bla" , "bla1" ],
1393+ ["original_tag" , "original_tag2" ],
1394+ {"userData" : "something" , "metaData" : "else" },
1395+ preserve_mac_address = True ,
1396+ source_nics = [],
1397+ )
1398+ assert results == {
1399+ "template" : {
1400+ "name" : "clone_name" ,
1401+ "tags" : "original_tag,original_tag2,bla,bla1" ,
1402+ "cloudInitData" : {"userData" : "something" , "metaData" : "else" },
1403+ "netDevs" : [],
1404+ }
1405+ }
1406+
1407+ def test_create_clone_vm_payload_with__preserve_mac_address__1_nics (self ):
1408+ results = VM .create_clone_vm_payload (
1409+ "clone_name" ,
1410+ ["bla" , "bla1" ],
1411+ ["original_tag" , "original_tag2" ],
1412+ {"userData" : "something" , "metaData" : "else" },
1413+ preserve_mac_address = True ,
1414+ source_nics = [
1415+ Nic .from_ansible (dict (type = "virtio" , mac = "11:00:00:00:00:10" , vlan = 10 ))
1416+ ],
1417+ )
1418+ assert results == {
1419+ "template" : {
1420+ "name" : "clone_name" ,
1421+ "tags" : "original_tag,original_tag2,bla,bla1" ,
1422+ "cloudInitData" : {"userData" : "something" , "metaData" : "else" },
1423+ "netDevs" : [
1424+ {
1425+ "type" : "VIRTIO" ,
1426+ "macAddress" : "11:00:00:00:00:10" ,
1427+ "vlan" : 10 ,
1428+ },
1429+ ],
1430+ }
1431+ }
1432+
13821433 def test_clone_vm (self , rest_client , mocker ):
1383- ansible_dict = {"vm_name" : "XLAB-test-vm-clone" , "tags" : None }
1434+ ansible_dict = {
1435+ "vm_name" : "XLAB-test-vm-clone" ,
1436+ "tags" : None ,
1437+ "preserve_mac_address" : False ,
1438+ }
13841439 vm_dict = {
13851440 "uuid" : "7542f2gg-5f9a-51ff-8a91-8ceahgf47ghg" ,
13861441 "nodeUUID" : "" ,
0 commit comments