Revision ca4d59e3 snf-cyclades-app/synnefo/logic/tests.py
b/snf-cyclades-app/synnefo/logic/tests.py | ||
---|---|---|
193 | 193 |
self.assertEqual(db_vm.operstate, vm.operstate) |
194 | 194 |
self.assertEqual(db_vm.backendtime, vm.backendtime) |
195 | 195 |
|
196 |
def test_resize_msg(self, client): |
|
197 |
vm = mfactory.VirtualMachineFactory() |
|
198 |
# Test empty beparams |
|
199 |
for status in ["success", "error"]: |
|
200 |
msg = self.create_msg(operation='OP_INSTANCE_SET_PARAMS', |
|
201 |
instance=vm.backend_vm_id, |
|
202 |
beparams={}, |
|
203 |
status=status) |
|
204 |
client.reset_mock() |
|
205 |
update_db(client, msg) |
|
206 |
self.assertTrue(client.basic_ack.called) |
|
207 |
db_vm = VirtualMachine.objects.get(id=vm.id) |
|
208 |
self.assertEqual(db_vm.operstate, vm.operstate) |
|
209 |
# Test intermediate states |
|
210 |
for status in ["queued", "waiting", "running"]: |
|
211 |
msg = self.create_msg(operation='OP_INSTANCE_SET_PARAMS', |
|
212 |
instance=vm.backend_vm_id, |
|
213 |
beparams={"vcpus": 4, "minmem": 2048, |
|
214 |
"maxmem": 2048}, |
|
215 |
status=status) |
|
216 |
client.reset_mock() |
|
217 |
update_db(client, msg) |
|
218 |
self.assertTrue(client.basic_ack.called) |
|
219 |
db_vm = VirtualMachine.objects.get(id=vm.id) |
|
220 |
self.assertEqual(db_vm.operstate, "RESIZE") |
|
221 |
# Test operstate after error |
|
222 |
msg = self.create_msg(operation='OP_INSTANCE_SET_PARAMS', |
|
223 |
instance=vm.backend_vm_id, |
|
224 |
beparams={"vcpus": 4}, |
|
225 |
status="error") |
|
226 |
client.reset_mock() |
|
227 |
update_db(client, msg) |
|
228 |
self.assertTrue(client.basic_ack.called) |
|
229 |
db_vm = VirtualMachine.objects.get(id=vm.id) |
|
230 |
self.assertEqual(db_vm.operstate, "STOPPED") |
|
231 |
# Test success |
|
232 |
f1 = mfactory.FlavorFactory(cpu=4, ram=1024, disk_template="drbd", |
|
233 |
disk=1024) |
|
234 |
vm.flavor = f1 |
|
235 |
vm.save() |
|
236 |
f2 = mfactory.FlavorFactory(cpu=8, ram=2048, disk_template="drbd", |
|
237 |
disk=1024) |
|
238 |
msg = self.create_msg(operation='OP_INSTANCE_SET_PARAMS', |
|
239 |
instance=vm.backend_vm_id, |
|
240 |
beparams={"vcpus": 8, "minmem": 2048, |
|
241 |
"maxmem": 2048}, |
|
242 |
status="success") |
|
243 |
client.reset_mock() |
|
244 |
update_db(client, msg) |
|
245 |
self.assertTrue(client.basic_ack.called) |
|
246 |
db_vm = VirtualMachine.objects.get(id=vm.id) |
|
247 |
self.assertEqual(db_vm.operstate, "STOPPED") |
|
248 |
self.assertEqual(db_vm.flavor, f2) |
|
249 |
msg = self.create_msg(operation='OP_INSTANCE_SET_PARAMS', |
|
250 |
instance=vm.backend_vm_id, |
|
251 |
beparams={"vcpus": 100, "minmem": 2048, |
|
252 |
"maxmem": 2048}, |
|
253 |
status="success") |
|
254 |
client.reset_mock() |
|
255 |
update_db(client, msg) |
|
256 |
self.assertTrue(client.basic_reject.called) |
|
257 |
|
|
196 | 258 |
|
197 | 259 |
@patch('synnefo.lib.amqp.AMQPClient') |
198 | 260 |
class UpdateNetTest(TestCase): |
Also available in: Unified diff