diff options
| author | Bence Romsics <bence.romsics@ericsson.com> | 2017-03-07 15:54:31 +0100 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-03-20 15:40:48 +0000 |
| commit | f1345dc06f91177ced17f102bcdaaa126fe12568 (patch) | |
| tree | e98f077515d9211ccf042cc8e682f2e5e4964daf /openstackclient/tests | |
| parent | b6f51cdfa0765640a0c1c8d81323682de871a4fe (diff) | |
| download | python-openstackclient-f1345dc06f91177ced17f102bcdaaa126fe12568.tar.gz | |
Make MAC address of port updatable
openstackclient does not allow the update of a port's MAC address.
However this is possible in neutron API (though by default policy
it is an admin-only operation). Allow it in openstackclient too.
Change-Id: Ibd9e0a6fbd1d0d461b8a8daee24dbb7c3f929df6
Closes-Bug: #1670707
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/functional/network/v2/test_port.py | 19 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_port.py | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/openstackclient/tests/functional/network/v2/test_port.py b/openstackclient/tests/functional/network/v2/test_port.py index 78c57273..bd5eefa5 100644 --- a/openstackclient/tests/functional/network/v2/test_port.py +++ b/openstackclient/tests/functional/network/v2/test_port.py @@ -147,3 +147,22 @@ class PortTests(base.TestCase): 'port show -f json ' + self.NAME )) self.assertEqual('', json_output.get('security_group_ids')) + + def test_port_admin_set(self): + """Test create, set (as admin), show, delete""" + json_output = json.loads(self.openstack( + 'port create -f json ' + + '--network ' + self.NETWORK_NAME + ' ' + self.NAME + )) + id_ = json_output.get('id') + self.addCleanup(self.openstack, 'port delete ' + id_) + + raw_output = self.openstack( + '--os-username admin ' + + 'port set --mac-address 11:22:33:44:55:66 ' + + self.NAME) + self.assertOutput('', raw_output) + json_output = json.loads(self.openstack( + 'port show -f json ' + self.NAME + )) + self.assertEqual(json_output.get('mac_address'), '11:22:33:44:55:66') diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py index 80eba3a8..d2df5841 100644 --- a/openstackclient/tests/unit/network/v2/test_port.py +++ b/openstackclient/tests/unit/network/v2/test_port.py @@ -987,6 +987,25 @@ class TestSetPort(TestPort): self.network.update_port.assert_called_once_with(_testport, **attrs) self.assertIsNone(result) + def test_overwrite_mac_address(self): + _testport = network_fakes.FakePort.create_one_port( + {'mac_address': '11:22:33:44:55:66'}) + self.network.find_port = mock.Mock(return_value=_testport) + arglist = [ + '--mac-address', '66:55:44:33:22:11', + _testport.name, + ] + verifylist = [ + ('mac_address', '66:55:44:33:22:11'), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + result = self.cmd.take_action(parsed_args) + attrs = { + 'mac_address': '66:55:44:33:22:11', + } + self.network.update_port.assert_called_once_with(_testport, **attrs) + self.assertIsNone(result) + def test_set_this(self): arglist = [ '--disable', |
