Skip to content

Commit 7288ac4

Browse files
authored
NSX: Add unit tests to increase coverage (#8355)
* NSX: Add unit tests * cleanup unused imports * add more unit tests * add tests for publicnsxnetworkguru * add license * fix build failures * address sonar comment
1 parent 4457c62 commit 7288ac4

File tree

9 files changed

+685
-12
lines changed

9 files changed

+685
-12
lines changed

plugins/network-elements/nsx/pom.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,21 @@
2929
<version>4.19.0.0-SNAPSHOT</version>
3030
<relativePath>../../pom.xml</relativePath>
3131
</parent>
32-
32+
<build>
33+
<plugins>
34+
<plugin>
35+
<groupId>org.jacoco</groupId>
36+
<artifactId>jacoco-maven-plugin</artifactId>
37+
<version>${cs.jacoco-plugin.version}</version>
38+
<configuration>
39+
<excludes>
40+
<exclude>**/org/apache/cloudstack/agent/api/**</exclude>
41+
<exclude>**/org/apache/cloudstack/api/response/**</exclude>
42+
</excludes>
43+
</configuration>
44+
</plugin>
45+
</plugins>
46+
</build>
3347
<dependencies>
3448
<dependency>
3549
<groupId>com.vmware</groupId>

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import com.cloud.network.guru.GuestNetworkGuru;
4040
import com.cloud.network.vpc.VpcVO;
4141
import com.cloud.offering.NetworkOffering;
42-
import com.cloud.offerings.dao.NetworkOfferingDao;
4342
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
4443
import com.cloud.user.Account;
4544
import com.cloud.user.dao.AccountDao;
@@ -76,8 +75,6 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru implements NetworkMigr
7675
DomainDao domainDao;
7776
@Inject
7877
NetworkModel networkModel;
79-
@Inject
80-
NetworkOfferingDao networkOfferingDao;
8178

8279
public NsxGuestNetworkGuru() {
8380
super();
@@ -298,7 +295,7 @@ public void commitMigration(NicProfile nic, Network network, VirtualMachineProfi
298295
// Do nothing
299296
}
300297

301-
private void createNsxSegment(NetworkVO networkVO, DataCenter zone) {
298+
public void createNsxSegment(NetworkVO networkVO, DataCenter zone) {
302299
Account account = accountDao.findById(networkVO.getAccountId());
303300
if (isNull(account)) {
304301
throw new CloudRuntimeException(String.format("Unable to find account with id: %s", networkVO.getAccountId()));

plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxProviderServiceImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.cloud.utils.db.Transaction;
3737
import com.cloud.utils.db.TransactionCallback;
3838
import com.cloud.utils.exception.CloudRuntimeException;
39+
import com.google.common.annotations.VisibleForTesting;
3940
import org.apache.cloudstack.api.command.DeleteNsxControllerCmd;
4041
import org.apache.cloudstack.api.command.ListNsxControllersCmd;
4142
import org.apache.cloudstack.api.BaseResponse;
@@ -197,7 +198,8 @@ public List<Class<?>> getCommands() {
197198
return cmdList;
198199
}
199200

200-
private void validateNetworkState(List<NetworkVO> networkList) {
201+
@VisibleForTesting
202+
void validateNetworkState(List<NetworkVO> networkList) {
201203
for (NetworkVO network : networkList) {
202204
if (network.getBroadcastDomainType() == Networks.BroadcastDomainType.NSX) {
203205
if ((network.getState() != Network.State.Shutdown) && (network.getState() != Network.State.Destroy)) {

plugins/network-elements/nsx/src/test/java/org/apache/cloudstack/resource/NsxResourceTest.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,14 @@
2525
import com.vmware.nsx_policy.model.SiteListResult;
2626
import junit.framework.Assert;
2727
import org.apache.cloudstack.NsxAnswer;
28+
import org.apache.cloudstack.agent.api.CreateNsxDistributedFirewallRulesCommand;
29+
import org.apache.cloudstack.agent.api.CreateNsxLoadBalancerRuleCommand;
30+
import org.apache.cloudstack.agent.api.CreateNsxPortForwardRuleCommand;
2831
import org.apache.cloudstack.agent.api.CreateNsxSegmentCommand;
32+
import org.apache.cloudstack.agent.api.CreateNsxStaticNatCommand;
2933
import org.apache.cloudstack.agent.api.CreateNsxTier1GatewayCommand;
34+
import org.apache.cloudstack.agent.api.DeleteNsxDistributedFirewallRulesCommand;
35+
import org.apache.cloudstack.agent.api.DeleteNsxNatRuleCommand;
3036
import org.apache.cloudstack.agent.api.DeleteNsxSegmentCommand;
3137
import org.apache.cloudstack.agent.api.DeleteNsxTier1GatewayCommand;
3238
import org.apache.cloudstack.agent.api.NsxCommand;
@@ -160,4 +166,57 @@ public void testDeleteNsxSegment() {
160166
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(command);
161167
assertTrue(answer.getResult());
162168
}
169+
170+
@Test
171+
public void testCreateStaticNat() {
172+
CreateNsxStaticNatCommand cmd = new CreateNsxStaticNatCommand(1L, 1L, 1L, 3L, "VPC01", true, 2L, "10.1.12.10", "172.30.20.12");
173+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
174+
assertTrue(answer.getResult());
175+
}
176+
177+
@Test
178+
public void testCreatePortForwardRule() {
179+
CreateNsxPortForwardRuleCommand cmd = new CreateNsxPortForwardRuleCommand(1L, 1L, 1L, 3L, "VPC01", true, 2L, 5L, "10.1.12.10", "172.30.20.12", "2222", "22", "tcp");
180+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
181+
assertTrue(answer.getResult());
182+
}
183+
184+
@Test
185+
public void testDeleteNsxNatRule() {
186+
DeleteNsxNatRuleCommand cmd = new DeleteNsxNatRuleCommand(1L, 1L, 1L, 3L, "VPC01", true, 2L, 5L, "22", "tcp");
187+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
188+
assertTrue(answer.getResult());
189+
}
190+
191+
@Test
192+
public void testCreateNsxLoadBalancerRule() {
193+
List<NsxLoadBalancerMember> loadBalancerMembers = List.of(new NsxLoadBalancerMember(
194+
1L, "172.30.20.12", 6443
195+
));
196+
CreateNsxLoadBalancerRuleCommand cmd = new CreateNsxLoadBalancerRuleCommand(1L, 1L, 1L,
197+
3L, "VPC01", true, loadBalancerMembers, 1L, "6443", "6443", "RoundRobin", "TCP");
198+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
199+
assertTrue(answer.getResult());
200+
}
201+
202+
203+
@Test
204+
public void testCreateNsxDistributedFirewallRule() {
205+
List<NsxNetworkRule> networkRules = List.of(new NsxNetworkRule());
206+
CreateNsxDistributedFirewallRulesCommand cmd = new CreateNsxDistributedFirewallRulesCommand(1L, 1L, 1L,
207+
3L, 1L, networkRules);
208+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
209+
assertTrue(answer.getResult());
210+
}
211+
212+
@Test
213+
public void testDeleteNsxDistributedFirewallRule() {
214+
List<NsxNetworkRule> networkRules = List.of(new NsxNetworkRule());
215+
DeleteNsxDistributedFirewallRulesCommand cmd = new DeleteNsxDistributedFirewallRulesCommand(1L, 1L, 1L,
216+
3L, 1L, networkRules);
217+
NsxAnswer answer = (NsxAnswer) nsxResource.executeRequest(cmd);
218+
assertTrue(answer.getResult());
219+
}
220+
221+
163222
}

0 commit comments

Comments
 (0)