4343import java .util .Arrays ;
4444import java .util .Collections ;
4545import java .util .List ;
46+ import java .util .Map ;
4647
4748import org .apache .cloudstack .annotation .dao .AnnotationDao ;
49+ import org .apache .cloudstack .affinity .dao .AffinityGroupVMMapDao ;
4850import org .apache .cloudstack .api .ApiConstants ;
4951import org .apache .cloudstack .api .BaseCmd ;
5052import org .apache .cloudstack .api .command .admin .config .ListCfgsByCmd ;
5961import org .apache .cloudstack .api .command .user .userdata .RegisterUserDataCmd ;
6062import org .apache .cloudstack .config .Configuration ;
6163import org .apache .cloudstack .context .CallContext ;
64+ import org .apache .cloudstack .engine .subsystem .api .storage .DataStoreManager ;
6265import org .apache .cloudstack .engine .subsystem .api .storage .PrimaryDataStore ;
6366import org .apache .cloudstack .engine .subsystem .api .storage .PrimaryDataStoreDriver ;
6467import org .apache .cloudstack .framework .config .ConfigDepot ;
6972import org .apache .cloudstack .userdata .UserDataManager ;
7073
7174import com .cloud .cpu .CPU ;
75+ import com .cloud .dc .DataCenterVO ;
7276import com .cloud .dc .Vlan .VlanType ;
77+ import com .cloud .dc .dao .DataCenterDao ;
78+ import com .cloud .deploy .DataCenterDeployment ;
79+ import com .cloud .deploy .DeploymentPlanningManager ;
7380import com .cloud .domain .dao .DomainDao ;
7481import com .cloud .api .ApiDBUtils ;
7582import com .cloud .exception .InvalidParameterValueException ;
83+ import com .cloud .exception .PermissionDeniedException ;
84+ import com .cloud .gpu .GPU ;
85+ import com .cloud .gpu .VgpuProfileVO ;
86+ import com .cloud .gpu .dao .VgpuProfileDao ;
7687import com .cloud .host .DetailVO ;
7788import com .cloud .host .Host ;
89+ import com .cloud .host .Host .Type ;
7890import com .cloud .host .HostVO ;
91+ import com .cloud .host .dao .HostDao ;
7992import com .cloud .host .dao .HostDetailsDao ;
93+ import com .cloud .hypervisor .Hypervisor .HypervisorType ;
94+ import com .cloud .hypervisor .dao .HypervisorCapabilitiesDao ;
95+ import com .cloud .hypervisor .kvm .dpdk .DpdkHelper ;
8096import com .cloud .network .IpAddress ;
8197import com .cloud .network .IpAddressManagerImpl ;
8298import com .cloud .network .dao .IPAddressVO ;
99+ import com .cloud .service .ServiceOfferingVO ;
100+ import com .cloud .service .dao .ServiceOfferingDao ;
101+ import com .cloud .service .dao .ServiceOfferingDetailsDao ;
102+ import com .cloud .storage .DiskOfferingVO ;
83103import com .cloud .storage .GuestOSCategoryVO ;
84104import com .cloud .storage .GuestOSVO ;
85105import com .cloud .storage .GuestOsCategory ;
86106import com .cloud .storage .VMTemplateVO ;
107+ import com .cloud .storage .Volume ;
108+ import com .cloud .storage .VolumeVO ;
109+ import com .cloud .storage .dao .DiskOfferingDao ;
87110import com .cloud .storage .dao .GuestOSCategoryDao ;
88111import com .cloud .storage .dao .GuestOSDao ;
89112import com .cloud .storage .dao .VMTemplateDao ;
113+ import com .cloud .storage .dao .VolumeDao ;
90114import com .cloud .user .Account ;
91115import com .cloud .user .AccountManager ;
92116import com .cloud .user .SSHKeyPair ;
97121import com .cloud .user .dao .SSHKeyPairDao ;
98122import com .cloud .user .dao .UserDataDao ;
99123import com .cloud .utils .Pair ;
124+ import com .cloud .utils .Ternary ;
100125import com .cloud .utils .db .Filter ;
101126import com .cloud .utils .db .SearchBuilder ;
102127import com .cloud .utils .db .SearchCriteria ;
103128import com .cloud .utils .exception .CloudRuntimeException ;
104129import com .cloud .vm .UserVmVO ;
105130import com .cloud .vm .VMInstanceDetailVO ;
131+ import com .cloud .vm .VMInstanceVO ;
106132import com .cloud .vm .VirtualMachine ;
133+ import com .cloud .vm .VirtualMachine .State ;
107134import com .cloud .vm .dao .UserVmDao ;
135+ import com .cloud .vm .dao .VMInstanceDao ;
108136import com .cloud .vm .dao .VMInstanceDetailsDao ;
109137import com .cloud .agent .manager .allocator .HostAllocator ;
110138
@@ -156,6 +184,42 @@ public class ManagementServerImplTest {
156184 @ Mock
157185 HostDetailsDao hostDetailsDao ;
158186
187+ @ Mock
188+ VMInstanceDao vmInstanceDao ;
189+
190+ @ Mock
191+ HostDao hostDao ;
192+
193+ @ Mock
194+ ServiceOfferingDetailsDao serviceOfferingDetailsDao ;
195+
196+ @ Mock
197+ VolumeDao volumeDao ;
198+
199+ @ Mock
200+ ServiceOfferingDao offeringDao ;
201+
202+ @ Mock
203+ DiskOfferingDao diskOfferingDao ;
204+
205+ @ Mock
206+ HypervisorCapabilitiesDao hypervisorCapabilitiesDao ;
207+
208+ @ Mock
209+ DataStoreManager dataStoreManager ;
210+
211+ @ Mock
212+ DpdkHelper dpdkHelper ;
213+
214+ @ Mock
215+ AffinityGroupVMMapDao affinityGroupVMMapDao ;
216+
217+ @ Mock
218+ DeploymentPlanningManager dpMgr ;
219+
220+ @ Mock
221+ DataCenterDao dcDao ;
222+
159223 @ Mock
160224 ConfigurationDao configDao ;
161225
@@ -181,6 +245,12 @@ public class ManagementServerImplTest {
181245 @ Mock
182246 HostAllocator hostAllocator ;
183247
248+ @ Mock
249+ VgpuProfileDao vgpuProfileDao ;
250+
251+ @ Mock
252+ VgpuProfileVO vgpuProfileVO ;
253+
184254 private AutoCloseable closeable ;
185255 private MockedStatic <ApiDBUtils > apiDBUtilsMock ;
186256
@@ -203,6 +273,9 @@ public void setup() throws IllegalAccessException, NoSuchFieldException {
203273 // Return empty list to avoid architecture filtering in most tests
204274 apiDBUtilsMock .when (() -> ApiDBUtils .listZoneClustersArchs (Mockito .anyLong ()))
205275 .thenReturn (new ArrayList <>());
276+
277+ when (vgpuProfileDao .findById (any ())).thenReturn (vgpuProfileVO );
278+ when (vgpuProfileVO .getName ()).thenReturn ("test-vgpu-profile" );
206279 }
207280
208281 @ After
@@ -1067,7 +1140,7 @@ public void testListHostsForMigrationOfVMNonRootAdmin() {
10671140 mockRunningVM (1L , HypervisorType .KVM );
10681141 Account caller = Mockito .mock (Account .class );
10691142 Mockito .doReturn (caller ).when (spy ).getCaller ();
1070- Mockito .when (_accountMgr .isRootAdmin (caller .getId ())).thenReturn (false );
1143+ Mockito .when (accountManager .isRootAdmin (caller .getId ())).thenReturn (false );
10711144
10721145 spy .listHostsForMigrationOfVM (1L , 0L , 20L , null );
10731146 }
@@ -1127,7 +1200,7 @@ public void testListHostsForMigrationOfVMGpuEnabled() {
11271200 Mockito .when (serviceOfferingDetailsDao .findDetail (vm .getServiceOfferingId (), GPU .Keys .pciDevice .toString ()))
11281201 .thenReturn (Mockito .mock (com .cloud .service .ServiceOfferingDetailsVO .class ));
11291202
1130- Ternary <Pair <List <? extends Host >, Integer >, List <? extends Host >, java . util . Map <Host , Boolean >> result =
1203+ Ternary <Pair <List <? extends Host >, Integer >, List <? extends Host >, Map <Host , Boolean >> result =
11311204 spy .listHostsForMigrationOfVM (1L , 0L , 20L , null );
11321205
11331206 Assert .assertNotNull (result );
@@ -2327,7 +2400,7 @@ private VMInstanceVO mockVM(Long id, HypervisorType hypervisorType, State state)
23272400 private Account mockRootAdminAccount () {
23282401 Account account = Mockito .mock (Account .class );
23292402 Mockito .when (account .getId ()).thenReturn (1L );
2330- Mockito .when (_accountMgr .isRootAdmin (1L )).thenReturn (true );
2403+ Mockito .when (accountManager .isRootAdmin (1L )).thenReturn (true );
23312404 return account ;
23322405 }
23332406
0 commit comments