Maor Lipchuk has posted comments on this change.

Change subject: core: Add test for import unregistered VM
......................................................................


Patch Set 2:

(12 comments)

http://gerrit.ovirt.org/#/c/29795/2/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java
File 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVMFromConfigurationCommandTest.java:

Line 39: import org.ovirt.engine.core.utils.RandomUtilsSeedingRule;
Line 40: 
Line 41: @RunWith(MockitoJUnitRunner.class)
Line 42: public class ImportVMFromConfigurationCommandTest {
Line 43:     Guid vmId = Guid.newGuid();
> why not set these ad 'private final static'?
done
Line 44:     Guid storageDomainId = Guid.newGuid();
Line 45:     Guid storagePoolId = Guid.newGuid();
Line 46:     Guid clusterId = Guid.newGuid();
Line 47:     VDSGroup vdsGroup;


Line 43:     Guid vmId = Guid.newGuid();
Line 44:     Guid storageDomainId = Guid.newGuid();
Line 45:     Guid storagePoolId = Guid.newGuid();
Line 46:     Guid clusterId = Guid.newGuid();
Line 47:     VDSGroup vdsGroup;
> private?
done
Line 48: 
Line 49:     ImportVmFromConfigurationCommand<ImportVmParameters> cmd;
Line 50: 
Line 51:     @ClassRule


Line 66:     public void setUp() {
Line 67:         // init the injector with the osRepository instance
Line 68:         SimpleDependecyInjector.getInstance().bind(OsRepository.class, 
osRepository);
Line 69: 
Line 70:         final int osId = 0;
> why final? isn't the variable redundant any way?
removed it
Line 71: 
Line 72:         Map<Integer, Map<Version, List<DisplayType>>> displayTypeMap = 
new HashMap<>();
Line 73:         displayTypeMap.put(osId, new HashMap<Version, 
List<DisplayType>>());
Line 74:         displayTypeMap.get(osId).put(null, 
Arrays.asList(DisplayType.qxl));


Line 67:         // init the injector with the osRepository instance
Line 68:         SimpleDependecyInjector.getInstance().bind(OsRepository.class, 
osRepository);
Line 69: 
Line 70:         final int osId = 0;
Line 71: 
> blank line can be removed
removed
Line 72:         Map<Integer, Map<Version, List<DisplayType>>> displayTypeMap = 
new HashMap<>();
Line 73:         displayTypeMap.put(osId, new HashMap<Version, 
List<DisplayType>>());
Line 74:         displayTypeMap.get(osId).put(null, 
Arrays.asList(DisplayType.qxl));
Line 75:         
when(osRepository.getDisplayTypes()).thenReturn(displayTypeMap);


Line 75:         
when(osRepository.getDisplayTypes()).thenReturn(displayTypeMap);
Line 76:         setupTest();
Line 77:     }
Line 78: 
Line 79:     protected ImportVmParameters 
createParametersWhenImagesExistOnTargetStorageDomain() {
> this method should probably be near to 'initCommand'
done
Line 80:         ImportVmParameters params = new ImportVmParameters();
Line 81:         params.setContainerId(vmId);
Line 82:         params.setStorageDomainId(storageDomainId);
Line 83:         params.setVdsGroupId(clusterId);


Line 95:     }
Line 96: 
Line 97:     @Test
Line 98:     public void 
testImportVMFromConfigurationWhenStorageDomainIsInMaintenance()
Line 99:     {
> formatter
It is already fomatted
Line 100:         initCommand(getOvfEntityData());
Line 101:         StorageDomain storageDomain = createStorageDomain();
Line 102:         storageDomain.setStatus(StorageDomainStatus.Maintenance);
Line 103:         doReturn(storageDomain).when(cmd).getStorageDomain();


Line 104:         assertFalse(cmd.canDoAction());
Line 105:     }
Line 106: 
Line 107:     @Test
Line 108:     public void 
testImportVMFromConfigurationWhenStorageDomainIsInactive() {
> The only difference between this test and the above one is StorageDomainSta
I prefer not to, since it is only two methods and make another method might be 
more confusing then leave it as it is. It will also make the tests to be 
coupled, and changes will be much harder to implement that way
Line 109:         initCommand(getOvfEntityData());
Line 110:         StorageDomain storageDomain = createStorageDomain();
Line 111:         storageDomain.setStatus(StorageDomainStatus.Inactive);
Line 112:         doReturn(storageDomain).when(cmd).getStorageDomain();


Line 116:     @Test
Line 117:     public void testImportVMFromConfigurationWhenVMDoesNotExists() {
Line 118:         initCommand(null);
Line 119:         assertFalse(cmd.canDoAction());
Line 120:         Assert.assertTrue(cmd.getReturnValue()
> remove 'Assert.' (there's already a static import)
done
Line 121:                 .getCanDoActionMessages()
Line 122:                 
.contains(VdcBllMessages.ACTION_TYPE_FAILED_UNSUPPORTED_OVF.toString()));
Line 123:     }
Line 124: 


Line 128:         ovfEntity.setOvfData("This is not a valid XML");
Line 129:         initCommand(ovfEntity);
Line 130:         
when(unregisteredOVFDataDao.getByEntityIdAndStorageDomain(vmId, 
storageDomainId)).thenReturn(ovfEntity);
Line 131:         assertFalse(cmd.canDoAction());
Line 132:         Assert.assertTrue(cmd.getReturnValue()
> remove 'Assert.' (there's already a static import)
done
Line 133:                 .getCanDoActionMessages()
Line 134:                 
.contains(VdcBllMessages.ACTION_TYPE_FAILED_OVF_CONFIGURATION_NOT_SUPPORTED.toString()));
Line 135:     }
Line 136: 


Line 162:         ovfEntity.setOvfData(getVmOvfDataXmlString());
Line 163:         return ovfEntity;
Line 164:     }
Line 165: 
Line 166:     private void setVdsGroup() {
> rename to mockVdsGroup
done
Line 167:         vdsGroup = new VDSGroup();
Line 168:         vdsGroup.setId(clusterId);
Line 169:         vdsGroup.setStoragePoolId(storagePoolId);
Line 170:     }


Line 168:         vdsGroup.setId(clusterId);
Line 169:         vdsGroup.setStoragePoolId(storagePoolId);
Line 170:     }
Line 171: 
Line 172:     private String getVmOvfDataXmlString() {
> can we extract it to some helper (e.g. fixtures*)?
moving this to backend/manager/modules/bll/src/test/resources
Line 173:         return "<?xml version='1.0' encoding='UTF-8'?><ovf:Envelope 
xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1/\"; 
xmlns:rasd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\";
 
xmlns:vssd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData\";
 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; 
ovf:version=\"3.5.0.0\"><References><File 
ovf:href=\"1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d\"
 ovf:id=\"3bb151be-7503-4511-820d-68eb52409c1d\" ovf:size=\"1073741824\" 
ovf:description=\"Active VM\"/></References><Section 
xsi:type=\"ovf:NetworkSection_Type\"><Info>List of networks</Info><Network 
ovf:name=\"Network 1\"/></Section><Section 
xsi:type=\"ovf:DiskSection_Type\"><Info>List of Virtual Disks</Info><Disk 
ovf:diskId=\"3bb151be-7503-4511-820d-68eb52409c1d\" ovf:size=\"1\" 
ovf:actual_size=\"0\" 
ovf:vm_snapshot_id=\"e80cbc53-233d-4748-95bf-2499b34afda6\" ovf:parentRef!
 =\"\" 
ovf:fileRef=\"1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d\"
 ovf:format=\"http://www.vmware.com/specifications/vmdk.html#sparse\"; 
ovf:volume-format=\"RAW\" ovf:volume-type=\"Sparse\" 
ovf:disk-interface=\"VirtIO\" ovf:boot=\"true\" ovf:disk-alias=\"Test_Disk1\" 
ovf:wipe-after-delete=\"false\"/></Section><Content ovf:id=\"out\" 
xsi:type=\"ovf:VirtualSystem_Type\"><Description></Description><CreationDate>2014/07/09
 12:16:35</CreationDate><ExportDate>2014/07/09 
12:18:19</ExportDate><DeleteProtected>false</DeleteProtected><SsoMethod>guest_agent</SsoMethod><IsSmartcardEnabled>false</IsSmartcardEnabled><TimeZone>Etc/GMT</TimeZone><default_boot_sequence>0</default_boot_sequence><Generation>2</Generation><VmType>1</VmType><MinAllocatedMem>1024</MinAllocatedMem><IsStateless>false</IsStateless><IsRunAndPause>false</IsRunAndPause><AutoStartup>false</AutoStartup><Priority>1</Priority><CreatedByUserId>fdfc627c-d875-11e0-90f0-83df133b58cc</CreatedByUserI!
 
d><IsBootMenuEnabled>false</IsBootMenuEnabled><IsSpiceFileTransferEnabled>true</IsSpiceFileTransferEnabled><IsSpiceCopyPasteEnabled>true</IsSpiceCopyPasteEnabled><Name>Test</Name><TemplateId>00000000-0000-0000-0000-000000000000</TemplateId><TemplateName>Blank</TemplateName><IsInitilized>false</IsInitilized><Origin>3</Origin><DefaultDisplayType>1</DefaultDisplayType><TrustedService>false</TrustedService><OriginalTemplateId>00000000-0000-0000-0000-000000000000</OriginalTemplateId><OriginalTemplateName>Blank</OriginalTemplateName><UseLatestVersion>false</UseLatestVersion><Section
 ovf:id=\"2d3f2c0d-efe8-4428-aea7-16cc648dfef3\" ovf:required=\"false\" 
xsi:type=\"ovf:OperatingSystemSection_Type\"><Info>Guest Operating 
System</Info><Description>other</Description></Section><Section 
xsi:type=\"ovf:VirtualHardwareSection_Type\"><Info>1 CPU, 1024 
Memeory</Info><System><vssd:VirtualSystemType>ENGINE 
3.5.0.0</vssd:VirtualSystemType></System><Item><rasd:Caption>1 virtual 
cpu</rasd:Captio
 n><rasd:Description>Number of virtual CPU</rasd:Description><rasd:Inst!
 
anceId>1</rasd:InstanceId><rasd:ResourceType>3</rasd:ResourceType><rasd:num_of_sockets>1</rasd:num_of_sockets><rasd:cpu_per_socket>1</rasd:cpu_per_socket></Item><Item><rasd:Caption>1024
 MB of memory</rasd:Caption><rasd:Description>Memory 
Size</rasd:Description><rasd:InstanceId>2</rasd:InstanceId><rasd:ResourceType>4</rasd:ResourceType><rasd:AllocationUnits>MegaBytes</rasd:AllocationUnits><rasd:VirtualQuantity>1024</rasd:VirtualQuantity></Item><Item><rasd:Caption>Test_Disk1</rasd:Caption><rasd:InstanceId>3bb151be-7503-4511-820d-68eb52409c1d</rasd:InstanceId><rasd:ResourceType>17</rasd:ResourceType><rasd:HostResource>1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d</rasd:HostResource><rasd:Parent>00000000-0000-0000-0000-000000000000</rasd:Parent><rasd:Template>00000000-0000-0000-0000-000000000000</rasd:Template><rasd:ApplicationList></rasd:ApplicationList><rasd:StorageId>3bf14d11-db1d-461b-b2c4-66499e243f38</rasd:StorageId><rasd:StoragePoolId>64c894a2!
 -05c6-4bb8-bb2d-2672224becae</rasd:StoragePoolId><rasd:CreationDate>2014/07/09 
12:16:47</rasd:CreationDate><rasd:LastModified>1970/01/01 
00:00:00</rasd:LastModified><rasd:last_modified_date>2014/07/09 
12:18:19</rasd:last_modified_date></Item><Item><rasd:Caption>USB 
Controller</rasd:Caption><rasd:InstanceId>3</rasd:InstanceId><rasd:ResourceType>23</rasd:ResourceType><rasd:UsbPolicy>DISABLED</rasd:UsbPolicy></Item></Section><Section
 xsi:type=\"ovf:SnapshotsSection_Type\"><Snapshot 
ovf:id=\"e80cbc53-233d-4748-95bf-2499b34afda6\"><Type>ACTIVE</Type><Description>Active
 VM</Description><CreationDate>2014/07/09 
12:16:35</CreationDate></Snapshot></Section></Content></ovf:Envelope>";
Line 174:     }
Line 175: 
Line 176:     private void setupTest() {


Line 172:     private String getVmOvfDataXmlString() {
Line 173:         return "<?xml version='1.0' encoding='UTF-8'?><ovf:Envelope 
xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1/\"; 
xmlns:rasd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\";
 
xmlns:vssd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData\";
 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; 
ovf:version=\"3.5.0.0\"><References><File 
ovf:href=\"1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d\"
 ovf:id=\"3bb151be-7503-4511-820d-68eb52409c1d\" ovf:size=\"1073741824\" 
ovf:description=\"Active VM\"/></References><Section 
xsi:type=\"ovf:NetworkSection_Type\"><Info>List of networks</Info><Network 
ovf:name=\"Network 1\"/></Section><Section 
xsi:type=\"ovf:DiskSection_Type\"><Info>List of Virtual Disks</Info><Disk 
ovf:diskId=\"3bb151be-7503-4511-820d-68eb52409c1d\" ovf:size=\"1\" 
ovf:actual_size=\"0\" 
ovf:vm_snapshot_id=\"e80cbc53-233d-4748-95bf-2499b34afda6\" ovf:parentRef!
 =\"\" 
ovf:fileRef=\"1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d\"
 ovf:format=\"http://www.vmware.com/specifications/vmdk.html#sparse\"; 
ovf:volume-format=\"RAW\" ovf:volume-type=\"Sparse\" 
ovf:disk-interface=\"VirtIO\" ovf:boot=\"true\" ovf:disk-alias=\"Test_Disk1\" 
ovf:wipe-after-delete=\"false\"/></Section><Content ovf:id=\"out\" 
xsi:type=\"ovf:VirtualSystem_Type\"><Description></Description><CreationDate>2014/07/09
 12:16:35</CreationDate><ExportDate>2014/07/09 
12:18:19</ExportDate><DeleteProtected>false</DeleteProtected><SsoMethod>guest_agent</SsoMethod><IsSmartcardEnabled>false</IsSmartcardEnabled><TimeZone>Etc/GMT</TimeZone><default_boot_sequence>0</default_boot_sequence><Generation>2</Generation><VmType>1</VmType><MinAllocatedMem>1024</MinAllocatedMem><IsStateless>false</IsStateless><IsRunAndPause>false</IsRunAndPause><AutoStartup>false</AutoStartup><Priority>1</Priority><CreatedByUserId>fdfc627c-d875-11e0-90f0-83df133b58cc</CreatedByUserI!
 
d><IsBootMenuEnabled>false</IsBootMenuEnabled><IsSpiceFileTransferEnabled>true</IsSpiceFileTransferEnabled><IsSpiceCopyPasteEnabled>true</IsSpiceCopyPasteEnabled><Name>Test</Name><TemplateId>00000000-0000-0000-0000-000000000000</TemplateId><TemplateName>Blank</TemplateName><IsInitilized>false</IsInitilized><Origin>3</Origin><DefaultDisplayType>1</DefaultDisplayType><TrustedService>false</TrustedService><OriginalTemplateId>00000000-0000-0000-0000-000000000000</OriginalTemplateId><OriginalTemplateName>Blank</OriginalTemplateName><UseLatestVersion>false</UseLatestVersion><Section
 ovf:id=\"2d3f2c0d-efe8-4428-aea7-16cc648dfef3\" ovf:required=\"false\" 
xsi:type=\"ovf:OperatingSystemSection_Type\"><Info>Guest Operating 
System</Info><Description>other</Description></Section><Section 
xsi:type=\"ovf:VirtualHardwareSection_Type\"><Info>1 CPU, 1024 
Memeory</Info><System><vssd:VirtualSystemType>ENGINE 
3.5.0.0</vssd:VirtualSystemType></System><Item><rasd:Caption>1 virtual 
cpu</rasd:Captio
 n><rasd:Description>Number of virtual CPU</rasd:Description><rasd:Inst!
 
anceId>1</rasd:InstanceId><rasd:ResourceType>3</rasd:ResourceType><rasd:num_of_sockets>1</rasd:num_of_sockets><rasd:cpu_per_socket>1</rasd:cpu_per_socket></Item><Item><rasd:Caption>1024
 MB of memory</rasd:Caption><rasd:Description>Memory 
Size</rasd:Description><rasd:InstanceId>2</rasd:InstanceId><rasd:ResourceType>4</rasd:ResourceType><rasd:AllocationUnits>MegaBytes</rasd:AllocationUnits><rasd:VirtualQuantity>1024</rasd:VirtualQuantity></Item><Item><rasd:Caption>Test_Disk1</rasd:Caption><rasd:InstanceId>3bb151be-7503-4511-820d-68eb52409c1d</rasd:InstanceId><rasd:ResourceType>17</rasd:ResourceType><rasd:HostResource>1107554f-ce13-44c0-bcf5-8a6f8837bc6c/3bb151be-7503-4511-820d-68eb52409c1d</rasd:HostResource><rasd:Parent>00000000-0000-0000-0000-000000000000</rasd:Parent><rasd:Template>00000000-0000-0000-0000-000000000000</rasd:Template><rasd:ApplicationList></rasd:ApplicationList><rasd:StorageId>3bf14d11-db1d-461b-b2c4-66499e243f38</rasd:StorageId><rasd:StoragePoolId>64c894a2!
 -05c6-4bb8-bb2d-2672224becae</rasd:StoragePoolId><rasd:CreationDate>2014/07/09 
12:16:47</rasd:CreationDate><rasd:LastModified>1970/01/01 
00:00:00</rasd:LastModified><rasd:last_modified_date>2014/07/09 
12:18:19</rasd:last_modified_date></Item><Item><rasd:Caption>USB 
Controller</rasd:Caption><rasd:InstanceId>3</rasd:InstanceId><rasd:ResourceType>23</rasd:ResourceType><rasd:UsbPolicy>DISABLED</rasd:UsbPolicy></Item></Section><Section
 xsi:type=\"ovf:SnapshotsSection_Type\"><Snapshot 
ovf:id=\"e80cbc53-233d-4748-95bf-2499b34afda6\"><Type>ACTIVE</Type><Description>Active
 VM</Description><CreationDate>2014/07/09 
12:16:35</CreationDate></Snapshot></Section></Content></ovf:Envelope>";
Line 174:     }
Line 175: 
Line 176:     private void setupTest() {
> I think we can remove this method for now and revisit if extraction is need
done
Line 177:         setVdsGroup();
Line 178:     }
Line 179: 
Line 180:     protected StorageDomain createStorageDomain() {


-- 
To view, visit http://gerrit.ovirt.org/29795
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie6f68a66da4de6b9dbfb664d3678b25582a82496
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Maor Lipchuk <[email protected]>
Gerrit-Reviewer: Daniel Erez <[email protected]>
Gerrit-Reviewer: Maor Lipchuk <[email protected]>
Gerrit-Reviewer: [email protected]
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to