Revision 5e34123e

b/lib/hypervisor/hv_kvm.py
194 194
    """
195 195
    self.data[field_name] = field_value
196 196

  
197
  def __len__(self):
198
    """Return the number of fields stored in this QmpMessage.
199

  
200
    """
201
    return len(self.data)
202

  
203
  def __delitem__(self, key):
204
    """Delete the specified element from the QmpMessage.
205

  
206
    """
207
    del(self.data[key])
208

  
197 209
  @staticmethod
198 210
  def BuildFromJsonString(json_string):
199 211
    """Build a QmpMessage from a JSON encoded string.
b/test/py/ganeti.hypervisor.hv_kvm_unittest.py
135 135

  
136 136
    rebuilt_message = hv_kvm.QmpMessage.BuildFromJsonString(serialized)
137 137
    self.assertEqual(rebuilt_message, message)
138
    self.assertEqual(len(rebuilt_message), len(test_data))
139

  
140
  def testDelete(self):
141
    toDelete = "execute"
142
    test_data = {
143
      toDelete: "command",
144
      "arguments": ["a", "b", "c"],
145
      }
146
    message = hv_kvm.QmpMessage(test_data)
147

  
148
    oldLen = len(message)
149
    del(message[toDelete])
150
    newLen = len(message)
151
    self.assertEqual(oldLen - 1, newLen)
138 152

  
139 153

  
140 154
class TestQmp(testutils.GanetiTestCase):

Also available in: Unified diff