You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2012/12/06 14:46:48 UTC
[5/6] git commit: More unittests for NiciraNvpResource
More unittests for NiciraNvpResource
Add some basic unittest for NatRule
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/700050a7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/700050a7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/700050a7
Branch: refs/heads/master
Commit: 700050a713575e59c72bdcecae2f341f85180c60
Parents: b0955e4
Author: Hugo Trippaers <tr...@gmail.com>
Authored: Sun Dec 2 12:02:19 2012 -0800
Committer: Hugo Trippaers <tr...@gmail.com>
Committed: Thu Dec 6 14:45:09 2012 +0100
----------------------------------------------------------------------
.../test/com/cloud/network/nicira/NatRuleTest.java | 47 ++
.../network/resource/NiciraNvpResourceTest.java | 355 ++++++++++++++-
2 files changed, 392 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/700050a7/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NatRuleTest.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NatRuleTest.java b/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NatRuleTest.java
new file mode 100644
index 0000000..88c5402
--- /dev/null
+++ b/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NatRuleTest.java
@@ -0,0 +1,47 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.network.nicira;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import com.google.gson.Gson;
+
+public class NatRuleTest {
+
+ Gson gson = new Gson();
+
+ @Test
+ public void testNatRuleEncoding() {
+ NatRule rn1 = new NatRule();
+ rn1.setToDestinationIpAddressMax("10.10.10.10");
+ rn1.setToDestinationIpAddressMin("10.10.10.10");
+ rn1.setToDestinationPort(80);
+ Match mr1 = new Match();
+ mr1.setSourceIpAddresses("11.11.11.11/24");
+ mr1.setEthertype("IPv4");
+ mr1.setProtocol(6);
+ rn1.setMatch(mr1);
+
+
+ String jsonString = gson.toJson(rn1);
+ NatRule dnr = gson.fromJson(jsonString, NatRule.class);
+
+ assertTrue(rn1.equals(dnr));
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/700050a7/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java b/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
index 7632703..3fdd3e3 100644
--- a/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
+++ b/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
@@ -27,21 +27,58 @@ import javax.naming.ConfigurationException;
import org.junit.Before;
import org.junit.Test;
-
+import com.cloud.agent.api.ConfigurePublicIpsOnLogicalRouterAnswer;
+import com.cloud.agent.api.ConfigurePublicIpsOnLogicalRouterCommand;
+import com.cloud.agent.api.CreateLogicalRouterAnswer;
+import com.cloud.agent.api.CreateLogicalRouterCommand;
+import com.cloud.agent.api.CreateLogicalSwitchAnswer;
+import com.cloud.agent.api.CreateLogicalSwitchCommand;
+import com.cloud.agent.api.CreateLogicalSwitchPortAnswer;
+import com.cloud.agent.api.CreateLogicalSwitchPortCommand;
+import com.cloud.agent.api.DeleteLogicalRouterAnswer;
+import com.cloud.agent.api.DeleteLogicalRouterCommand;
+import com.cloud.agent.api.DeleteLogicalSwitchAnswer;
+import com.cloud.agent.api.DeleteLogicalSwitchCommand;
+import com.cloud.agent.api.DeleteLogicalSwitchPortAnswer;
+import com.cloud.agent.api.DeleteLogicalSwitchPortCommand;
+import com.cloud.agent.api.FindLogicalSwitchPortAnswer;
+import com.cloud.agent.api.FindLogicalSwitchPortCommand;
+import com.cloud.agent.api.PingCommand;
+import com.cloud.agent.api.StartupCommand;
+import com.cloud.agent.api.UpdateLogicalSwitchPortAnswer;
+import com.cloud.agent.api.UpdateLogicalSwitchPortCommand;
import com.cloud.host.Host;
+import com.cloud.network.nicira.Attachment;
+import com.cloud.network.nicira.ControlClusterStatus;
+import com.cloud.network.nicira.LogicalRouterConfig;
+import com.cloud.network.nicira.LogicalRouterPort;
+import com.cloud.network.nicira.LogicalSwitch;
+import com.cloud.network.nicira.LogicalSwitchPort;
+import com.cloud.network.nicira.NatRule;
import com.cloud.network.nicira.NiciraNvpApi;
+import com.cloud.network.nicira.NiciraNvpApiException;
+import com.cloud.network.nicira.NiciraNvpList;
public class NiciraNvpResourceTest {
NiciraNvpApi _nvpApi = mock(NiciraNvpApi.class);
NiciraNvpResource _resource;
+ Map<String,Object> _parameters;
@Before
- public void setUp() {
+ public void setUp() throws ConfigurationException {
_resource = new NiciraNvpResource() {
protected NiciraNvpApi createNiciraNvpApi() {
return _nvpApi;
}
};
+
+ _parameters = new HashMap<String,Object>();
+ _parameters.put("name","nvptestdevice");
+ _parameters.put("ip","127.0.0.1");
+ _parameters.put("adminuser","adminuser");
+ _parameters.put("guid", "aaaaa-bbbbb-ccccc");
+ _parameters.put("zoneId", "blublub");
+ _parameters.put("adminpass","adminpass");
}
@Test (expected=ConfigurationException.class)
@@ -51,14 +88,7 @@ public class NiciraNvpResourceTest {
@Test
public void resourceConfigure() throws ConfigurationException {
- Map<String,Object> parameters = new HashMap<String,Object>();
- parameters.put("name","nvptestdevice");
- parameters.put("ip","127.0.0.1");
- parameters.put("adminuser","adminuser");
- parameters.put("guid", "aaaaa-bbbbb-ccccc");
- parameters.put("zoneId", "blublub");
- parameters.put("adminpass","adminpass");
- _resource.configure("NiciraNvpResource", parameters);
+ _resource.configure("NiciraNvpResource", _parameters);
verify(_nvpApi).setAdminCredentials("adminuser", "adminpass");
verify(_nvpApi).setControllerAddress("127.0.0.1");
@@ -71,4 +101,309 @@ public class NiciraNvpResourceTest {
assertTrue(_resource.getType() == Host.Type.L2Networking);
}
+ @Test
+ public void testInitialization() throws ConfigurationException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ StartupCommand[] sc = _resource.initialize();
+ assertTrue(sc.length ==1);
+ assertTrue("aaaaa-bbbbb-ccccc".equals(sc[0].getGuid()));
+ assertTrue("nvptestdevice".equals(sc[0].getName()));
+ assertTrue("blublub".equals(sc[0].getDataCenter()));
+ }
+
+ @Test
+ public void testPingCommandStatusOk() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ ControlClusterStatus ccs = mock(ControlClusterStatus.class);
+ when(ccs.getClusterStatus()).thenReturn("stable");
+ when(_nvpApi.getControlClusterStatus()).thenReturn(ccs);
+
+ PingCommand ping = _resource.getCurrentStatus(42);
+ assertTrue(ping != null);
+ assertTrue(ping.getHostId() == 42);
+ assertTrue(ping.getHostType() == Host.Type.L2Networking);
+ }
+
+ @Test
+ public void testPingCommandStatusFail() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ ControlClusterStatus ccs = mock(ControlClusterStatus.class);
+ when(ccs.getClusterStatus()).thenReturn("unstable");
+ when(_nvpApi.getControlClusterStatus()).thenReturn(ccs);
+
+ PingCommand ping = _resource.getCurrentStatus(42);
+ assertTrue(ping == null);
+ }
+
+ @Test
+ public void testPingCommandStatusApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ ControlClusterStatus ccs = mock(ControlClusterStatus.class);
+ when(ccs.getClusterStatus()).thenReturn("unstable");
+ when(_nvpApi.getControlClusterStatus()).thenThrow(new NiciraNvpApiException());
+
+ PingCommand ping = _resource.getCurrentStatus(42);
+ assertTrue(ping == null);
+ }
+
+ @Test
+ public void testRetries() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitch ls = mock(LogicalSwitch.class);
+ when(ls.getUuid()).thenReturn("cccc").thenReturn("cccc");
+ when(_nvpApi.createLogicalSwitch((LogicalSwitch) any())).thenThrow(new NiciraNvpApiException()).thenThrow(new NiciraNvpApiException()).thenReturn(ls);
+
+ CreateLogicalSwitchCommand clsc = new CreateLogicalSwitchCommand((String)_parameters.get("guid"), "stt", "loigicalswitch","owner");
+ CreateLogicalSwitchAnswer clsa = (CreateLogicalSwitchAnswer) _resource.executeRequest(clsc);
+ assertTrue(clsa.getResult());
+ }
+
+ @Test
+ public void testCreateLogicalSwitch() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitch ls = mock(LogicalSwitch.class);
+ when(ls.getUuid()).thenReturn("cccc").thenReturn("cccc");
+ when(_nvpApi.createLogicalSwitch((LogicalSwitch) any())).thenReturn(ls);
+
+ CreateLogicalSwitchCommand clsc = new CreateLogicalSwitchCommand((String)_parameters.get("guid"), "stt", "loigicalswitch","owner");
+ CreateLogicalSwitchAnswer clsa = (CreateLogicalSwitchAnswer) _resource.executeRequest(clsc);
+ assertTrue(clsa.getResult());
+ assertTrue("cccc".equals(clsa.getLogicalSwitchUuid()));
+ }
+
+ @Test
+ public void testCreateLogicalSwitchApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitch ls = mock(LogicalSwitch.class);
+ when(ls.getUuid()).thenReturn("cccc").thenReturn("cccc");
+ when(_nvpApi.createLogicalSwitch((LogicalSwitch) any())).thenThrow(new NiciraNvpApiException());
+
+ CreateLogicalSwitchCommand clsc = new CreateLogicalSwitchCommand((String)_parameters.get("guid"), "stt", "loigicalswitch","owner");
+ CreateLogicalSwitchAnswer clsa = (CreateLogicalSwitchAnswer) _resource.executeRequest(clsc);
+ assertFalse(clsa.getResult());
+ }
+
+ @Test
+ public void testDeleteLogicalSwitch() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ DeleteLogicalSwitchCommand dlsc = new DeleteLogicalSwitchCommand("cccc");
+ DeleteLogicalSwitchAnswer dlsa = (DeleteLogicalSwitchAnswer) _resource.executeRequest(dlsc);
+ assertTrue(dlsa.getResult());
+ }
+
+ @Test
+ public void testDeleteLogicalSwitchApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).deleteLogicalSwitch((String)any());
+
+ DeleteLogicalSwitchCommand dlsc = new DeleteLogicalSwitchCommand("cccc");
+ DeleteLogicalSwitchAnswer dlsa = (DeleteLogicalSwitchAnswer) _resource.executeRequest(dlsc);
+ assertFalse(dlsa.getResult());
+ }
+
+ @Test
+ public void testCreateLogicalSwitchPort() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitchPort lsp = mock(LogicalSwitchPort.class);
+ when(lsp.getUuid()).thenReturn("eeee");
+ when(_nvpApi.createLogicalSwitchPort(eq("cccc"), (LogicalSwitchPort) any())).thenReturn(lsp);
+
+ CreateLogicalSwitchPortCommand clspc = new CreateLogicalSwitchPortCommand("cccc", "dddd", "owner", "nicname");
+ CreateLogicalSwitchPortAnswer clspa = (CreateLogicalSwitchPortAnswer) _resource.executeRequest(clspc);
+ assertTrue(clspa.getResult());
+ assertTrue("eeee".equals(clspa.getLogicalSwitchPortUuid()));
+
+ }
+
+ @Test
+ public void testCreateLogicalSwitchPortApiExceptionInCreate() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitchPort lsp = mock(LogicalSwitchPort.class);
+ when(lsp.getUuid()).thenReturn("eeee");
+ when(_nvpApi.createLogicalSwitchPort(eq("cccc"), (LogicalSwitchPort) any())).thenThrow(new NiciraNvpApiException());
+
+ CreateLogicalSwitchPortCommand clspc = new CreateLogicalSwitchPortCommand("cccc", "dddd", "owner", "nicname");
+ CreateLogicalSwitchPortAnswer clspa = (CreateLogicalSwitchPortAnswer) _resource.executeRequest(clspc);
+ assertFalse(clspa.getResult());
+ }
+
+ @Test
+ public void testCreateLogicalSwitchPortApiExceptionInModify() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalSwitchPort lsp = mock(LogicalSwitchPort.class);
+ when(lsp.getUuid()).thenReturn("eeee");
+ when(_nvpApi.createLogicalSwitchPort(eq("cccc"), (LogicalSwitchPort) any())).thenReturn(lsp);
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).modifyLogicalSwitchPortAttachment((String)any(), (String)any(), (Attachment)any());
+
+
+ CreateLogicalSwitchPortCommand clspc = new CreateLogicalSwitchPortCommand("cccc", "dddd", "owner", "nicname");
+ CreateLogicalSwitchPortAnswer clspa = (CreateLogicalSwitchPortAnswer) _resource.executeRequest(clspc);
+ assertFalse(clspa.getResult());
+ verify(_nvpApi, atLeastOnce()).deleteLogicalSwitchPort((String) any(), (String) any());
+ }
+
+ @Test
+ public void testDeleteLogicalSwitchPortException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).deleteLogicalSwitchPort((String) any(), (String) any());
+ DeleteLogicalSwitchPortAnswer dlspa = (DeleteLogicalSwitchPortAnswer) _resource.executeRequest(new DeleteLogicalSwitchPortCommand("aaaa","bbbb"));
+ assertFalse(dlspa.getResult());
+ }
+
+ @Test
+ public void testUpdateLogicalSwitchPortException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).modifyLogicalSwitchPortAttachment((String) any(), (String) any(), (Attachment) any());
+ UpdateLogicalSwitchPortAnswer dlspa = (UpdateLogicalSwitchPortAnswer) _resource.executeRequest(
+ new UpdateLogicalSwitchPortCommand("aaaa","bbbb","cccc","owner","nicname"));
+ assertFalse(dlspa.getResult());
+ }
+
+ @Test
+ public void testFindLogicalSwitchPort() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ @SuppressWarnings("unchecked")
+ NiciraNvpList<LogicalSwitchPort> lspl = (NiciraNvpList<LogicalSwitchPort>)mock(NiciraNvpList.class);
+ when(lspl.getResultCount()).thenReturn(1);
+ when(_nvpApi.findLogicalSwitchPortsByUuid("aaaa", "bbbb")).thenReturn(lspl);
+
+ FindLogicalSwitchPortAnswer flspa = (FindLogicalSwitchPortAnswer) _resource.executeRequest(new FindLogicalSwitchPortCommand("aaaa", "bbbb"));
+ assertTrue(flspa.getResult());
+ }
+
+ @Test
+ public void testFindLogicalSwitchPortNotFound() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ @SuppressWarnings("unchecked")
+ NiciraNvpList<LogicalSwitchPort> lspl = (NiciraNvpList<LogicalSwitchPort>)mock(NiciraNvpList.class);
+ when(lspl.getResultCount()).thenReturn(0);
+ when(_nvpApi.findLogicalSwitchPortsByUuid("aaaa", "bbbb")).thenReturn(lspl);
+
+ FindLogicalSwitchPortAnswer flspa = (FindLogicalSwitchPortAnswer) _resource.executeRequest(new FindLogicalSwitchPortCommand("aaaa", "bbbb"));
+ assertFalse(flspa.getResult());
+ }
+
+ @Test
+ public void testFindLogicalSwitchPortApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ when(_nvpApi.findLogicalSwitchPortsByUuid("aaaa", "bbbb")).thenThrow(new NiciraNvpApiException());
+
+ FindLogicalSwitchPortAnswer flspa = (FindLogicalSwitchPortAnswer) _resource.executeRequest(new FindLogicalSwitchPortCommand("aaaa", "bbbb"));
+ assertFalse(flspa.getResult());
+ }
+
+ @Test
+ public void testCreateLogicalRouter() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalRouterConfig lrc = mock(LogicalRouterConfig.class);
+ LogicalRouterPort lrp = mock(LogicalRouterPort.class);
+ LogicalSwitchPort lsp = mock(LogicalSwitchPort.class);
+ when(lrc.getUuid()).thenReturn("ccccc");
+ when(lrp.getUuid()).thenReturn("ddddd").thenReturn("eeeee");
+ when(lsp.getUuid()).thenReturn("fffff");
+ when(_nvpApi.createLogicalRouter((LogicalRouterConfig)any())).thenReturn(lrc);
+ when(_nvpApi.createLogicalRouterPort(eq("ccccc"), (LogicalRouterPort)any())).thenReturn(lrp);
+ when(_nvpApi.createLogicalSwitchPort(eq("bbbbb"), (LogicalSwitchPort)any())).thenReturn(lsp);
+ CreateLogicalRouterCommand clrc = new CreateLogicalRouterCommand("aaaaa", 50, "bbbbb", "lrouter", "publiccidr", "nexthop", "internalcidr", "owner");
+ CreateLogicalRouterAnswer clra = (CreateLogicalRouterAnswer) _resource.executeRequest(clrc);
+
+ assertTrue(clra.getResult());
+ assertTrue("ccccc".equals(clra.getLogicalRouterUuid()));
+ verify(_nvpApi, atLeast(1)).createLogicalRouterNatRule((String) any(), (NatRule) any());
+ }
+
+ @Test
+ public void testCreateLogicalRouterApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ when(_nvpApi.createLogicalRouter((LogicalRouterConfig)any())).thenThrow(new NiciraNvpApiException());
+ CreateLogicalRouterCommand clrc = new CreateLogicalRouterCommand("aaaaa", 50, "bbbbb", "lrouter", "publiccidr", "nexthop", "internalcidr", "owner");
+ CreateLogicalRouterAnswer clra = (CreateLogicalRouterAnswer) _resource.executeRequest(clrc);
+
+ assertFalse(clra.getResult());
+ }
+
+ @Test
+ public void testCreateLogicalRouterApiExceptionRollbackRouter() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalRouterConfig lrc = mock(LogicalRouterConfig.class);
+ when(lrc.getUuid()).thenReturn("ccccc");
+ when(_nvpApi.createLogicalRouter((LogicalRouterConfig)any())).thenReturn(lrc);
+ when(_nvpApi.createLogicalRouterPort(eq("ccccc"), (LogicalRouterPort)any())).thenThrow(new NiciraNvpApiException());
+ CreateLogicalRouterCommand clrc = new CreateLogicalRouterCommand("aaaaa", 50, "bbbbb", "lrouter", "publiccidr", "nexthop", "internalcidr", "owner");
+ CreateLogicalRouterAnswer clra = (CreateLogicalRouterAnswer) _resource.executeRequest(clrc);
+
+ assertFalse(clra.getResult());
+ verify(_nvpApi, atLeast(1)).deleteLogicalRouter(eq("ccccc"));
+ }
+
+ @Test
+ public void testCreateLogicalRouterApiExceptionRollbackRouterAndSwitchPort() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ LogicalRouterConfig lrc = mock(LogicalRouterConfig.class);
+ LogicalRouterPort lrp = mock(LogicalRouterPort.class);
+ LogicalSwitchPort lsp = mock(LogicalSwitchPort.class);
+ when(lrc.getUuid()).thenReturn("ccccc");
+ when(lrp.getUuid()).thenReturn("ddddd").thenReturn("eeeee");
+ when(lsp.getUuid()).thenReturn("fffff");
+ when(_nvpApi.createLogicalRouter((LogicalRouterConfig)any())).thenReturn(lrc);
+ when(_nvpApi.createLogicalRouterPort(eq("ccccc"), (LogicalRouterPort)any())).thenReturn(lrp);
+ when(_nvpApi.createLogicalSwitchPort(eq("bbbbb"), (LogicalSwitchPort)any())).thenReturn(lsp);
+ when(_nvpApi.createLogicalRouterNatRule((String) any(), (NatRule)any())).thenThrow(new NiciraNvpApiException());
+ CreateLogicalRouterCommand clrc = new CreateLogicalRouterCommand("aaaaa", 50, "bbbbb", "lrouter", "publiccidr", "nexthop", "internalcidr", "owner");
+ CreateLogicalRouterAnswer clra = (CreateLogicalRouterAnswer) _resource.executeRequest(clrc);
+
+ assertFalse(clra.getResult());
+ verify(_nvpApi, atLeast(1)).deleteLogicalRouter(eq("ccccc"));
+ verify(_nvpApi, atLeast(1)).deleteLogicalSwitchPort(eq("bbbbb"), eq("fffff"));
+ }
+
+ @Test
+ public void testDeleteLogicalRouterApiException() throws ConfigurationException,NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).deleteLogicalRouter(eq("aaaaa"));
+ DeleteLogicalRouterAnswer dlspa = (DeleteLogicalRouterAnswer) _resource.executeRequest(new DeleteLogicalRouterCommand("aaaaa"));
+ assertFalse(dlspa.getResult());
+ }
+
+ @Test
+ public void testConfigurePublicIpsOnLogicalRouterApiException() throws ConfigurationException, NiciraNvpApiException {
+ _resource.configure("NiciraNvpResource", _parameters);
+
+ ConfigurePublicIpsOnLogicalRouterCommand cmd = mock(ConfigurePublicIpsOnLogicalRouterCommand.class);
+ @SuppressWarnings("unchecked")
+ NiciraNvpList<LogicalRouterPort> list = mock(NiciraNvpList.class);
+
+ when(cmd.getLogicalRouterUuid()).thenReturn("aaaaa");
+ when(cmd.getL3GatewayServiceUuid()).thenReturn("bbbbb");
+ doThrow(new NiciraNvpApiException()).when(_nvpApi).modifyLogicalRouterPort((String) any(), (LogicalRouterPort) any());
+ when(_nvpApi.findLogicalRouterPortByGatewayServiceUuid("aaaaa","bbbbb")).thenReturn(list);
+
+ ConfigurePublicIpsOnLogicalRouterAnswer answer =
+ (ConfigurePublicIpsOnLogicalRouterAnswer) _resource.executeRequest(cmd);
+ assertFalse(answer.getResult());
+
+ }
}
+