18d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi# -*- coding: UTF-8 -*-
28d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.compat import OrderedDict
38d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.unit import unittest
48d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.unit import AWSMockServiceTestCase
58d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
68d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom boto.vpc import VPCConnection, VpnGateway, Attachment
78d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
88d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
98d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDescribeVpnGateways(AWSMockServiceTestCase):
108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <DescribeVpnGatewaysResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              <vpnGatewaySet>
188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <item>
198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <vpnGatewayId>vgw-8db04f81</vpnGatewayId>
208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <state>available</state>
218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <type>ipsec.1</type>
228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <availabilityZone>us-east-1a</availabilityZone>
238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <attachments>
248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                    <item>
258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                      <vpcId>vpc-1a2b3c4d</vpcId>
268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                      <state>attached</state>
278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                    </item>
288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  </attachments>
298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <tagSet/>
308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                </item>
318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              </vpnGatewaySet>
328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </DescribeVpnGatewaysResponse>
338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_get_all_vpn_gateways(self):
368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.get_all_vpn_gateways(
388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'vgw-8db04f81', filters=OrderedDict([('state', ['pending', 'available']),
398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                     ('availability-zone', 'us-east-1a')]))
408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'DescribeVpnGateways',
428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpnGatewayId.1': 'vgw-8db04f81',
438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Filter.1.Name': 'state',
448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Filter.1.Value.1': 'pending',
458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Filter.1.Value.2': 'available',
468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Filter.2.Name': 'availability-zone',
478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Filter.2.Value.1': 'us-east-1a'},
488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(len(api_response), 1)
528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertIsInstance(api_response[0], VpnGateway)
538d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(api_response[0].id, 'vgw-8db04f81')
548d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
558d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
568d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestCreateVpnGateway(AWSMockServiceTestCase):
578d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
588d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
598d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
608d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
618d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
628d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <CreateVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
638d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
648d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              <vpnGateway>
658d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <vpnGatewayId>vgw-8db04f81</vpnGatewayId>
668d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <state>pending</state>
678d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <type>ipsec.1</type>
688d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <availabilityZone>us-east-1a</availabilityZone>
698d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <attachments/>
708d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <tagSet/>
718d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi              </vpnGateway>
728d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </CreateVpnGatewayResponse>
738d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
748d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
758d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_delete_vpn_gateway(self):
768d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
778d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.create_vpn_gateway('ipsec.1', 'us-east-1a')
788d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
798d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'CreateVpnGateway',
808d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'AvailabilityZone': 'us-east-1a',
818d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Type': 'ipsec.1'},
828d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
838d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
848d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
858d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertIsInstance(api_response, VpnGateway)
868d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEquals(api_response.id, 'vgw-8db04f81')
878d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
888d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
898d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDeleteVpnGateway(AWSMockServiceTestCase):
908d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
918d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
928d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
938d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
948d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
958d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <DeleteVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
968d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
978d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <return>true</return>
988d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </DeleteVpnGatewayResponse>
998d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
1008d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1018d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_delete_vpn_gateway(self):
1028d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
1038d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.delete_vpn_gateway('vgw-8db04f81')
1048d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
1058d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'DeleteVpnGateway',
1068d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpnGatewayId': 'vgw-8db04f81'},
1078d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
1088d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
1098d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
1108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(api_response, True)
1118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestAttachVpnGateway(AWSMockServiceTestCase):
1148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
1168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
1188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
1198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <AttachVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
1208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
1218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <attachment>
1228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <vpcId>vpc-1a2b3c4d</vpcId>
1238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                  <state>attaching</state>
1248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               </attachment>
1258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </AttachVpnGatewayResponse>
1268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
1278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_attach_vpn_gateway(self):
1298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
1308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.attach_vpn_gateway('vgw-8db04f81', 'vpc-1a2b3c4d')
1318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
1328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'AttachVpnGateway',
1338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpnGatewayId': 'vgw-8db04f81',
1348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpcId': 'vpc-1a2b3c4d'},
1358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
1368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
1378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
1388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertIsInstance(api_response, Attachment)
1398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEquals(api_response.vpc_id, 'vpc-1a2b3c4d')
1408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEquals(api_response.state, 'attaching')
1418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDetachVpnGateway(AWSMockServiceTestCase):
1448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
1468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
1488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
1498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <DetachVpnGatewayResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
1508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
1518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi               <return>true</return>
1528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </DetachVpnGatewayResponse>
1538d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
1548d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1558d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_detach_vpn_gateway(self):
1568d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
1578d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.detach_vpn_gateway('vgw-8db04f81', 'vpc-1a2b3c4d')
1588d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
1598d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'DetachVpnGateway',
1608d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpnGatewayId': 'vgw-8db04f81',
1618d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'VpcId': 'vpc-1a2b3c4d'},
1628d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
1638d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
1648d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
1658d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(api_response, True)
1668d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1678d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1688d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestDisableVgwRoutePropagation(AWSMockServiceTestCase):
1698d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1708d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
1718d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1728d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
1738d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
1748d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <DisableVgwRoutePropagationResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
1758d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <requestId>4f35a1b2-c2c3-4093-b51f-abb9d7311990</requestId>
1768d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <return>true</return>
1778d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </DisableVgwRoutePropagationResponse>
1788d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
1798d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1808d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_disable_vgw_route_propagation(self):
1818d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
1828d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.disable_vgw_route_propagation(
1838d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'rtb-c98a35a0', 'vgw-d8e09e8a')
1848d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
1858d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'DisableVgwRoutePropagation',
1868d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'GatewayId': 'vgw-d8e09e8a',
1878d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'RouteTableId': 'rtb-c98a35a0'},
1888d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
1898d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
1908d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
1918d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(api_response, True)
1928d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1938d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1948d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestEnableVgwRoutePropagation(AWSMockServiceTestCase):
1958d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1968d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    connection_class = VPCConnection
1978d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
1988d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def default_body(self):
1998d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        return b"""
2008d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            <DisableVgwRoutePropagationResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-01/">
2018d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <requestId>4f35a1b2-c2c3-4093-b51f-abb9d7311990</requestId>
2028d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                <return>true</return>
2038d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            </DisableVgwRoutePropagationResponse>
2048d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        """
2058d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
2068d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    def test_enable_vgw_route_propagation(self):
2078d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.set_http_response(status_code=200)
2088d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        api_response = self.service_connection.enable_vgw_route_propagation(
2098d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'rtb-c98a35a0', 'vgw-d8e09e8a')
2108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assert_request_parameters({
2118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'Action': 'EnableVgwRoutePropagation',
2128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'GatewayId': 'vgw-d8e09e8a',
2138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            'RouteTableId': 'rtb-c98a35a0'},
2148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi            ignore_params_values=['AWSAccessKeyId', 'SignatureMethod',
2158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'SignatureVersion', 'Timestamp',
2168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi                                  'Version'])
2178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi        self.assertEqual(api_response, True)
2188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi
2198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiif __name__ == '__main__':
2208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi    unittest.main()
221