diff --git a/f5/bigip/tm/sys/license.py b/f5/bigip/tm/sys/license.py index df150f9bc..c38d3d489 100644 --- a/f5/bigip/tm/sys/license.py +++ b/f5/bigip/tm/sys/license.py @@ -41,7 +41,7 @@ def __init__(self, sys): super(License, self).__init__(sys) self._meta_data['required_json_kind'] =\ "tm:sys:license:licensestats" - self._meta_data['allowed_commands'].append('revoke') + self._meta_data['allowed_commands'].extend(['revoke', 'install']) def exec_cmd(self, command, **kwargs): self._is_allowed_command(command) diff --git a/f5/bigip/tm/sys/test/unit/test_license.py b/f5/bigip/tm/sys/test/unit/test_license.py index 617edf285..27222bc80 100644 --- a/f5/bigip/tm/sys/test/unit/test_license.py +++ b/f5/bigip/tm/sys/test/unit/test_license.py @@ -37,3 +37,17 @@ def test_delete_raises(FakeLicense): with pytest.raises(UnsupportedMethod) as EIO: FakeLicense.delete() assert str(EIO.value) == "License does not support the delete method" + + +def test_exec_install(FakeLicense): + assert "install" in FakeLicense._meta_data['allowed_commands'] + FakeLicense._meta_data['bigip']._meta_data.__getitem__.return_value = "14.0.0" + FakeLicense._exec_cmd = mock.MagicMock() + version_dict = {"13.1.0": 13, "14.0.0": 14} + + def get_version(version): + return version_dict[version] + + License.LooseVersion = mock.MagicMock(side_effect=get_version) + FakeLicense.exec_cmd("install", registrationKey='1234-56789-0') + FakeLicense._exec_cmd.assert_called_with("install", registrationKey='1234-56789-0')