def test_annotate_diff_resource_vers_conflict(self, m_patch, m_count):
m_count.return_value = list(range(1, 5))
path = '/test'
annotations = {'a1': 'v1', 'a2': 'v2'}
resource_version = "123"
new_resource_version = "456"
conflicting_obj = {'metadata': {
'annotations': annotations,
'resourceVersion': resource_version}}
actual_obj = {'metadata': {
'annotations': {'a1': 'v2'},
'resourceVersion': new_resource_version}}
conflicting_data = jsonutils.dumps(conflicting_obj, sort_keys=True)
m_resp_conflict = mock.MagicMock()
m_resp_conflict.ok = False
m_resp_conflict.status_code = requests.codes.conflict
m_patch.return_value = m_resp_conflict
with mock.patch.object(self.client, 'get') as m_get:
m_get.return_value = actual_obj
self.assertRaises(exc.K8sClientException,
self.client.annotate,
path, annotations,
resource_version=resource_version)
m_patch.assert_called_once_with(self.base_url + path,
data=conflicting_data,
headers=mock.ANY,
cert=(None, None), verify=False)
评论列表
文章目录