~gandelman-a/ubuntu/precise/nova/891227

« back to all changes in this revision

Viewing changes to nova/tests/test_cloud.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-09-20 15:44:39 UTC
  • mfrom: (1.1.31 upstream)
  • Revision ID: package-import@ubuntu.com-20110920154439-fb1rlzl2lb4hew92
Tags: 2011.3~rc~20110920.r1192-0ubuntu2
* debian/nova_sudoers:
  + Fix typo in nova_sudoers. 
  + Tabs vs Spaces.
* debian/nova.conf:
  + Use force_dhcp_release.

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)