Merge "Convert admin.networks.agents tests into mock"
This commit is contained in:
commit
6481442fb6
|
@ -13,10 +13,9 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from django import http
|
||||
from django.urls import reverse
|
||||
|
||||
from mox3.mox import IsA
|
||||
import mock
|
||||
|
||||
from openstack_dashboard import api
|
||||
from openstack_dashboard.test import helpers as test
|
||||
|
@ -26,21 +25,15 @@ NETWORKS_DETAIL_URL = 'horizon:admin:networks:detail'
|
|||
|
||||
class NetworkAgentTests(test.BaseAdminViewTests):
|
||||
|
||||
use_mox = True
|
||||
|
||||
@test.create_stubs({api.neutron: ('agent_list',
|
||||
@test.create_mocks({api.neutron: ('agent_list',
|
||||
'network_get',
|
||||
'list_dhcp_agent_hosting_networks',)})
|
||||
def test_agent_add_get(self):
|
||||
network = self.networks.first()
|
||||
api.neutron.agent_list(IsA(http.HttpRequest), agent_type='DHCP agent')\
|
||||
.AndReturn(self.agents.list())
|
||||
api.neutron.network_get(IsA(http.HttpRequest), network.id)\
|
||||
.AndReturn(network)
|
||||
api.neutron.list_dhcp_agent_hosting_networks(IsA(http.HttpRequest),
|
||||
network.id)\
|
||||
.AndReturn(self.agents.list())
|
||||
self.mox.ReplayAll()
|
||||
self.mock_agent_list.return_value = self.agents.list()
|
||||
self.mock_network_get.return_value = network
|
||||
self.mock_list_dhcp_agent_hosting_networks.return_value = \
|
||||
self.agents.list()
|
||||
|
||||
url = reverse('horizon:admin:networks:adddhcpagent',
|
||||
args=[network.id])
|
||||
|
@ -48,24 +41,26 @@ class NetworkAgentTests(test.BaseAdminViewTests):
|
|||
|
||||
self.assertTemplateUsed(res, 'admin/networks/agents/add.html')
|
||||
|
||||
@test.create_stubs({api.neutron: ('agent_list',
|
||||
self.mock_agent_list.assert_called_once_with(test.IsHttpRequest(),
|
||||
agent_type='DHCP agent')
|
||||
self.mock_network_get.assert_called_once_with(test.IsHttpRequest(),
|
||||
network.id)
|
||||
self.mock_list_dhcp_agent_hosting_networks.assert_called_once_with(
|
||||
test.IsHttpRequest(), network.id)
|
||||
|
||||
@test.create_mocks({api.neutron: ('agent_list',
|
||||
'network_get',
|
||||
'list_dhcp_agent_hosting_networks',
|
||||
'add_network_to_dhcp_agent',)})
|
||||
def test_agent_add_post(self):
|
||||
network = self.networks.first()
|
||||
agent_id = self.agents.first().id
|
||||
api.neutron.list_dhcp_agent_hosting_networks(IsA(http.HttpRequest),
|
||||
network.id)\
|
||||
.AndReturn([self.agents.list()[1]])
|
||||
api.neutron.network_get(IsA(http.HttpRequest), network.id)\
|
||||
.AndReturn(network)
|
||||
api.neutron.agent_list(IsA(http.HttpRequest), agent_type='DHCP agent')\
|
||||
.AndReturn(self.agents.list())
|
||||
api.neutron.add_network_to_dhcp_agent(IsA(http.HttpRequest),
|
||||
agent_id, network.id)\
|
||||
.AndReturn(True)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
self.mock_list_dhcp_agent_hosting_networks.return_value = \
|
||||
[self.agents.list()[1]]
|
||||
self.mock_network_get.return_value = network
|
||||
self.mock_agent_list.return_value = self.agents.list()
|
||||
self.mock_add_network_to_dhcp_agent.return_value = True
|
||||
|
||||
form_data = {'network_id': network.id,
|
||||
'network_name': network.name,
|
||||
|
@ -78,24 +73,28 @@ class NetworkAgentTests(test.BaseAdminViewTests):
|
|||
redir_url = reverse(NETWORKS_DETAIL_URL, args=[network.id])
|
||||
self.assertRedirectsNoFollow(res, redir_url)
|
||||
|
||||
@test.create_stubs({api.neutron: ('agent_list',
|
||||
self.mock_list_dhcp_agent_hosting_networks.assert_called_once_with(
|
||||
test.IsHttpRequest(), network.id)
|
||||
self.mock_network_get.assert_called_once_with(test.IsHttpRequest(),
|
||||
network.id)
|
||||
self.mock_agent_list.assert_called_once_with(test.IsHttpRequest(),
|
||||
agent_type='DHCP agent')
|
||||
self.mock_add_network_to_dhcp_agent.assert_called_once_with(
|
||||
test.IsHttpRequest(), agent_id, network.id)
|
||||
|
||||
@test.create_mocks({api.neutron: ('agent_list',
|
||||
'network_get',
|
||||
'list_dhcp_agent_hosting_networks',
|
||||
'add_network_to_dhcp_agent',)})
|
||||
def test_agent_add_post_exception(self):
|
||||
network = self.networks.first()
|
||||
agent_id = self.agents.first().id
|
||||
api.neutron.list_dhcp_agent_hosting_networks(IsA(http.HttpRequest),
|
||||
network.id)\
|
||||
.AndReturn([self.agents.list()[1]])
|
||||
api.neutron.network_get(IsA(http.HttpRequest), network.id)\
|
||||
.AndReturn(network)
|
||||
api.neutron.agent_list(IsA(http.HttpRequest), agent_type='DHCP agent')\
|
||||
.AndReturn(self.agents.list())
|
||||
api.neutron.add_network_to_dhcp_agent(IsA(http.HttpRequest),
|
||||
agent_id, network.id)\
|
||||
.AndRaise(self.exceptions.neutron)
|
||||
self.mox.ReplayAll()
|
||||
self.mock_list_dhcp_agent_hosting_networks.return_value = \
|
||||
[self.agents.list()[1]]
|
||||
self.mock_network_get.return_value = network
|
||||
self.mock_agent_list.return_value = self.agents.list()
|
||||
self.mock_add_network_to_dhcp_agent.side_effect = \
|
||||
self.exceptions.neutron
|
||||
|
||||
form_data = {'network_id': network.id,
|
||||
'network_name': network.name,
|
||||
|
@ -108,30 +107,30 @@ class NetworkAgentTests(test.BaseAdminViewTests):
|
|||
redir_url = reverse(NETWORKS_DETAIL_URL, args=[network.id])
|
||||
self.assertRedirectsNoFollow(res, redir_url)
|
||||
|
||||
@test.create_stubs({api.neutron: ('subnet_list',
|
||||
'port_list',
|
||||
'list_dhcp_agent_hosting_networks',
|
||||
'show_network_ip_availability',
|
||||
self.mock_list_dhcp_agent_hosting_networks.assert_called_once_with(
|
||||
test.IsHttpRequest(), network.id)
|
||||
self.mock_network_get.assert_called_once_with(test.IsHttpRequest(),
|
||||
network.id)
|
||||
self.mock_agent_list.assert_called_once_with(test.IsHttpRequest(),
|
||||
agent_type='DHCP agent')
|
||||
self.mock_add_network_to_dhcp_agent.assert_called_once_with(
|
||||
test.IsHttpRequest(), agent_id, network.id)
|
||||
|
||||
@test.create_mocks({api.neutron: ('list_dhcp_agent_hosting_networks',
|
||||
'is_extension_supported',
|
||||
'remove_network_from_dhcp_agent',)})
|
||||
def test_agent_delete(self):
|
||||
network_id = self.networks.first().id
|
||||
agent_id = self.agents.first().id
|
||||
api.neutron.list_dhcp_agent_hosting_networks(IsA(http.HttpRequest),
|
||||
network_id).\
|
||||
AndReturn(self.agents.list())
|
||||
api.neutron.remove_network_from_dhcp_agent(IsA(http.HttpRequest),
|
||||
agent_id, network_id)
|
||||
api.neutron.is_extension_supported(
|
||||
IsA(http.HttpRequest),
|
||||
'network-ip-availability').AndReturn(True)
|
||||
api.neutron.is_extension_supported(IsA(http.HttpRequest),
|
||||
'mac-learning')\
|
||||
.AndReturn(False)
|
||||
api.neutron.is_extension_supported(IsA(http.HttpRequest),
|
||||
'dhcp_agent_scheduler')\
|
||||
.AndReturn(True)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
self.mock_list_dhcp_agent_hosting_networks.return_value = \
|
||||
self.agents.list()
|
||||
self.mock_remove_network_from_dhcp_agent.return_value = None
|
||||
self.mock_is_extension_supported.side_effect = [
|
||||
True, # network-ip-availability
|
||||
False, # mac-learning
|
||||
True, # dhcp_agent_scheduler
|
||||
]
|
||||
|
||||
url = NETWORKS_DETAIL_URL
|
||||
form_data = {'action': 'agents__delete__%s' % agent_id}
|
||||
|
@ -140,34 +139,47 @@ class NetworkAgentTests(test.BaseAdminViewTests):
|
|||
|
||||
self.assertRedirectsNoFollow(res, url)
|
||||
|
||||
@test.create_stubs({api.neutron: ('subnet_list',
|
||||
'port_list',
|
||||
'list_dhcp_agent_hosting_networks',
|
||||
'show_network_ip_availability',
|
||||
self.mock_list_dhcp_agent_hosting_networks.assert_called_once_with(
|
||||
test.IsHttpRequest(), network_id)
|
||||
self.mock_remove_network_from_dhcp_agent.assert_called_once_with(
|
||||
test.IsHttpRequest(), agent_id, network_id)
|
||||
self.mock_is_extension_supported.assert_has_calls([
|
||||
mock.call(test.IsHttpRequest(), 'network-ip-availability'),
|
||||
mock.call(test.IsHttpRequest(), 'mac-learning'),
|
||||
mock.call(test.IsHttpRequest(), 'dhcp_agent_scheduler'),
|
||||
])
|
||||
self.assertEqual(3, self.mock_is_extension_supported.call_count)
|
||||
|
||||
@test.create_mocks({api.neutron: ('list_dhcp_agent_hosting_networks',
|
||||
'is_extension_supported',
|
||||
'remove_network_from_dhcp_agent',)})
|
||||
def test_agent_delete_exception(self):
|
||||
network_id = self.networks.first().id
|
||||
agent_id = self.agents.first().id
|
||||
api.neutron.list_dhcp_agent_hosting_networks(IsA(http.HttpRequest),
|
||||
network_id).\
|
||||
AndReturn(self.agents.list())
|
||||
api.neutron.remove_network_from_dhcp_agent(IsA(http.HttpRequest),
|
||||
agent_id, network_id)\
|
||||
.AndRaise(self.exceptions.neutron)
|
||||
api.neutron.is_extension_supported(
|
||||
IsA(http.HttpRequest),
|
||||
'network-ip-availability').AndReturn(True)
|
||||
api.neutron.is_extension_supported(IsA(http.HttpRequest),
|
||||
'mac-learning')\
|
||||
.AndReturn(False)
|
||||
api.neutron.is_extension_supported(IsA(http.HttpRequest),
|
||||
'dhcp_agent_scheduler')\
|
||||
.AndReturn(True)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
self.mock_list_dhcp_agent_hosting_networks.return_value = \
|
||||
self.agents.list()
|
||||
self.mock_remove_network_from_dhcp_agent.side_effect = \
|
||||
self.exceptions.neutron
|
||||
self.mock_is_extension_supported.side_effect = [
|
||||
True, # network-ip-availability
|
||||
False, # mac-learning
|
||||
True, # dhcp_agent_scheduler
|
||||
]
|
||||
|
||||
form_data = {'action': 'agents__delete__%s' % agent_id}
|
||||
url = reverse(NETWORKS_DETAIL_URL, args=[network_id])
|
||||
res = self.client.post(url, form_data)
|
||||
|
||||
self.assertRedirectsNoFollow(res, url)
|
||||
|
||||
self.mock_list_dhcp_agent_hosting_networks.assert_called_once_with(
|
||||
test.IsHttpRequest(), network_id)
|
||||
self.mock_remove_network_from_dhcp_agent.assert_called_once_with(
|
||||
test.IsHttpRequest(), agent_id, network_id)
|
||||
self.mock_is_extension_supported.assert_has_calls([
|
||||
mock.call(test.IsHttpRequest(), 'network-ip-availability'),
|
||||
mock.call(test.IsHttpRequest(), 'mac-learning'),
|
||||
mock.call(test.IsHttpRequest(), 'dhcp_agent_scheduler'),
|
||||
])
|
||||
self.assertEqual(3, self.mock_is_extension_supported.call_count)
|
||||
|
|
Loading…
Reference in New Issue