~rackspace-ozone/rackspace-nova/development

« back to all changes in this revision

Viewing changes to nova/tests/api/ec2/test_cloud.py

  • Committer: paul at openstack
  • Date: 2011-09-26 18:57:03 UTC
  • mfrom: (1098.1.519 nova)
  • Revision ID: paul@openstack.org-20110926185703-ad3bthrj309itbrw
merging Diablo

Show diffs side-by-side

added added

removed removed

Lines of Context:
305
305
                  'ip_protocol': u'tcp'}]}
306
306
        self.assertTrue(authz(self.context, group_name=sec['name'], **kwargs))
307
307
 
 
308
    def test_describe_security_group_ingress_groups(self):
 
309
        kwargs = {'project_id': self.context.project_id, 'name': 'test'}
 
310
        sec1 = db.security_group_create(self.context, kwargs)
 
311
        sec2 = db.security_group_create(self.context,
 
312
                                       {'project_id': 'someuser',
 
313
                                        'name': 'somegroup1'})
 
314
        sec3 = db.security_group_create(self.context,
 
315
                                       {'project_id': 'someuser',
 
316
                                        'name': 'othergroup2'})
 
317
        authz = self.cloud.authorize_security_group_ingress
 
318
        kwargs = {'ip_permissions': [
 
319
                  {'groups': {'1': {'user_id': u'someuser',
 
320
                                    'group_name': u'somegroup1'}}},
 
321
                  {'ip_protocol': 'tcp',
 
322
                   'from_port': 80,
 
323
                   'to_port': 80,
 
324
                   'groups': {'1': {'user_id': u'someuser',
 
325
                                    'group_name': u'othergroup2'}}}]}
 
326
        self.assertTrue(authz(self.context, group_name=sec1['name'], **kwargs))
 
327
        describe = self.cloud.describe_security_groups
 
328
        groups = describe(self.context, group_name=['test'])
 
329
        self.assertEquals(len(groups['securityGroupInfo']), 1)
 
330
        actual_rules = groups['securityGroupInfo'][0]['ipPermissions']
 
331
        self.assertEquals(len(actual_rules), 4)
 
332
        expected_rules = [{'fromPort': -1,
 
333
                           'groups': [{'groupName': 'somegroup1',
 
334
                                       'userId': 'someuser'}],
 
335
                           'ipProtocol': 'icmp',
 
336
                           'ipRanges': [],
 
337
                           'toPort': -1},
 
338
                          {'fromPort': 1,
 
339
                           'groups': [{'groupName': u'somegroup1',
 
340
                                       'userId': u'someuser'}],
 
341
                           'ipProtocol': 'tcp',
 
342
                           'ipRanges': [],
 
343
                           'toPort': 65535},
 
344
                          {'fromPort': 1,
 
345
                           'groups': [{'groupName': u'somegroup1',
 
346
                                       'userId': u'someuser'}],
 
347
                           'ipProtocol': 'udp',
 
348
                           'ipRanges': [],
 
349
                           'toPort': 65536},
 
350
                          {'fromPort': 80,
 
351
                           'groups': [{'groupName': u'othergroup2',
 
352
                                       'userId': u'someuser'}],
 
353
                           'ipProtocol': u'tcp',
 
354
                           'ipRanges': [],
 
355
                           'toPort': 80}]
 
356
        for rule in expected_rules:
 
357
            self.assertTrue(rule in actual_rules)
 
358
 
 
359
        db.security_group_destroy(self.context, sec3['id'])
 
360
        db.security_group_destroy(self.context, sec2['id'])
 
361
        db.security_group_destroy(self.context, sec1['id'])
 
362
 
308
363
    def test_revoke_security_group_ingress(self):
309
364
        kwargs = {'project_id': self.context.project_id, 'name': 'test'}
310
365
        sec = db.security_group_create(self.context, kwargs)
1540
1595
                    'ephemeral0': '/dev/sdb',
1541
1596
                    'swap': '/dev/sdc',
1542
1597
                    'ephemeral1': '/dev/sdd',
1543
 
                    'ephemeral2': '/dev/sd3'}
 
1598
                    'ephemeral2': '/dev/sd3',
 
1599
                    'ebs0': '/dev/sdh',
 
1600
                    'ebs1': '/dev/sdi'}
1544
1601
 
1545
1602
        self.assertEqual(self.cloud._format_instance_mapping(ctxt,
1546
1603
                                                             instance_ref0),