Revision a71f835e test/ganeti.client.gnt_instance_unittest.py

b/test/ganeti.client.gnt_instance_unittest.py
119 119
    self.assertEqual(len(self._output), 0)
120 120

  
121 121

  
122
class TestConvertNicDiskModifications(unittest.TestCase):
123
  def test(self):
124
    fn = gnt_instance._ConvertNicDiskModifications
125

  
126
    self.assertEqual(fn([]), [])
127

  
128
    # Error cases
129
    self.assertRaises(errors.OpPrereqError, fn, [
130
      (constants.DDM_REMOVE, { "param": "value", }),
131
      ])
132
    self.assertRaises(errors.OpPrereqError, fn, [
133
      (0, { constants.DDM_REMOVE: True, "param": "value", }),
134
      ])
135
    self.assertRaises(errors.OpPrereqError, fn, [
136
      ("Hello", {}),
137
      ])
138
    self.assertRaises(errors.OpPrereqError, fn, [
139
      (0, {
140
        constants.DDM_REMOVE: True,
141
        constants.DDM_ADD: True,
142
        }),
143
      ])
144

  
145
    # Legacy calls
146
    for action in constants.DDMS_VALUES:
147
      self.assertEqual(fn([
148
        (action, {}),
149
        ]), [
150
        (action, -1, {}),
151
        ])
152

  
153
    self.assertEqual(fn([
154
      (constants.DDM_ADD, {
155
        constants.IDISK_SIZE: 1024,
156
        }),
157
      ]), [
158
      (constants.DDM_ADD, -1, {
159
        constants.IDISK_SIZE: 1024,
160
        }),
161
      ])
162

  
163
    # New-style calls
164
    self.assertEqual(fn([
165
      (2, {
166
        constants.IDISK_MODE: constants.DISK_RDWR,
167
        }),
168
      ]), [
169
      (constants.DDM_MODIFY, 2, {
170
        constants.IDISK_MODE: constants.DISK_RDWR,
171
        }),
172
      ])
173

  
174
    self.assertEqual(fn([
175
      (0, {
176
        constants.DDM_ADD: True,
177
        constants.IDISK_SIZE: 4096,
178
        }),
179
      ]), [
180
      (constants.DDM_ADD, 0, {
181
        constants.IDISK_SIZE: 4096,
182
        }),
183
      ])
184

  
185
    self.assertEqual(fn([
186
      (-1, {
187
        constants.DDM_REMOVE: True,
188
        }),
189
      ]), [
190
      (constants.DDM_REMOVE, -1, {}),
191
      ])
192

  
193

  
194
class TestParseDiskSizes(unittest.TestCase):
195
  def test(self):
196
    fn = gnt_instance._ParseDiskSizes
197

  
198
    self.assertEqual(fn([]), [])
199

  
200
    # Missing size parameter
201
    self.assertRaises(errors.OpPrereqError, fn, [
202
      (constants.DDM_ADD, 0, {}),
203
      ])
204

  
205
    # Converting disk size
206
    self.assertEqual(fn([
207
      (constants.DDM_ADD, 11, {
208
        constants.IDISK_SIZE: "9G",
209
        }),
210
      ]), [
211
        (constants.DDM_ADD, 11, {
212
          constants.IDISK_SIZE: 9216,
213
          }),
214
        ])
215

  
216
    # No size parameter
217
    self.assertEqual(fn([
218
      (constants.DDM_REMOVE, 11, {
219
        "other": "24M",
220
        }),
221
      ]), [
222
        (constants.DDM_REMOVE, 11, {
223
          "other": "24M",
224
          }),
225
        ])
226

  
227

  
122 228
if __name__ == "__main__":
123 229
  testutils.GanetiTestProgram()

Also available in: Unified diff