diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-12-19 14:31:10 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-12-19 14:31:11 +0000 |
| commit | e51a2b3b171f3c72a715bee3ad99c0f88efa3010 (patch) | |
| tree | cc398674bbad98c2396594de3890aa40b6a04c11 /openstackclient/tests/unit | |
| parent | 25c563d0d8e1b9cc5d9bcafa93b33628e29aed58 (diff) | |
| parent | 841d9d8dbd313b3dcf604466786d6b9a5c918156 (diff) | |
| download | python-openstackclient-e51a2b3b171f3c72a715bee3ad99c0f88efa3010.tar.gz | |
Merge "Add support for setting router gateway"
Diffstat (limited to 'openstackclient/tests/unit')
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_router.py | 112 |
1 files changed, 109 insertions, 3 deletions
diff --git a/openstackclient/tests/unit/network/v2/test_router.py b/openstackclient/tests/unit/network/v2/test_router.py index 8c1d5804..9183cb63 100644 --- a/openstackclient/tests/unit/network/v2/test_router.py +++ b/openstackclient/tests/unit/network/v2/test_router.py @@ -602,17 +602,19 @@ class TestSetRouter(TestRouter): # The router to set. _default_route = {'destination': '10.20.20.0/24', 'nexthop': '10.20.30.1'} + _network = network_fakes.FakeNetwork.create_one_network() + _subnet = network_fakes.FakeSubnet.create_one_subnet() _router = network_fakes.FakeRouter.create_one_router( attrs={'routes': [_default_route]} ) def setUp(self): super(TestSetRouter, self).setUp() - + self.network.router_add_gateway = mock.Mock() self.network.update_router = mock.Mock(return_value=None) - self.network.find_router = mock.Mock(return_value=self._router) - + self.network.find_network = mock.Mock(return_value=self._network) + self.network.find_subnet = mock.Mock(return_value=self._subnet) # Get the command object to test self.cmd = router.SetRouter(self.app, self.namespace) @@ -799,6 +801,110 @@ class TestSetRouter(TestRouter): self._router, **attrs) self.assertIsNone(result) + def test_wrong_gateway_params(self): + arglist = [ + "--fixed-ip", "subnet='abc'", + self._router.id, + ] + verifylist = [ + ('fixed_ip', [{'subnet': "'abc'"}]), + ('router', self._router.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + self.assertRaises(exceptions.CommandError, + self.cmd.take_action, parsed_args) + + def test_set_gateway_network_only(self): + arglist = [ + "--external-gateway", self._network.id, + self._router.id, + ] + verifylist = [ + ('external_gateway', self._network.id), + ('router', self._router.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.update_router.assert_called_with( + self._router, **{'external_gateway_info': { + 'network_id': self._network.id}}) + self.assertIsNone(result) + + def test_set_gateway_options_subnet_only(self): + arglist = [ + "--external-gateway", self._network.id, + "--fixed-ip", "subnet='abc'", + self._router.id, + '--enable-snat', + ] + verifylist = [ + ('router', self._router.id), + ('external_gateway', self._network.id), + ('fixed_ip', [{'subnet': "'abc'"}]), + ('enable_snat', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.update_router.assert_called_with( + self._router, **{'external_gateway_info': { + 'network_id': self._network.id, + 'external_fixed_ips': [{ + 'subnet_id': self._subnet.id, }], + 'enable_snat': True, }}) + self.assertIsNone(result) + + def test_set_gateway_option_ipaddress_only(self): + arglist = [ + "--external-gateway", self._network.id, + "--fixed-ip", "ip-address=10.0.1.1", + self._router.id, + '--enable-snat', + ] + verifylist = [ + ('router', self._router.id), + ('external_gateway', self._network.id), + ('fixed_ip', [{'ip-address': "10.0.1.1"}]), + ('enable_snat', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.update_router.assert_called_with( + self._router, **{'external_gateway_info': { + 'network_id': self._network.id, + 'external_fixed_ips': [{ + 'ip_address': "10.0.1.1", }], + 'enable_snat': True, }}) + self.assertIsNone(result) + + def test_set_gateway_options_subnet_ipaddress(self): + arglist = [ + "--external-gateway", self._network.id, + "--fixed-ip", "subnet='abc',ip-address=10.0.1.1", + self._router.id, + '--enable-snat', + ] + verifylist = [ + ('router', self._router.id), + ('external_gateway', self._network.id), + ('fixed_ip', [{'subnet': "'abc'", + 'ip-address': "10.0.1.1"}]), + ('enable_snat', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.update_router.assert_called_with( + self._router, **{'external_gateway_info': { + 'network_id': self._network.id, + 'external_fixed_ips': [{ + 'subnet_id': self._subnet.id, + 'ip_address': "10.0.1.1", }], + 'enable_snat': True, }}) + self.assertIsNone(result) + class TestShowRouter(TestRouter): |
