|
48 | 48 | import com.vmware.vim25.FileInfo; |
49 | 49 | import com.vmware.vim25.HostDatastoreBrowserSearchResults; |
50 | 50 | import com.vmware.vim25.HostDatastoreBrowserSearchSpec; |
| 51 | +import com.vmware.vim25.VirtualTPM; |
| 52 | +import org.apache.cloudstack.api.ApiConstants; |
51 | 53 | import org.apache.cloudstack.storage.command.CopyCommand; |
52 | 54 | import org.apache.cloudstack.storage.command.browser.ListDataStoreObjectsAnswer; |
53 | 55 | import org.apache.cloudstack.storage.command.browser.ListDataStoreObjectsCommand; |
@@ -842,4 +844,37 @@ public void testExecuteWithEmptyPath() throws Exception { |
842 | 844 | assertEquals(Collections.singletonList(1L), answer.getSizes()); |
843 | 845 | assertEquals(Collections.singletonList(date.getTime()), answer.getLastModified()); |
844 | 846 | } |
| 847 | + |
| 848 | + @Test |
| 849 | + public void testAddVirtualTPMDevice() throws Exception { |
| 850 | + VirtualMachineMO vmMo = Mockito.mock(VirtualMachineMO.class); |
| 851 | + VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class); |
| 852 | + VirtualMachineConfigSpec vmConfigSpec = Mockito.mock(VirtualMachineConfigSpec.class); |
| 853 | + Map<String, String> details = new HashMap<>(); |
| 854 | + details.put(ApiConstants.BootType.UEFI.toString(), "SECURE"); |
| 855 | + details.put(VmDetailConstants.VIRTUAL_TPM_ENABLED, "true"); |
| 856 | + when(vmSpec.getDetails()).thenReturn(details); |
| 857 | + when(vmMo.getAllDeviceList()).thenReturn(new ArrayList<>()); |
| 858 | + Mockito.doNothing().when(vmwareResource).addVirtualTPMDevice(vmConfigSpec); |
| 859 | + |
| 860 | + vmwareResource.configureVirtualTPM(vmMo, vmSpec, vmConfigSpec, "uefi"); |
| 861 | + Mockito.verify(vmwareResource, Mockito.times(1)).addVirtualTPMDevice(vmConfigSpec); |
| 862 | + } |
| 863 | + |
| 864 | + @Test |
| 865 | + public void testRemoveVirtualTPMDevice() throws Exception { |
| 866 | + VirtualMachineMO vmMo = Mockito.mock(VirtualMachineMO.class); |
| 867 | + VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class); |
| 868 | + VirtualMachineConfigSpec vmConfigSpec = Mockito.mock(VirtualMachineConfigSpec.class); |
| 869 | + Map<String, String> details = new HashMap<>(); |
| 870 | + details.put(ApiConstants.BootType.UEFI.toString(), "SECURE"); |
| 871 | + details.put(VmDetailConstants.VIRTUAL_TPM_ENABLED, "false"); |
| 872 | + when(vmSpec.getDetails()).thenReturn(details); |
| 873 | + VirtualTPM tpm = new VirtualTPM(); |
| 874 | + when(vmMo.getAllDeviceList()).thenReturn(List.of(tpm)); |
| 875 | + Mockito.doNothing().when(vmwareResource).addVirtualTPMDevice(vmConfigSpec); |
| 876 | + |
| 877 | + vmwareResource.configureVirtualTPM(vmMo, vmSpec, vmConfigSpec, "uefi"); |
| 878 | + Mockito.verify(vmwareResource, Mockito.times(1)).removeVirtualTPMDevice(vmConfigSpec, tpm); |
| 879 | + } |
845 | 880 | } |
0 commit comments