internuity-awsum 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. data/Rakefile +2 -1
  2. data/lib/awsum.rb +1 -1
  3. data/lib/ec2/address.rb +118 -0
  4. data/lib/ec2/availability_zone.rb +68 -0
  5. data/lib/ec2/keypair.rb +75 -0
  6. data/lib/ec2/region.rb +96 -0
  7. data/lib/ec2/security_group.rb +175 -0
  8. data/lib/error.rb +55 -0
  9. data/lib/net_fix.rb +100 -0
  10. data/lib/requestable.rb +2 -0
  11. data/lib/s3/bucket.rb +66 -0
  12. data/lib/s3/headers.rb +24 -0
  13. data/lib/s3/object.rb +138 -0
  14. data/lib/s3/s3.rb +219 -0
  15. data/test/fixtures/ec2/addresses.xml +10 -0
  16. data/test/fixtures/ec2/allocate_address.xml +5 -0
  17. data/test/fixtures/ec2/associate_address.xml +5 -0
  18. data/test/fixtures/ec2/authorize_ip_access.xml +5 -0
  19. data/test/fixtures/ec2/authorize_owner_group_access.xml +5 -0
  20. data/test/fixtures/ec2/authorize_owner_group_access_error.xml +2 -0
  21. data/test/fixtures/ec2/availability_zones.xml +16 -0
  22. data/test/fixtures/ec2/create_key_pair.xml +29 -0
  23. data/test/fixtures/ec2/create_security_group.xml +5 -0
  24. data/test/fixtures/ec2/delete_key_pair.xml +5 -0
  25. data/test/fixtures/ec2/delete_security_group.xml +5 -0
  26. data/test/fixtures/ec2/deregister_image.xml +5 -0
  27. data/test/fixtures/ec2/disassociate_address.xml +5 -0
  28. data/test/fixtures/ec2/internal_error.xml +2 -0
  29. data/test/fixtures/ec2/invalid_amiid_error.xml +2 -0
  30. data/test/fixtures/ec2/invalid_request_error.xml +2 -0
  31. data/test/fixtures/ec2/key_pairs.xml +10 -0
  32. data/test/fixtures/ec2/regions.xml +14 -0
  33. data/test/fixtures/ec2/register_image.xml +5 -0
  34. data/test/fixtures/ec2/release_address.xml +5 -0
  35. data/test/fixtures/ec2/revoke_ip_access.xml +5 -0
  36. data/test/fixtures/ec2/revoke_owner_group_access.xml +5 -0
  37. data/test/fixtures/ec2/security_groups.xml +159 -0
  38. data/test/fixtures/ec2/unassociated_address.xml +10 -0
  39. data/test/fixtures/s3/buckets.xml +2 -0
  40. data/test/fixtures/s3/copy_failure.xml +23 -0
  41. data/test/fixtures/s3/invalid_request_signature.xml +5 -0
  42. data/test/fixtures/s3/keys.xml +2 -0
  43. data/test/units/ec2/test_addresses.rb +60 -0
  44. data/test/units/ec2/test_keypair.rb +87 -0
  45. data/test/units/ec2/test_regions.rb +33 -0
  46. data/test/units/ec2/test_security_group.rb +105 -0
  47. data/test/units/s3/test_bucket.rb +58 -0
  48. data/test/units/s3/test_object.rb +111 -0
  49. data/test/units/s3/test_s3.rb +298 -0
  50. data/test/units/test_error.rb +101 -0
  51. data/test/units/test_requestable.rb +241 -0
  52. data/test/work_out_string_to_sign.rb +7 -0
  53. metadata +132 -43
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeAddressesResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>0a578151-76d1-4461-b1ce-ae36d39ec349</requestId>
4
+ <addressesSet>
5
+ <item>
6
+ <publicIp>127.0.0.1</publicIp>
7
+ <instanceId>i-3f1cc856</instanceId>
8
+ </item>
9
+ </addressesSet>
10
+ </DescribeAddressesResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <AllocateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>c4e3b090-0fd8-4e65-aed7-4c3fe8fc7702</requestId>
4
+ <publicIp>127.0.0.1</publicIp>
5
+ </AllocateAddressResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <AssociateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>668dec61-986c-468e-85be-4bfcd708fb1f</requestId>
4
+ <return>true</return>
5
+ </AssociateAddressResponse></return></requestId></AssociateAddressResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <AuthorizeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>80863a38-c204-492e-8c3e-d41b45379e3e</requestId>
4
+ <return>true</return>
5
+ </AuthorizeSecurityGroupIngressResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <AuthorizeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>0fa48cfd-7766-4713-aecd-140e50f24091</requestId>
4
+ <return>true</return>
5
+ </AuthorizeSecurityGroupIngressResponse>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0"?>
2
+ <Response><Errors><Error><Code>InvalidParameterCombination</Code><Message>The parameter 'CidrIp' may not be used in combination with 'SourceSecurityGroupOwnerId'</Message></Error></Errors><RequestID>6364d411-bdf0-4718-a2c9-219ebec33827</RequestID></Response>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeAvailabilityZonesResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>6ffe1588-28b8-4033-a07c-97b029c6930a</requestId>
4
+ <availabilityZoneInfo>
5
+ <item>
6
+ <zoneName>eu-west-1a</zoneName>
7
+ <zoneState>available</zoneState>
8
+ <regionName>eu-west-1</regionName>
9
+ </item>
10
+ <item>
11
+ <zoneName>eu-west-1b</zoneName>
12
+ <zoneState>available</zoneState>
13
+ <regionName>eu-west-1</regionName>
14
+ </item>
15
+ </availabilityZoneInfo>
16
+ </DescribeAvailabilityZonesResponse>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0"?>
2
+ <CreateKeyPairResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>6c6d3488-f769-431b-a838-2f630aa6c38b</requestId>
4
+ <keyName>test-keypair</keyName>
5
+ <keyFingerprint>ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab</keyFingerprint>
6
+ <keyMaterial>-----BEGIN RSA PRIVATE KEY-----
7
+ MIIEogIBAAKCAQEAqkxIjNxLV/shvaep5Kum3N2xTV6aBbXezVA4HHE371HSq3haKTcST7QYeQha
8
+ 92AmZojAm2ojqWMw9GJaeq/Q7NvXKdMgj3mKd7zY7tdC+HmKYVkAvJ9enuuVwPFxlt+5rPpZ2jS+
9
+ kl4MWEvWh1N5U1urx5gzHq2e/k7P+dCBwFnCHsg/p1mym4j4qwEHEviaUG6SnB8Xvuggp/pxCmJg
10
+ 9Gie4cXNgbBboEyAQDRb/AmrehbBa90GOVDjDGIzB98rOcJ22FRrpLqSl2D+FQKsXWboqgbIrgKT
11
+ ven7mzb8cgDJNrWTI/MNP8p8gNTh+L7gTwPDcGfaDBiRpn9t3FiTBwIDAQABAoIBAEmuNZmUWpjX
12
+ U/LdjtkcF1bqKCMkchlUZfCI664KojvOOAruSHwakrafYhNDtS/gjtzAAC19z64i93RU9XatiQRh
13
+ 3YcADM9ms604rNcxlY0x8NhLjNEPVv4FScav8AhqBci8jJGnTmi/fjHZphjo2c5iFEGILV3xmp/G
14
+ 857PQsQ4nOAzoV7fQPYow4XiO/xhGh8p8o2Z9Og3GdbEGH1v/051g3O1eU7PFyQaxmOGNYmklMuM
15
+ V/8l/LK+OKR0f9KgqcgDSlEbidqsmWM0a1/t7+I5W/mgXSZl5U4HN680DKbkzoX0kgoPN7XMbcSX
16
+ sHNguqDfrvkBUQu1vEaXebWfpekCgYEA0qVbcFGxKniyYxmvtSrbb5bpEnh6zRCGXgSU4fX41i8P
17
+ Xg15R7FnwGO5nuRXqGW6CSgfbA7YAVEQHunUOB0XWuJWgn6gsqvnCZvyfRnqyMJJjRhvuaUMTn/5
18
+ ikcayflqPFHvv5Z+pB3pWNaTD6lM5imdF1In9RBYL4q5Vpt9gl0CgYEAzvb6cS6Yi0PkxU3OOEmg
19
+ 98QcdTEd1hrk3r6uXI1TOeiUPIw+dyGCKa9OqpcFDs+0FskFs6RzztRh2gpwQZTH3UOYPqsjsWd+
20
+ AjL3jv+vmpU1OhnA0SpkyiiZtaSAV2N+Xlq8orG6fbnYFCdzHbufLFaoOpbGptmLfrwMSvnhXLMC
21
+ gYBxRsEcbqHycAOmLUsDBvAIW0QtTaLkIe3QI3CY7viI3bfK4T4GIs3jdP1+B9dn1IStpej36Cea
22
+ 1afwp9ga8PH9Stgwxr3ON4k/7qABTG2o1mpNOQXj9HDgygs8pC4wzTKnC3z9L4Yc5YT15DYjZuzW
23
+ nSxAPUsFi2uQ7W3ruCRPdQKBgGslsCiyb+UBpEmFa3L2o3BCRl1hrUmwKLcszsY5oFHFmCD0lk5E
24
+ ucds6/QjNUoiu+Bj+CC1zgLRL0ubxdwd848YtJQVM+hfZPwseL++naIRBzpqJMnlAcMrW9CPNqaH
25
+ at/cZ/ZuvtbiRPzCI7XL8a8ZugSDFJtC2xYkstSKI2NDAoGAIiwUwKRMJyB9IRXhMfpf6vsEza2t
26
+ urHVUdJUyIwvPJSh2PfkumwrPuk+P+8v6jJjJ0hsqOS+TLQwWclIGwGey/PMNRYqQDqnSUofNmza
27
+ XtGGfWTOD3AdDEH39RTd3Zmfirrjm1YsY/Nb54X+V5TN2uvm/yJBIbb4aLvfG74Jmoc=
28
+ -----END RSA PRIVATE KEY-----</keyMaterial>
29
+ </CreateKeyPairResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <CreateSecurityGroupResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>d11930fe-b8c5-461a-9259-c053a0c26fdf</requestId>
4
+ <return>true</return>
5
+ </CreateSecurityGroupResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <DeleteKeyPairResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>7fb897ed-4cbb-4330-bee5-28f99a42cdec</requestId>
4
+ <return>true</return>
5
+ </DeleteKeyPairResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <DeleteSecurityGroupResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>0de0677e-dc68-40f8-bdf9-bc7063ee4a70</requestId>
4
+ <return>true</return>
5
+ </DeleteSecurityGroupResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <DeregisterImageResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>00f39eca-1435-4773-ac7e-5154a0e7c564</requestId>
4
+ <return>true</return>
5
+ </DeregisterImageResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <DisassociateAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>932e1890-f95f-4b45-b7f1-315bcd0bea30</requestId>
4
+ <return>true</return>
5
+ </DisassociateAddressResponse>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0"?>
2
+ <Response><Errors><Error><Code>InternalError</Code><Message>An internal error has occurred</Message></Error></Errors><RequestID>5320267a-c091-4679-a619-a6d34fb0f195</RequestID></Response>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0"?>
2
+ <Response><Errors><Error><Code>InvalidAMIID.Malformed</Code><Message>Invalid id: "ami-dfa743b64"</Message></Error></Errors><RequestID>48760139-fea3-46f0-9ce0-1ec0893b0d71</RequestID></Response>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0"?>
2
+ <Response><Errors><Error><Code>InvalidRequest</Code><Message>The request received was invalid.</Message></Error></Errors><RequestID>7cbacf61-c7df-468a-8130-cf5d659f8144</RequestID></Response>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeKeyPairsResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>a647508d-775c-44e0-870b-3389ef6b5b10</requestId>
4
+ <keySet>
5
+ <item>
6
+ <keyName>gsg-keypair</keyName>
7
+ <keyFingerprint>ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab:ab</keyFingerprint>
8
+ </item>
9
+ </keySet>
10
+ </DescribeKeyPairsResponse>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeRegionsResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>862239db-7a6f-4c5b-affd-54e9c1d61170</requestId>
4
+ <regionInfo>
5
+ <item>
6
+ <regionName>eu-west-1</regionName>
7
+ <regionEndpoint>eu-west-1.ec2.amazonaws.com</regionEndpoint>
8
+ </item>
9
+ <item>
10
+ <regionName>us-east-1</regionName>
11
+ <regionEndpoint>us-east-1.ec2.amazonaws.com</regionEndpoint>
12
+ </item>
13
+ </regionInfo>
14
+ </DescribeRegionsResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <RegisterImageResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>e228afde-a95b-4004-881f-68ed4e1907d0</requestId>
4
+ <imageId>ami-4782652e</imageId>
5
+ </RegisterImageResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <ReleaseAddressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>48629abe-8357-4d13-89c3-ae9ec3df0155</requestId>
4
+ <return>true</return>
5
+ </ReleaseAddressResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <RevokeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>5060e829-b4f9-4957-8d15-f31e27d9a6ff</requestId>
4
+ <return>true</return>
5
+ </RevokeSecurityGroupIngressResponse>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0"?>
2
+ <RevokeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>5060e829-b4f9-4957-8d15-f31e27d9a6ff</requestId>
4
+ <return>true</return>
5
+ </RevokeSecurityGroupIngressResponse>
@@ -0,0 +1,159 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeSecurityGroupsResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>b452331e-76d8-4f08-933e-be058e91e2c7</requestId>
4
+ <securityGroupInfo>
5
+ <item>
6
+ <ownerId>111111111111</ownerId>
7
+ <groupName>default</groupName>
8
+ <groupDescription>default group</groupDescription>
9
+ <ipPermissions>
10
+ <item>
11
+ <ipProtocol>tcp</ipProtocol>
12
+ <fromPort>0</fromPort>
13
+ <toPort>65535</toPort>
14
+ <groups>
15
+ <item>
16
+ <userId>111111111111</userId>
17
+ <groupName>default</groupName>
18
+ </item>
19
+ </groups>
20
+ <ipRanges/>
21
+ </item>
22
+ <item>
23
+ <ipProtocol>udp</ipProtocol>
24
+ <fromPort>0</fromPort>
25
+ <toPort>65535</toPort>
26
+ <groups>
27
+ <item>
28
+ <userId>111111111111</userId>
29
+ <groupName>default</groupName>
30
+ </item>
31
+ </groups>
32
+ <ipRanges/>
33
+ </item>
34
+ <item>
35
+ <ipProtocol>icmp</ipProtocol>
36
+ <fromPort>-1</fromPort>
37
+ <toPort>-1</toPort>
38
+ <groups>
39
+ <item>
40
+ <userId>111111111111</userId>
41
+ <groupName>default</groupName>
42
+ </item>
43
+ </groups>
44
+ <ipRanges/>
45
+ </item>
46
+ <item>
47
+ <ipProtocol>tcp</ipProtocol>
48
+ <fromPort>22</fromPort>
49
+ <toPort>22</toPort>
50
+ <groups/>
51
+ <ipRanges>
52
+ <item>
53
+ <cidrIp>0.0.0.0/0</cidrIp>
54
+ </item>
55
+ </ipRanges>
56
+ </item>
57
+ <item>
58
+ <ipProtocol>tcp</ipProtocol>
59
+ <fromPort>80</fromPort>
60
+ <toPort>80</toPort>
61
+ <groups/>
62
+ <ipRanges>
63
+ <item>
64
+ <cidrIp>0.0.0.0/0</cidrIp>
65
+ </item>
66
+ </ipRanges>
67
+ </item>
68
+ <item>
69
+ <ipProtocol>tcp</ipProtocol>
70
+ <fromPort>443</fromPort>
71
+ <toPort>443</toPort>
72
+ <groups/>
73
+ <ipRanges>
74
+ <item>
75
+ <cidrIp>0.0.0.0/0</cidrIp>
76
+ </item>
77
+ </ipRanges>
78
+ </item>
79
+ <item>
80
+ <ipProtocol>tcp</ipProtocol>
81
+ <fromPort>9111</fromPort>
82
+ <toPort>9111</toPort>
83
+ <groups/>
84
+ <ipRanges>
85
+ <item>
86
+ <cidrIp>0.0.0.0/0</cidrIp>
87
+ </item>
88
+ </ipRanges>
89
+ </item>
90
+ </ipPermissions>
91
+ </item>
92
+ <item>
93
+ <ownerId>111111111111</ownerId>
94
+ <groupName>webservers</groupName>
95
+ <groupDescription>web</groupDescription>
96
+ <ipPermissions>
97
+ <item>
98
+ <ipProtocol>tcp</ipProtocol>
99
+ <fromPort>1</fromPort>
100
+ <toPort>65535</toPort>
101
+ <groups>
102
+ <item>
103
+ <userId>111111111111</userId>
104
+ <groupName>default</groupName>
105
+ </item>
106
+ <item>
107
+ <userId>111111111111</userId>
108
+ <groupName>webservers</groupName>
109
+ </item>
110
+ </groups>
111
+ <ipRanges/>
112
+ </item>
113
+ <item>
114
+ <ipProtocol>udp</ipProtocol>
115
+ <fromPort>1</fromPort>
116
+ <toPort>65535</toPort>
117
+ <groups>
118
+ <item>
119
+ <userId>111111111111</userId>
120
+ <groupName>default</groupName>
121
+ </item>
122
+ <item>
123
+ <userId>111111111111</userId>
124
+ <groupName>webservers</groupName>
125
+ </item>
126
+ </groups>
127
+ <ipRanges/>
128
+ </item>
129
+ <item>
130
+ <ipProtocol>icmp</ipProtocol>
131
+ <fromPort>-1</fromPort>
132
+ <toPort>-1</toPort>
133
+ <groups>
134
+ <item>
135
+ <userId>111111111111</userId>
136
+ <groupName>default</groupName>
137
+ </item>
138
+ <item>
139
+ <userId>111111111111</userId>
140
+ <groupName>webservers</groupName>
141
+ </item>
142
+ </groups>
143
+ <ipRanges/>
144
+ </item>
145
+ <item>
146
+ <ipProtocol>tcp</ipProtocol>
147
+ <fromPort>80</fromPort>
148
+ <toPort>80</toPort>
149
+ <groups/>
150
+ <ipRanges>
151
+ <item>
152
+ <cidrIp>0.0.0.0/0</cidrIp>
153
+ </item>
154
+ </ipRanges>
155
+ </item>
156
+ </ipPermissions>
157
+ </item>
158
+ </securityGroupInfo>
159
+ </DescribeSecurityGroupsResponse>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <DescribeAddressesResponse xmlns="http://ec2.amazonaws.com/doc/2008-12-01/">
3
+ <requestId>0a578151-76d1-4461-b1ce-ae36d39ec349</requestId>
4
+ <addressesSet>
5
+ <item>
6
+ <publicIp>127.0.0.1</publicIp>
7
+ <instanceId/>
8
+ </item>
9
+ </addressesSet>
10
+ </DescribeAddressesResponse>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>1111111111111111111111111111111111111111111111111111111111111111</ID><DisplayName>AAAAAA</DisplayName></Owner><Buckets><Bucket><Name>test-bucket</Name><CreationDate>2008-12-04T16:08:03.000Z</CreationDate></Bucket><Bucket><Name>another-test-bucket</Name><CreationDate>2009-01-02T08:25:27.000Z</CreationDate></Bucket></Buckets></ListAllMyBucketsResult>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ <Error>
19
+ <Code>TEST</Code>
20
+ <Message>TEST</Message>
21
+ <RequestId>TEST</RequestId>
22
+ <HostId>TEST</HostId>
23
+ </Error>
@@ -0,0 +1,5 @@
1
+ <Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><StringToSignBytes>50 55 54 0a 59 57 59 34 4d 47 4a 6c 4d 6d 55 32 5a 44 59 35 4e 32 59 79 4f 57 45 35 5a 44 67 31 59 6a 67 33 59 54 51 35 4f 54 6b 79 4d 44 55 3d 0a 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 0a 54 75 65 2c 20 32 37 20 4a 61 6e 20 32 30 30 39 20 30 35 3a 31 38 3a 30 36 20 2b 30 32 30 30 0a 2f 61 77 73 75 6d 2d 74 65 73 74 2d 62 75 63 6b 65 74 2f 74 65 73 74 31 2e 74 78 74</StringToSignBytes><RequestId>508F513C9D42C30E</RequestId><HostId>98di22wxhjhz0gCgNTHjJsH+Ywogv244W+sua24060WKPIjt2GGEhc0iYIsmMvVi</HostId><SignatureProvided>ryk9uqNKaI1wRaH7XLikD+pnwpM=</SignatureProvided><StringToSign>PUT
2
+ YWY4MGJlMmU2ZDY5N2YyOWE5ZDg1Yjg3YTQ5OTkyMDU=
3
+ application/x-www-form-urlencoded
4
+ Tue, 27 Jan 2009 05:18:06 +0200
5
+ /awsum-test-bucket/test1.txt</StringToSign><AWSAccessKeyId>1NJXGWMY8MX5G7SE7XG2</AWSAccessKeyId></Error>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>test.cyclemates.com</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>test/photo1.jpg</Key><LastModified>2008-12-07T13:47:59.000Z</LastModified><ETag>&quot;03bde534951a1c099724f569a53acb1e&quot;</ETag><Size>203841</Size><Owner><ID>1111111111111111111111111111111111111111111111111111111111111111</ID><DisplayName>AAAAAA</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>test/photo2.jpg</Key><LastModified>2008-12-07T13:48:13.000Z</LastModified><ETag>&quot;14c3a2e9a40b0c33451627b8ffec6081&quot;</ETag><Size>21102</Size><Owner><ID>1111111111111111111111111111111111111111111111111111111111111111</ID><DisplayName>AAAAAA</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
@@ -0,0 +1,60 @@
1
+ require File.expand_path('../../helper', File.dirname(__FILE__))
2
+
3
+ class AddressesTest < Test::Unit::TestCase
4
+ context "AddressParser:" do
5
+ context "Parsing the result of a call to DescribeAddresses" do
6
+ setup {
7
+ ec2 = Awsum::Ec2.new('abc', 'xyz')
8
+ xml = load_fixture('ec2/addresses')
9
+ parser = Awsum::Ec2::AddressParser.new(ec2)
10
+ @result = parser.parse(xml)
11
+ }
12
+
13
+ should "return an array of addresses" do
14
+ assert @result.is_a?(Array)
15
+ assert @result[0].is_a?(Awsum::Ec2::Address)
16
+ end
17
+
18
+ context ", the first address" do
19
+ setup {
20
+ @address = @result[0]
21
+ }
22
+
23
+ should "have the correct ip address" do
24
+ assert_equal "127.0.0.1", @address.public_ip
25
+ end
26
+
27
+ should "have the correct instance id" do
28
+ assert_equal 'i-3f1cc856', @address.instance_id
29
+ end
30
+ end
31
+ end
32
+
33
+ context "Parsing the result of a call to AllocateAddress" do
34
+ setup {
35
+ ec2 = Awsum::Ec2.new('abc', 'xyz')
36
+ xml = load_fixture('ec2/allocate_address')
37
+ parser = Awsum::Ec2::AddressParser.new(ec2)
38
+ @result = parser.parse(xml)
39
+ }
40
+
41
+ should "return an address" do
42
+ assert Awsum::Ec2::Address, @result.class
43
+ end
44
+
45
+ context ", the address" do
46
+ setup {
47
+ @address = @result[0]
48
+ }
49
+
50
+ should "have the correct ip address" do
51
+ assert_equal "127.0.0.1", @address.public_ip
52
+ end
53
+
54
+ should "have a nil instance id" do
55
+ assert_nil @address.instance_id
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end