Fix exception when plugin is being installed with --force
"put_request" does not return the request object, it returns dict ready to use dict. Change-Id: I4f2a18274e70e8687e2e9c83fc91081b0fa7bf2c Implements: blueprint plugins-security-fixes-delivery
This commit is contained in:
@@ -420,8 +420,7 @@ class Plugins(base.BaseObject):
|
||||
if resp_raw.status_code == 409 and force:
|
||||
# Replace plugin information
|
||||
url = cls.class_instance_path.format(id=resp['id'])
|
||||
resp_raw = cls.connection.put_request(url, metadata)
|
||||
resp = resp_raw.json()
|
||||
resp = cls.connection.put_request(url, metadata)
|
||||
else:
|
||||
resp_raw.raise_for_status()
|
||||
|
||||
|
||||
@@ -347,11 +347,13 @@ class TestPluginsObject(base.UnitTestCase):
|
||||
return_value=MagicMock(
|
||||
status_code=409,
|
||||
**{'json.return_value': {'id': 99}}))
|
||||
@patch.object(Plugins.connection, 'put_request')
|
||||
@patch.object(Plugins.connection, 'put_request', return_value='put_return')
|
||||
def test_update_or_create_updates_with_force(
|
||||
self, put_mock, post_mock, get_for_update_mock):
|
||||
meta = {'id': 99, 'version': '1.0.0', 'package_version': '2.0.0'}
|
||||
self.plugin.update_or_create(meta, force=True)
|
||||
self.assertEqual(
|
||||
self.plugin.update_or_create(meta, force=True),
|
||||
'put_return')
|
||||
post_mock.assert_called_once_with('plugins/', meta)
|
||||
get_for_update_mock.assert_called_once_with(meta)
|
||||
put_mock.assert_called_once_with('plugins/99', meta)
|
||||
|
||||
Reference in New Issue
Block a user