summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-02-18 15:59:10 +0000
committerGerrit Code Review <review@openstack.org>2015-02-18 15:59:10 +0000
commit2fa6faaa9b67c0783c502d2b56bfbacc23ecfe64 (patch)
treeae7b545562f59bb0a29b9cd9a330b07bc7b9f513
parent2fd65105baaa30e00876353505ccf6eda6a41e6c (diff)
parenta774e84ef0c3d69f269c7a7a6ffcc4bbb38cb3bb (diff)
downloadpython-neutronclient-2.3.11.tar.gz
Merge "Add unit tests for agentscheduler related commands"2.3.11
-rw-r--r--neutronclient/tests/unit/test_cli20_agentschedulers.py140
1 files changed, 140 insertions, 0 deletions
diff --git a/neutronclient/tests/unit/test_cli20_agentschedulers.py b/neutronclient/tests/unit/test_cli20_agentschedulers.py
index c0a8070..8dc307a 100644
--- a/neutronclient/tests/unit/test_cli20_agentschedulers.py
+++ b/neutronclient/tests/unit/test_cli20_agentschedulers.py
@@ -18,10 +18,150 @@
import sys
+from mox3 import mox
+
from neutronclient.neutron.v2_0 import agentscheduler
+from neutronclient.neutron.v2_0 import network
from neutronclient.tests.unit import test_cli20
+AGENT_ID = 'agent_id1'
+NETWORK_ID = 'net_id1'
+ROUTER_ID = 'router_id1'
+
+
+class CLITestV20AgentScheduler(test_cli20.CLITestV20Base):
+ def _test_add_to_agent(self, resource, cmd, cmd_args, destination,
+ body, result):
+ path = ((self.client.agent_path + destination) %
+ cmd_args[0])
+
+ self.mox.StubOutWithMock(cmd, "get_client")
+ self.mox.StubOutWithMock(self.client.httpclient, "request")
+ cmd.get_client().MultipleTimes().AndReturn(self.client)
+ result_str = self.client.serialize(result)
+ return_tup = (test_cli20.MyResp(200), result_str)
+
+ self.client.httpclient.request(
+ test_cli20.end_url(path), 'POST',
+ body=test_cli20.MyComparator(body, self.client),
+ headers=mox.ContainsKeyValue(
+ 'X-Auth-Token', test_cli20.TOKEN)).AndReturn(return_tup)
+ self.mox.ReplayAll()
+ cmd_parser = cmd.get_parser('test_' + resource)
+ parsed_args = cmd_parser.parse_args(cmd_args)
+ cmd.run(parsed_args)
+ self.mox.VerifyAll()
+ self.mox.UnsetStubs()
+
+ def _test_remove_from_agent(self, resource, cmd, cmd_args, destination):
+ path = ((self.client.agent_path + destination + '/%s') %
+ cmd_args)
+ self.mox.StubOutWithMock(cmd, "get_client")
+ self.mox.StubOutWithMock(self.client.httpclient, "request")
+ cmd.get_client().MultipleTimes().AndReturn(self.client)
+
+ return_tup = (test_cli20.MyResp(204), None)
+ self.client.httpclient.request(
+ test_cli20.end_url(path), 'DELETE',
+ body=None,
+ headers=mox.ContainsKeyValue(
+ 'X-Auth-Token', test_cli20.TOKEN)).AndReturn(return_tup)
+ self.mox.ReplayAll()
+ cmd_parser = cmd.get_parser('test_' + resource)
+ parsed_args = cmd_parser.parse_args(cmd_args)
+ cmd.run(parsed_args)
+ self.mox.VerifyAll()
+ self.mox.UnsetStubs()
+
+
+class CLITestV20DHCPAgentScheduler(CLITestV20AgentScheduler):
+
+ def test_add_network_to_agent(self):
+ resource = 'agent'
+ cmd = agentscheduler.AddNetworkToDhcpAgent(
+ test_cli20.MyApp(sys.stdout), None)
+ args = (AGENT_ID, NETWORK_ID)
+ body = {'network_id': NETWORK_ID}
+ result = {'network_id': 'net_id', }
+ self._test_add_to_agent(resource, cmd, args, self.client.DHCP_NETS,
+ body, result)
+
+ def test_remove_network_from_agent(self):
+ resource = 'agent'
+ cmd = agentscheduler.RemoveNetworkFromDhcpAgent(
+ test_cli20.MyApp(sys.stdout), None)
+ args = (AGENT_ID, NETWORK_ID)
+ self._test_remove_from_agent(resource, cmd, args,
+ self.client.DHCP_NETS)
+
+ def test_list_networks_on_agent(self):
+ resources = 'networks'
+ cmd = agentscheduler.ListNetworksOnDhcpAgent(
+ test_cli20.MyApp(sys.stdout), None)
+ agent_id = 'agent_id1'
+ path = ((self.client.agent_path + self.client.DHCP_NETS) %
+ agent_id)
+ self.mox.StubOutWithMock(network.ListNetwork, "extend_list")
+ network.ListNetwork.extend_list(mox.IsA(list), mox.IgnoreArg())
+ self._test_list_resources(resources, cmd, base_args=[agent_id],
+ path=path)
+
+ def test_list_agents_hosting_network(self):
+ resources = 'agent'
+ cmd = agentscheduler.ListDhcpAgentsHostingNetwork(
+ test_cli20.MyApp(sys.stdout), None)
+ agent_id = 'agent_id1'
+ path = ((self.client.network_path + self.client.DHCP_AGENTS) %
+ agent_id)
+ contents = {self.id_field: 'myid1', 'alive': True}
+ self._test_list_resources(resources, cmd, base_args=[agent_id],
+ path=path, response_contents=contents)
+
+
+class CLITestV20L3AgentScheduler(CLITestV20AgentScheduler):
+
+ def test_add_router_to_agent(self):
+ resource = 'agent'
+ cmd = agentscheduler.AddRouterToL3Agent(
+ test_cli20.MyApp(sys.stdout), None)
+ args = (AGENT_ID, ROUTER_ID)
+ body = {'router_id': ROUTER_ID}
+ result = {'network_id': 'net_id', }
+ self._test_add_to_agent(resource, cmd, args, self.client.L3_ROUTERS,
+ body, result)
+
+ def test_remove_router_from_agent(self):
+ resource = 'agent'
+ cmd = agentscheduler.RemoveRouterFromL3Agent(
+ test_cli20.MyApp(sys.stdout), None)
+ args = (AGENT_ID, ROUTER_ID)
+ self._test_remove_from_agent(resource, cmd, args,
+ self.client.L3_ROUTERS)
+
+ def test_list_routers_on_agent(self):
+ resources = 'router'
+ cmd = agentscheduler.ListRoutersOnL3Agent(
+ test_cli20.MyApp(sys.stdout), None)
+ agent_id = 'agent_id1'
+ path = ((self.client.agent_path + self.client.L3_ROUTERS) %
+ agent_id)
+ contents = {self.id_field: 'myid1', 'name': 'my_name'}
+ self._test_list_resources(resources, cmd, base_args=[agent_id],
+ path=path, response_contents=contents)
+
+ def test_list_agents_hosting_router(self):
+ resources = 'agent'
+ cmd = agentscheduler.ListL3AgentsHostingRouter(
+ test_cli20.MyApp(sys.stdout), None)
+ agent_id = 'agent_id1'
+ path = ((self.client.router_path + self.client.L3_AGENTS) %
+ agent_id)
+ contents = {self.id_field: 'myid1', 'alive': True}
+ self._test_list_resources(resources, cmd, base_args=[agent_id],
+ path=path, response_contents=contents)
+
+
class CLITestV20LBaaSAgentScheduler(test_cli20.CLITestV20Base):
def test_list_pools_on_agent(self):