diff options
-rw-r--r-- | tests/unit/ec2/test_connection.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/unit/ec2/test_connection.py b/tests/unit/ec2/test_connection.py index e2e4653b..05c22ce9 100644 --- a/tests/unit/ec2/test_connection.py +++ b/tests/unit/ec2/test_connection.py @@ -671,6 +671,97 @@ class TestGetAllNetworkInterfaces(TestEC2ConnectionBase): self.assertEqual(5, parsed[0].attachment.device_index) +class TestGetAllImages(TestEC2ConnectionBase): + def default_body(self): + return """ +<DescribeImagesResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/"> + <requestId>e32375e8-4ac3-4099-a8bf-3ec902b9023e</requestId> + <imagesSet> + <item> + <imageId>ami-abcd1234</imageId> + <imageLocation>111111111111/windows2008r2-hvm-i386-20130702</imageLocation> + <imageState>available</imageState> + <imageOwnerId>111111111111</imageOwnerId> + <isPublic>false</isPublic> + <architecture>i386</architecture> + <imageType>machine</imageType> + <platform>windows</platform> + <viridianEnabled>true</viridianEnabled> + <name>Windows Test</name> + <description>Windows Test Description</description> + <billingProducts> + <item> + <billingProduct>bp-6ba54002</billingProduct> + </item> + </billingProducts> + <rootDeviceType>ebs</rootDeviceType> + <rootDeviceName>/dev/sda1</rootDeviceName> + <blockDeviceMapping> + <item> + <deviceName>/dev/sda1</deviceName> + <ebs> + <snapshotId>snap-abcd1234</snapshotId> + <volumeSize>30</volumeSize> + <deleteOnTermination>true</deleteOnTermination> + <volumeType>standard</volumeType> + </ebs> + </item> + <item> + <deviceName>xvdb</deviceName> + <virtualName>ephemeral0</virtualName> + </item> + <item> + <deviceName>xvdc</deviceName> + <virtualName>ephemeral1</virtualName> + </item> + <item> + <deviceName>xvdd</deviceName> + <virtualName>ephemeral2</virtualName> + </item> + <item> + <deviceName>xvde</deviceName> + <virtualName>ephemeral3</virtualName> + </item> + </blockDeviceMapping> + <virtualizationType>hvm</virtualizationType> + <hypervisor>xen</hypervisor> + </item> + </imagesSet> +</DescribeImagesResponse>""" + + def test_get_all_images(self): + self.set_http_response(status_code=200) + parsed = self.ec2.get_all_images() + self.assertEquals(1, len(parsed)) + self.assertEquals("ami-abcd1234", parsed[0].id) + self.assertEquals("111111111111/windows2008r2-hvm-i386-20130702", parsed[0].location) + self.assertEquals("available", parsed[0].state) + self.assertEquals("111111111111", parsed[0].ownerId) + self.assertEquals("111111111111", parsed[0].owner_id) + self.assertEquals(False, parsed[0].is_public) + self.assertEquals("i386", parsed[0].architecture) + self.assertEquals("machine", parsed[0].type) + self.assertEquals(None, parsed[0].kernel_id) + self.assertEquals(None, parsed[0].ramdisk_id) + self.assertEquals(None, parsed[0].owner_alias) + self.assertEquals("windows", parsed[0].platform) + self.assertEquals("Windows Test", parsed[0].name) + self.assertEquals("Windows Test Description", parsed[0].description) + self.assertEquals("ebs", parsed[0].root_device_type) + self.assertEquals("/dev/sda1", parsed[0].root_device_name) + self.assertEquals("hvm", parsed[0].virtualization_type) + self.assertEquals("xen", parsed[0].hypervisor) + self.assertEquals(None, parsed[0].instance_lifecycle) + + # 1 billing product parsed into a list + self.assertEquals(1, len(parsed[0].billing_products)) + self.assertEquals("bp-6ba54002", parsed[0].billing_products[0]) + + # Just verify length, there is already a block_device_mapping test + self.assertEquals(5, len(parsed[0].block_device_mapping)) + + # TODO: No tests for product codes? + class TestModifyInterfaceAttribute(TestEC2ConnectionBase): def default_body(self): |