~cloudbuilders/nova/os-keypair-integration

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/contrib/test_security_groups.py

  • Committer: Vishvananda Ishaya
  • Date: 2011-09-01 04:55:12 UTC
  • mfrom: (1455.1.62 nova)
  • Revision ID: vishvananda@gmail.com-20110901045512-ndwp9nu3alwbnnj8
merge trunk, fix tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
360
360
 
361
361
    def test_associate_by_invalid_server_id(self):
362
362
        body = dict(addSecurityGroup=dict(name='test'))
363
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
363
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
364
364
                       return_security_group)
365
365
        req = webob.Request.blank('/v1.1/123/servers/invalid/action')
366
366
        req.headers['Content-Type'] = 'application/json'
372
372
    def test_associate_without_body(self):
373
373
        req = webob.Request.blank('/v1.1/123/servers/1/action')
374
374
        body = dict(addSecurityGroup=None)
375
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
375
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
376
376
        req.headers['Content-Type'] = 'application/json'
377
377
        req.method = 'POST'
378
378
        req.body = json.dumps(body)
382
382
    def test_associate_no_security_group_name(self):
383
383
        req = webob.Request.blank('/v1.1/123/servers/1/action')
384
384
        body = dict(addSecurityGroup=dict())
385
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
385
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
386
386
        req.headers['Content-Type'] = 'application/json'
387
387
        req.method = 'POST'
388
388
        req.body = json.dumps(body)
392
392
    def test_associate_security_group_name_with_whitespaces(self):
393
393
        req = webob.Request.blank('/v1.1/123/servers/1/action')
394
394
        body = dict(addSecurityGroup=dict(name="   "))
395
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
395
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
396
396
        req.headers['Content-Type'] = 'application/json'
397
397
        req.method = 'POST'
398
398
        req.body = json.dumps(body)
400
400
        self.assertEquals(response.status_int, 400)
401
401
 
402
402
    def test_associate_non_existing_instance(self):
403
 
        self.stubs.Set(nova.db, 'instance_get', return_server_nonexistant)
 
403
        self.stubs.Set(nova.db.api, 'instance_get', return_server_nonexistant)
404
404
        body = dict(addSecurityGroup=dict(name="test"))
405
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
405
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
406
406
                       return_security_group)
407
407
        req = webob.Request.blank('/v1.1/123/servers/10000/action')
408
408
        req.headers['Content-Type'] = 'application/json'
412
412
        self.assertEquals(response.status_int, 404)
413
413
 
414
414
    def test_associate_non_running_instance(self):
415
 
        self.stubs.Set(nova.db, 'instance_get', return_non_running_server)
416
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
415
        self.stubs.Set(nova.db.api, 'instance_get', return_non_running_server)
 
416
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
417
417
                       return_security_group_without_instances)
418
418
        body = dict(addSecurityGroup=dict(name="test"))
419
419
        req = webob.Request.blank('/v1.1/123/servers/1/action')
424
424
        self.assertEquals(response.status_int, 400)
425
425
 
426
426
    def test_associate_already_associated_security_group_to_instance(self):
427
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
428
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
427
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
428
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
429
429
                       return_security_group)
430
430
        body = dict(addSecurityGroup=dict(name="test"))
431
431
        req = webob.Request.blank('/v1.1/123/servers/1/action')
436
436
        self.assertEquals(response.status_int, 400)
437
437
 
438
438
    def test_associate(self):
439
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
440
 
        self.mox.StubOutWithMock(nova.db, 'instance_add_security_group')
441
 
        nova.db.instance_add_security_group(mox.IgnoreArg(),
 
439
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
440
        self.mox.StubOutWithMock(nova.db.api, 'instance_add_security_group')
 
441
        nova.db.api.instance_add_security_group(mox.IgnoreArg(),
442
442
                                    mox.IgnoreArg(),
443
443
                                    mox.IgnoreArg())
444
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
444
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
445
445
                       return_security_group_without_instances)
446
446
        self.mox.ReplayAll()
447
447
 
454
454
        self.assertEquals(response.status_int, 202)
455
455
 
456
456
    def test_associate_xml(self):
457
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
458
 
        self.mox.StubOutWithMock(nova.db, 'instance_add_security_group')
459
 
        nova.db.instance_add_security_group(mox.IgnoreArg(),
 
457
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
458
        self.mox.StubOutWithMock(nova.db.api, 'instance_add_security_group')
 
459
        nova.db.api.instance_add_security_group(mox.IgnoreArg(),
460
460
                                    mox.IgnoreArg(),
461
461
                                    mox.IgnoreArg())
462
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
462
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
463
463
                       return_security_group_without_instances)
464
464
        self.mox.ReplayAll()
465
465
 
483
483
 
484
484
    def test_disassociate_by_invalid_server_id(self):
485
485
        body = dict(removeSecurityGroup=dict(name='test'))
486
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
486
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
487
487
                       return_security_group)
488
488
        req = webob.Request.blank('/v1.1/123/servers/invalid/action')
489
489
        req.headers['Content-Type'] = 'application/json'
495
495
    def test_disassociate_without_body(self):
496
496
        req = webob.Request.blank('/v1.1/123/servers/1/action')
497
497
        body = dict(removeSecurityGroup=None)
498
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
498
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
499
499
        req.headers['Content-Type'] = 'application/json'
500
500
        req.method = 'POST'
501
501
        req.body = json.dumps(body)
505
505
    def test_disassociate_no_security_group_name(self):
506
506
        req = webob.Request.blank('/v1.1/123/servers/1/action')
507
507
        body = dict(removeSecurityGroup=dict())
508
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
508
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
509
509
        req.headers['Content-Type'] = 'application/json'
510
510
        req.method = 'POST'
511
511
        req.body = json.dumps(body)
515
515
    def test_disassociate_security_group_name_with_whitespaces(self):
516
516
        req = webob.Request.blank('/v1.1/123/servers/1/action')
517
517
        body = dict(removeSecurityGroup=dict(name="   "))
518
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
 
518
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
519
519
        req.headers['Content-Type'] = 'application/json'
520
520
        req.method = 'POST'
521
521
        req.body = json.dumps(body)
523
523
        self.assertEquals(response.status_int, 400)
524
524
 
525
525
    def test_disassociate_non_existing_instance(self):
526
 
        self.stubs.Set(nova.db, 'instance_get', return_server_nonexistant)
 
526
        self.stubs.Set(nova.db.api, 'instance_get', return_server_nonexistant)
527
527
        body = dict(removeSecurityGroup=dict(name="test"))
528
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
528
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
529
529
                       return_security_group)
530
530
        req = webob.Request.blank('/v1.1/123/servers/10000/action')
531
531
        req.headers['Content-Type'] = 'application/json'
535
535
        self.assertEquals(response.status_int, 404)
536
536
 
537
537
    def test_disassociate_non_running_instance(self):
538
 
        self.stubs.Set(nova.db, 'instance_get', return_non_running_server)
539
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
538
        self.stubs.Set(nova.db.api, 'instance_get', return_non_running_server)
 
539
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
540
540
                       return_security_group)
541
541
        body = dict(removeSecurityGroup=dict(name="test"))
542
542
        req = webob.Request.blank('/v1.1/123/servers/1/action')
547
547
        self.assertEquals(response.status_int, 400)
548
548
 
549
549
    def test_disassociate_already_associated_security_group_to_instance(self):
550
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
551
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
550
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
551
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
552
552
                       return_security_group_without_instances)
553
553
        body = dict(removeSecurityGroup=dict(name="test"))
554
554
        req = webob.Request.blank('/v1.1/123/servers/1/action')
559
559
        self.assertEquals(response.status_int, 400)
560
560
 
561
561
    def test_disassociate(self):
562
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
563
 
        self.mox.StubOutWithMock(nova.db, 'instance_remove_security_group')
564
 
        nova.db.instance_remove_security_group(mox.IgnoreArg(),
 
562
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
563
        self.mox.StubOutWithMock(nova.db.api, 'instance_remove_security_group')
 
564
        nova.db.api.instance_remove_security_group(mox.IgnoreArg(),
565
565
                                    mox.IgnoreArg(),
566
566
                                    mox.IgnoreArg())
567
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
567
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
568
568
                       return_security_group)
569
569
        self.mox.ReplayAll()
570
570
 
577
577
        self.assertEquals(response.status_int, 202)
578
578
 
579
579
    def test_disassociate_xml(self):
580
 
        self.stubs.Set(nova.db, 'instance_get', return_server)
581
 
        self.mox.StubOutWithMock(nova.db, 'instance_remove_security_group')
582
 
        nova.db.instance_remove_security_group(mox.IgnoreArg(),
 
580
        self.stubs.Set(nova.db.api, 'instance_get', return_server)
 
581
        self.mox.StubOutWithMock(nova.db.api, 'instance_remove_security_group')
 
582
        nova.db.api.instance_remove_security_group(mox.IgnoreArg(),
583
583
                                    mox.IgnoreArg(),
584
584
                                    mox.IgnoreArg())
585
 
        self.stubs.Set(nova.db, 'security_group_get_by_name',
 
585
        self.stubs.Set(nova.db.api, 'security_group_get_by_name',
586
586
                       return_security_group)
587
587
        self.mox.ReplayAll()
588
588