18d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.unit import unittest 28d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.unit import AWSMockServiceTestCase 38d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 48d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom boto.vpc import VPCConnection, InternetGateway 58d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 68d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 78d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDescribeInternetGateway(AWSMockServiceTestCase): 88d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 98d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = VPCConnection 108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <DescribeInternetGatewaysResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/"> 148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <internetGatewaySet> 168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <item> 178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <internetGatewayId>igw-eaad4883EXAMPLE</internetGatewayId> 188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <attachmentSet> 198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <item> 208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <vpcId>vpc-11ad4878</vpcId> 218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <state>available</state> 228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </item> 238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </attachmentSet> 248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <tagSet/> 258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </item> 268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </internetGatewaySet> 278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </DescribeInternetGatewaysResponse> 288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_describe_internet_gateway(self): 318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.get_all_internet_gateways( 338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'igw-eaad4883EXAMPLE', filters=[('attachment.state', ['available', 'pending'])]) 348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'DescribeInternetGateways', 368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'InternetGatewayId.1': 'igw-eaad4883EXAMPLE', 378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Filter.1.Name': 'attachment.state', 388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Filter.1.Value.1': 'available', 398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Filter.1.Value.2': 'pending'}, 408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', 418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'SignatureVersion', 'Timestamp', 428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version']) 438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEquals(len(api_response), 1) 448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertIsInstance(api_response[0], InternetGateway) 458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(api_response[0].id, 'igw-eaad4883EXAMPLE') 468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestCreateInternetGateway(AWSMockServiceTestCase): 498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = VPCConnection 518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 538d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 548d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <CreateInternetGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/"> 558d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 568d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <internetGateway> 578d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <internetGatewayId>igw-eaad4883</internetGatewayId> 588d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <attachmentSet/> 598d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <tagSet/> 608d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </internetGateway> 618d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </CreateInternetGatewayResponse> 628d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 638d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 648d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_create_internet_gateway(self): 658d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 668d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_internet_gateway() 678d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 688d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'CreateInternetGateway'}, 698d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', 708d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'SignatureVersion', 'Timestamp', 718d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version']) 728d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertIsInstance(api_response, InternetGateway) 738d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(api_response.id, 'igw-eaad4883') 748d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 758d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 768d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDeleteInternetGateway(AWSMockServiceTestCase): 778d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 788d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = VPCConnection 798d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 808d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 818d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 828d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <DeleteInternetGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/"> 838d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 848d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <return>true</return> 858d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </DeleteInternetGatewayResponse> 868d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 878d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 888d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_delete_internet_gateway(self): 898d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 908d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.delete_internet_gateway('igw-eaad4883') 918d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 928d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'DeleteInternetGateway', 938d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'InternetGatewayId': 'igw-eaad4883'}, 948d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', 958d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'SignatureVersion', 'Timestamp', 968d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version']) 978d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEquals(api_response, True) 988d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 998d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1008d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestAttachInternetGateway(AWSMockServiceTestCase): 1018d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1028d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = VPCConnection 1038d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1048d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 1058d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 1068d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <AttachInternetGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/"> 1078d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 1088d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <return>true</return> 1098d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </AttachInternetGatewayResponse> 1108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 1118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_attach_internet_gateway(self): 1138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 1148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.attach_internet_gateway( 1158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'igw-eaad4883', 'vpc-11ad4878') 1168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 1178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'AttachInternetGateway', 1188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'InternetGatewayId': 'igw-eaad4883', 1198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'VpcId': 'vpc-11ad4878'}, 1208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', 1218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'SignatureVersion', 'Timestamp', 1228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version']) 1238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEquals(api_response, True) 1248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDetachInternetGateway(AWSMockServiceTestCase): 1278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = VPCConnection 1298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 1318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 1328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <DetachInternetGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/"> 1338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 1348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi <return>true</return> 1358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi </DetachInternetGatewayResponse> 1368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 1378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_detach_internet_gateway(self): 1398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 1408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.detach_internet_gateway( 1418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'igw-eaad4883', 'vpc-11ad4878') 1428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 1438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'DetachInternetGateway', 1448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'InternetGatewayId': 'igw-eaad4883', 1458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'VpcId': 'vpc-11ad4878'}, 1468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', 1478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'SignatureVersion', 'Timestamp', 1488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version']) 1498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEquals(api_response, True) 1508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiif __name__ == '__main__': 1528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi unittest.main() 153