Merge lp:~therve/txaws/security-group-fix into lp:txaws

Proposed by Thomas Herve
Status: Merged
Merge reported by: Thomas Herve
Merged at revision: not available
Proposed branch: lp:~therve/txaws/security-group-fix
Merge into: lp:txaws
Diff against target: 88 lines (+29/-14)
3 files modified
txaws/ec2/client.py (+5/-7)
txaws/ec2/tests/test_client.py (+2/-1)
txaws/testing/payload.py (+22/-6)
To merge this branch: bzr merge lp:~therve/txaws/security-group-fix
Reviewer Review Type Date Requested Status
Kapil Thangavelu (community) Approve
Review via email: mp+21642@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

looks good to me, +1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'txaws/ec2/client.py'
2--- txaws/ec2/client.py 2009-12-08 04:08:53 +0000
3+++ txaws/ec2/client.py 2010-03-18 14:46:33 +0000
4@@ -218,18 +218,16 @@
5 name = group_info.findtext("groupName")
6 description = group_info.findtext("groupDescription")
7 owner_id = group_info.findtext("ownerId")
8- allowed_groups = {}
9+ allowed_groups = []
10 allowed_ips = []
11 ip_permissions = group_info.find("ipPermissions") or []
12 for ip_permission in ip_permissions:
13 user_id = ip_permission.findtext("groups/item/userId")
14 group_name = ip_permission.findtext("groups/item/groupName")
15 if user_id and group_name:
16- key = (user_id, group_name)
17- if key not in allowed_groups:
18- user_group_pair = model.UserIDGroupPair(
19- user_id, group_name)
20- allowed_groups.setdefault(user_id, user_group_pair)
21+ user_group_pair = model.UserIDGroupPair(
22+ user_id, group_name)
23+ allowed_groups.append(user_group_pair)
24 else:
25 ip_protocol = ip_permission.findtext("ipProtocol")
26 from_port = int(ip_permission.findtext("fromPort"))
27@@ -241,7 +239,7 @@
28
29 security_group = model.SecurityGroup(
30 name, description, owner_id=owner_id,
31- groups=allowed_groups.values(), ips=allowed_ips)
32+ groups=allowed_groups, ips=allowed_ips)
33 result.append(security_group)
34 return result
35
36
37=== modified file 'txaws/ec2/tests/test_client.py'
38--- txaws/ec2/tests/test_client.py 2009-11-28 00:43:07 +0000
39+++ txaws/ec2/tests/test_client.py 2010-03-18 14:46:33 +0000
40@@ -422,7 +422,8 @@
41 self.assertEquals(security_group.description, "Web Servers")
42 self.assertEquals([(pair.user_id, pair.group_name)
43 for pair in security_group.allowed_groups],
44- [("group-user-id", "group-name")])
45+ [("group-user-id", "group-name1"),
46+ ("group-user-id", "group-name2")])
47 self.assertEquals(
48 [(ip.ip_protocol, ip.from_port, ip.to_port, ip.cidr_ip)
49 for ip in security_group.allowed_ips],
50
51=== modified file 'txaws/testing/payload.py'
52--- txaws/testing/payload.py 2009-11-23 00:55:44 +0000
53+++ txaws/testing/payload.py 2010-03-18 14:46:33 +0000
54@@ -247,12 +247,28 @@
55 </item>
56 <item>
57 <ipProtocol>udp</ipProtocol>
58- <fromPort>81</fromPort>
59- <toPort>81</toPort>
60- <groups>
61- <item>
62- <userId>group-user-id</userId>
63- <groupName>group-name</groupName>
64+ <fromPort>0</fromPort>
65+ <toPort>0</toPort>
66+ <groups>
67+ <item>
68+ <userId>group-user-id</userId>
69+ <groupName>group-name1</groupName>
70+ </item>
71+ </groups>
72+ <ipRanges>
73+ <item>
74+ <cidrIp>0.0.0.0/16</cidrIp>
75+ </item>
76+ </ipRanges>
77+ </item>
78+ <item>
79+ <ipProtocol>udp</ipProtocol>
80+ <fromPort>0</fromPort>
81+ <toPort>0</toPort>
82+ <groups>
83+ <item>
84+ <userId>group-user-id</userId>
85+ <groupName>group-name2</groupName>
86 </item>
87 </groups>
88 <ipRanges>

Subscribers

People subscribed via source and target branches

to all changes: