Skip to content

Commit 65b5f0c

Browse files
committed
fix tests
1 parent 8cd4e08 commit 65b5f0c

File tree

2 files changed

+36
-37
lines changed

2 files changed

+36
-37
lines changed

engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,17 +1247,17 @@ protected Integer getVirtualMachineMaxNicsValueFromCluster(ClusterVO cluster) {
12471247

12481248
if (clusterHypervisor.equals(HypervisorType.KVM)) {
12491249
logger.debug("The cluster {} where the VM is deployed uses the {} hypervisor. Therefore, the {} setting value [{}] will be used.", cluster.getName(), clusterHypervisor, VirtualMachineMaxNicsKvm, VirtualMachineMaxNicsKvm.valueIn(cluster.getId()));
1250-
return VirtualMachineMaxNicsKvm.valueIn(cluster.getId());
1250+
return getVirtualMachineMaxNicsKvm(cluster.getId());
12511251
}
12521252

12531253
if (clusterHypervisor.equals(HypervisorType.VMware)) {
12541254
logger.debug("The cluster {} where the VM is deployed uses the {} hypervisor. Therefore, the {} setting value [{}] will be used.", cluster.getName(), clusterHypervisor, VirtualMachineMaxNicsKvm, VirtualMachineMaxNicsVmware.valueIn(cluster.getId()));
1255-
return VirtualMachineMaxNicsVmware.valueIn(cluster.getId());
1255+
return getVirtualMachineMaxNicsVmware(cluster.getId());
12561256
}
12571257

12581258
if (clusterHypervisor.equals(HypervisorType.XenServer)) {
12591259
logger.debug("The cluster {} where the VM is deployed uses the {} hypervisor. Therefore, the {} setting value [{}] will be used.", cluster.getName(), clusterHypervisor, VirtualMachineMaxNicsXenserver, VirtualMachineMaxNicsXenserver.valueIn(cluster.getId()));
1260-
return VirtualMachineMaxNicsXenserver.valueIn(cluster.getId());
1260+
return getVirtualMachineMaxNicsXenserver(cluster.getId());
12611261
}
12621262

12631263
return null;
@@ -1274,23 +1274,47 @@ protected Integer getVirtualMachineMaxNicsValueFromVmHypervisorType(VirtualMachi
12741274

12751275
if (virtualMachineHypervisorType.equals(HypervisorType.KVM)) {
12761276
logger.debug("Using the {} setting global value {} as the VM {} has the {} hypervisor type and is not deployed on either a host or a cluster.", VirtualMachineMaxNicsKvm, VirtualMachineMaxNicsKvm.value(), virtualMachine.getUuid(), virtualMachineHypervisorType);
1277-
return VirtualMachineMaxNicsKvm.value();
1277+
return getVirtualMachineMaxNicsKvm(null);
12781278
}
12791279

12801280
if (virtualMachineHypervisorType.equals(HypervisorType.VMware)) {
12811281
logger.debug("Using the {} setting global value {} as the VM {} has the {} hypervisor type and is not deployed on either a host or a cluster.", VirtualMachineMaxNicsVmware, VirtualMachineMaxNicsVmware.value(), virtualMachine.getUuid(), virtualMachineHypervisorType);
1282-
return VirtualMachineMaxNicsVmware.value();
1282+
return getVirtualMachineMaxNicsVmware(null);
12831283
}
12841284

12851285
if (virtualMachineHypervisorType.equals(HypervisorType.XenServer)) {
12861286
logger.debug("Using the {} setting global value {} as the VM {} has the {} hypervisor type and is not deployed on either a host or a cluster.", VirtualMachineMaxNicsXenserver, VirtualMachineMaxNicsXenserver.value(), virtualMachine.getUuid(), virtualMachineHypervisorType);
1287-
return VirtualMachineMaxNicsXenserver.value();
1287+
return getVirtualMachineMaxNicsXenserver(null);
12881288
}
12891289

12901290
logger.debug("Not considering the hypervisor maximum limits as we were unable to find a compatible hypervisor on the VM and VM cluster for virtual machine maximum NICs configurations.");
12911291
return null;
12921292
}
12931293

1294+
protected Integer getVirtualMachineMaxNicsKvm(Long clusterId) {
1295+
if (clusterId != null) {
1296+
VirtualMachineMaxNicsKvm.valueIn(clusterId);
1297+
}
1298+
1299+
return VirtualMachineMaxNicsKvm.value();
1300+
}
1301+
1302+
protected Integer getVirtualMachineMaxNicsVmware(Long clusterId) {
1303+
if (clusterId != null) {
1304+
VirtualMachineMaxNicsVmware.valueIn(clusterId);
1305+
}
1306+
1307+
return VirtualMachineMaxNicsVmware.value();
1308+
}
1309+
1310+
protected Integer getVirtualMachineMaxNicsXenserver(Long clusterId) {
1311+
if (clusterId != null) {
1312+
VirtualMachineMaxNicsXenserver.valueIn(clusterId);
1313+
}
1314+
1315+
return VirtualMachineMaxNicsXenserver.value();
1316+
}
1317+
12941318
private void setMtuDetailsInVRNic(final Pair<NetworkVO, VpcVO> networks, Network network, NicVO vo) {
12951319
if (TrafficType.Public == network.getTrafficType()) {
12961320
if (networks == null) {

engine/orchestration/src/test/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestratorTest.java

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
import static org.mockito.Mockito.verify;
2525
import static org.mockito.Mockito.when;
2626

27-
import java.lang.reflect.Field;
28-
import java.lang.reflect.Modifier;
2927
import java.net.URI;
3028
import java.util.ArrayList;
3129
import java.util.Arrays;
@@ -41,7 +39,6 @@
4139
import com.cloud.host.dao.HostDao;
4240
import com.cloud.network.IpAddressManager;
4341
import com.cloud.utils.Pair;
44-
import org.apache.cloudstack.framework.config.ConfigKey;
4542
import org.junit.Assert;
4643
import org.junit.Before;
4744
import org.junit.Test;
@@ -1087,11 +1084,9 @@ public void getVirtualMachineMaxNicsValueFromClusterTestClusterDoesNotExistRetur
10871084
@Test
10881085
public void getVirtualMachineMaxNicsValueFromClusterTestKvmClusterReturnsVirtualMachineMaxNicsKvmClusterValue() throws NoSuchFieldException, IllegalAccessException {
10891086
ClusterVO clusterVoMock = Mockito.mock(ClusterVO.class);
1090-
ConfigKey virtualMachineMaxNicsKvmMock = Mockito.mock(ConfigKey.class);
10911087
Mockito.doReturn(1L).when(clusterVoMock).getId();
10921088
Mockito.doReturn(Hypervisor.HypervisorType.KVM).when(clusterVoMock).getHypervisorType();
1093-
Mockito.doReturn(33).when(virtualMachineMaxNicsKvmMock).valueIn(1L);
1094-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsKvm"), virtualMachineMaxNicsKvmMock);
1089+
Mockito.doReturn(33).when(testOrchestrator).getVirtualMachineMaxNicsKvm(1L);
10951090

10961091
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromCluster(clusterVoMock);
10971092

@@ -1101,11 +1096,9 @@ public void getVirtualMachineMaxNicsValueFromClusterTestKvmClusterReturnsVirtual
11011096
@Test
11021097
public void getVirtualMachineMaxNicsValueFromClusterTestVmwareClusterReturnsVirtualMachineMaxNicsVmwareClusterValue() throws NoSuchFieldException, IllegalAccessException {
11031098
ClusterVO clusterVoMock = Mockito.mock(ClusterVO.class);
1104-
ConfigKey virtualMachineMaxNicsVmwareMock = Mockito.mock(ConfigKey.class);
11051099
Mockito.doReturn(1L).when(clusterVoMock).getId();
11061100
Mockito.doReturn(Hypervisor.HypervisorType.VMware).when(clusterVoMock).getHypervisorType();
1107-
Mockito.doReturn(22).when(virtualMachineMaxNicsVmwareMock).valueIn(1L);
1108-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsVmware"), virtualMachineMaxNicsVmwareMock);
1101+
Mockito.doReturn(22).when(testOrchestrator).getVirtualMachineMaxNicsVmware(1L);
11091102

11101103
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromCluster(clusterVoMock);
11111104

@@ -1115,11 +1108,9 @@ public void getVirtualMachineMaxNicsValueFromClusterTestVmwareClusterReturnsVirt
11151108
@Test
11161109
public void getVirtualMachineMaxNicsValueFromClusterTestXenserverClusterReturnsVirtualMachineMaxNicsXenserverClusterValue() throws NoSuchFieldException, IllegalAccessException {
11171110
ClusterVO clusterVoMock = Mockito.mock(ClusterVO.class);
1118-
ConfigKey virtualMachineMaxNicsXenserverMock = Mockito.mock(ConfigKey.class);
11191111
Mockito.doReturn(1L).when(clusterVoMock).getId();
11201112
Mockito.doReturn(Hypervisor.HypervisorType.XenServer).when(clusterVoMock).getHypervisorType();
1121-
Mockito.doReturn(11).when(virtualMachineMaxNicsXenserverMock).valueIn(1L);
1122-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsXenserver"), virtualMachineMaxNicsXenserverMock);
1113+
Mockito.doReturn(11).when(testOrchestrator).getVirtualMachineMaxNicsXenserver(1L);
11231114

11241115
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromCluster(clusterVoMock);
11251116

@@ -1140,10 +1131,8 @@ public void getVirtualMachineMaxNicsValueFromClusterTestIncompatibleHypervisorRe
11401131
@Test
11411132
public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestKvmHypervisorReturnsVirtualMachineMaxNicsKvmGlobalValue() throws NoSuchFieldException, IllegalAccessException {
11421133
VirtualMachine virtualMachineMock = Mockito.mock(VirtualMachine.class);
1143-
ConfigKey virtualMachineMaxNicsKvmMock = Mockito.mock(ConfigKey.class);
11441134
Mockito.doReturn(Hypervisor.HypervisorType.KVM).when(virtualMachineMock).getHypervisorType();
1145-
Mockito.doReturn(23).when(virtualMachineMaxNicsKvmMock).value();
1146-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsKvm"), virtualMachineMaxNicsKvmMock);
1135+
Mockito.doReturn(23).when(testOrchestrator).getVirtualMachineMaxNicsKvm(null);
11471136

11481137
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromVmHypervisorType(virtualMachineMock);
11491138

@@ -1153,10 +1142,8 @@ public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestKvmHypervisorRe
11531142
@Test
11541143
public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestVmwareHypervisorReturnsVirtualMachineMaxNicsVmwareGlobalValue() throws NoSuchFieldException, IllegalAccessException {
11551144
VirtualMachine virtualMachineMock = Mockito.mock(VirtualMachine.class);
1156-
ConfigKey virtualMachineMaxNicsVmwareMock = Mockito.mock(ConfigKey.class);
11571145
Mockito.doReturn(Hypervisor.HypervisorType.VMware).when(virtualMachineMock).getHypervisorType();
1158-
Mockito.doReturn(10).when(virtualMachineMaxNicsVmwareMock).value();
1159-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsVmware"), virtualMachineMaxNicsVmwareMock);
1146+
Mockito.doReturn(10).when(testOrchestrator).getVirtualMachineMaxNicsVmware(null);
11601147

11611148
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromVmHypervisorType(virtualMachineMock);
11621149

@@ -1166,10 +1153,8 @@ public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestVmwareHyperviso
11661153
@Test
11671154
public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestXenserverHypervisorReturnsVirtualMachineMaxNicsXenserverGlobalValue() throws NoSuchFieldException, IllegalAccessException {
11681155
VirtualMachine virtualMachineMock = Mockito.mock(VirtualMachine.class);
1169-
ConfigKey virtualMachineMaxNicsXenserverMock = Mockito.mock(ConfigKey.class);
11701156
Mockito.doReturn(Hypervisor.HypervisorType.XenServer).when(virtualMachineMock).getHypervisorType();
1171-
Mockito.doReturn(7).when(virtualMachineMaxNicsXenserverMock).value();
1172-
updateFinalStaticField(testOrchestrator.getClass().getField("VirtualMachineMaxNicsXenserver"), virtualMachineMaxNicsXenserverMock);
1157+
Mockito.doReturn(7).when(testOrchestrator).getVirtualMachineMaxNicsXenserver(null);
11731158

11741159
Integer virtualMachineMaxNicsValue = testOrchestrator.getVirtualMachineMaxNicsValueFromVmHypervisorType(virtualMachineMock);
11751160

@@ -1185,14 +1170,4 @@ public void getVirtualMachineMaxNicsValueFromVmHypervisorTypeTestIncompatibleHyp
11851170

11861171
Assert.assertNull(virtualMachineMaxNicsValue);
11871172
}
1188-
1189-
void updateFinalStaticField(Field field, Object newValue) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
1190-
field.setAccessible(true);
1191-
1192-
Field modifiersField = Field.class.getDeclaredField("modifiers");
1193-
modifiersField.setAccessible(true);
1194-
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
1195-
1196-
field.set(null, newValue);
1197-
}
11981173
}

0 commit comments

Comments
 (0)