305
305
'ip_protocol': u'tcp'}]}
306
306
self.assertTrue(authz(self.context, group_name=sec['name'], **kwargs))
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',
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',
339
'groups': [{'groupName': u'somegroup1',
340
'userId': u'someuser'}],
345
'groups': [{'groupName': u'somegroup1',
346
'userId': u'someuser'}],
351
'groups': [{'groupName': u'othergroup2',
352
'userId': u'someuser'}],
353
'ipProtocol': u'tcp',
356
for rule in expected_rules:
357
self.assertTrue(rule in actual_rules)
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'])
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',
1545
1602
self.assertEqual(self.cloud._format_instance_mapping(ctxt,
1546
1603
instance_ref0),