You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2017/04/13 09:33:45 UTC
[39/46] libcloud git commit: introduce chinese utf8 charset back into
ecs driver. add tests to file fixtures to make sure things dont get mangled
introduce chinese utf8 charset back into ecs driver. add tests to file fixtures to make sure things dont get mangled
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/18bc55de
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/18bc55de
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/18bc55de
Branch: refs/heads/trunk
Commit: 18bc55de9b667ed6b5f2bdedd3daa27e66c9560b
Parents: f533aa6
Author: Anthony Shaw <an...@apache.org>
Authored: Thu Apr 13 14:07:21 2017 +1000
Committer: Anthony Shaw <an...@apache.org>
Committed: Thu Apr 13 14:07:21 2017 +1000
----------------------------------------------------------------------
.../compute/fixtures/ecs/describe_images.xml | 2 +-
.../compute/fixtures/ecs/describe_regions.xml | 20 ++++----
.../compute/fixtures/ecs/describe_zones.xml | 4 +-
.../fixtures/ecs/pages_describe_images.xml | 4 +-
.../ecs/pages_describe_images_page2.xml | 2 +-
.../test/compute/fixtures/meta/unicode.json | 1 +
libcloud/test/compute/fixtures/meta/unicode.xml | 2 +
libcloud/test/compute/test_ecs.py | 3 +-
libcloud/test/test_file_fixtures.py | 48 +++++++++++++++++++-
9 files changed, 68 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/ecs/describe_images.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/ecs/describe_images.xml b/libcloud/test/compute/fixtures/ecs/describe_images.xml
index afc3836..80b1a31 100644
--- a/libcloud/test/compute/fixtures/ecs/describe_images.xml
+++ b/libcloud/test/compute/fixtures/ecs/describe_images.xml
@@ -12,7 +12,7 @@
<ProductCode></ProductCode>
<OSType>linux</OSType>
<Architecture>x86_64</Architecture>
- <OSName>FreeBSD 10.1 64</OSName>
+ <OSName>FreeBSD 10.1 64\u4f4d</OSName>
<DiskDeviceMappings>
<DiskDeviceMapping>
<ImportOSSObject></ImportOSSObject>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/ecs/describe_regions.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/ecs/describe_regions.xml b/libcloud/test/compute/fixtures/ecs/describe_regions.xml
index 7b0fbd5..d77729d 100644
--- a/libcloud/test/compute/fixtures/ecs/describe_regions.xml
+++ b/libcloud/test/compute/fixtures/ecs/describe_regions.xml
@@ -4,39 +4,39 @@
<Regions>
<Region>
<RegionId>ap-southeast-1</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u4e9a\u592a\uff08\u65b0\u52a0\u5761\uff09</LocalName>
</Region>
<Region>
<RegionId>cn-shenzhen</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u6df1\u5733</LocalName>
</Region>
<Region>
<RegionId>cn-qingdao</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u9752\u5c9b</LocalName>
</Region>
<Region>
<RegionId>cn-beijing</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u5317\u4eac</LocalName>
</Region>
<Region>
<RegionId>cn-shanghai</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u4e0a\u6d77</LocalName>
</Region>
<Region>
<RegionId>us-east-1</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u7f8e\u4e1c\u5f17\u5409\u5c3c\u4e9a</LocalName>
</Region>
<Region>
<RegionId>cn-hongkong</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u9999\u6e2f</LocalName>
</Region>
<Region>
<RegionId>cn-hangzhou</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u676d\u5dde</LocalName>
</Region>
<Region>
<RegionId>us-west-1</RegionId>
- <LocalName></LocalName>
+ <LocalName>\u7f8e\u56fd\u7845\u8c37</LocalName>
</Region>
</Regions>
-</DescribeRegionsResponse>
+</DescribeRegionsResponse>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/ecs/describe_zones.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/ecs/describe_zones.xml b/libcloud/test/compute/fixtures/ecs/describe_zones.xml
index a953553..29be7f0 100644
--- a/libcloud/test/compute/fixtures/ecs/describe_zones.xml
+++ b/libcloud/test/compute/fixtures/ecs/describe_zones.xml
@@ -31,7 +31,7 @@
<InstanceTypes>ecs.s1.medium</InstanceTypes>
</AvailableInstanceTypes>
<ZoneId>cn-qingdao-b</ZoneId>
- <LocalName>B</LocalName>
+ <LocalName>\u9752\u5c9b\u53ef\u7528\u533aB</LocalName>
<AvailableDiskCategories>
<DiskCategories>cloud_ssd</DiskCategories>
<DiskCategories>ephemeral</DiskCategories>
@@ -39,4 +39,4 @@
</AvailableDiskCategories>
</Zone>
</Zones>
-</DescribeZonesResponse>
+</DescribeZonesResponse>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/ecs/pages_describe_images.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/ecs/pages_describe_images.xml b/libcloud/test/compute/fixtures/ecs/pages_describe_images.xml
index 25f9cc3..0190f87 100644
--- a/libcloud/test/compute/fixtures/ecs/pages_describe_images.xml
+++ b/libcloud/test/compute/fixtures/ecs/pages_describe_images.xml
@@ -12,7 +12,7 @@
<ProductCode></ProductCode>
<OSType>linux</OSType>
<Architecture>x86_64</Architecture>
- <OSName>FreeBSD 10.1 64</OSName>
+ <OSName>FreeBSD 10.1 64\u4f4d</OSName>
<DiskDeviceMappings>
<DiskDeviceMapping>
<ImportOSSObject></ImportOSSObject>
@@ -38,4 +38,4 @@
<Size>20</Size>
</Image>
</Images>
-</DescribeImagesResponse>
+</DescribeImagesResponse>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/ecs/pages_describe_images_page2.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/ecs/pages_describe_images_page2.xml b/libcloud/test/compute/fixtures/ecs/pages_describe_images_page2.xml
index 0208118..615e152 100644
--- a/libcloud/test/compute/fixtures/ecs/pages_describe_images_page2.xml
+++ b/libcloud/test/compute/fixtures/ecs/pages_describe_images_page2.xml
@@ -12,7 +12,7 @@
<ProductCode></ProductCode>
<OSType>linux</OSType>
<Architecture>x86_64</Architecture>
- <OSName>FreeBSD 10.1 64</OSName>
+ <OSName>FreeBSD 10.1 64\u4f4d</OSName>
<DiskDeviceMappings>
<DiskDeviceMapping>
<ImportOSSObject></ImportOSSObject>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/meta/unicode.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/meta/unicode.json b/libcloud/test/compute/fixtures/meta/unicode.json
new file mode 100644
index 0000000..85ed265
--- /dev/null
+++ b/libcloud/test/compute/fixtures/meta/unicode.json
@@ -0,0 +1 @@
+{"test": "\u015a"}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/fixtures/meta/unicode.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/meta/unicode.xml b/libcloud/test/compute/fixtures/meta/unicode.xml
new file mode 100644
index 0000000..0727063
--- /dev/null
+++ b/libcloud/test/compute/fixtures/meta/unicode.xml
@@ -0,0 +1,2 @@
+<?xml version='1.0'?>
+<Test>\u015a</Test>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/compute/test_ecs.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_ecs.py b/libcloud/test/compute/test_ecs.py
index cbd45fe..348d24b 100644
--- a/libcloud/test/compute/test_ecs.py
+++ b/libcloud/test/compute/test_ecs.py
@@ -427,7 +427,7 @@ class ECSDriverTestCase(LibcloudTestCase):
'description': 'freebsd1001_64_20G_aliaegis_20150527.vhd',
'size': 20,
'image_owner_alias': 'system',
- 'os_name': 'FreeBSD 10.1 64',
+ 'os_name': 'FreeBSD 10.1 64\u4f4d',
'product_code': '',
'is_subscribed': False,
'progress': '100%',
@@ -552,6 +552,7 @@ class ECSDriverTestCase(LibcloudTestCase):
zone = zones[0]
self.assertEqual('cn-qingdao-b', zone.id)
self.assertEqual(self.driver, zone.driver)
+ self.assertEqual('\u9752\u5c9b\u53ef\u7528\u533aB', zone.name)
self.assertIsNotNone(zone.available_resource_types)
self.assertEqual('IoOptimized', zone.available_resource_types[0])
self.assertIsNotNone(zone.available_instance_types)
http://git-wip-us.apache.org/repos/asf/libcloud/blob/18bc55de/libcloud/test/test_file_fixtures.py
----------------------------------------------------------------------
diff --git a/libcloud/test/test_file_fixtures.py b/libcloud/test/test_file_fixtures.py
index 2384e78..94a0f90 100644
--- a/libcloud/test/test_file_fixtures.py
+++ b/libcloud/test/test_file_fixtures.py
@@ -16,8 +16,10 @@
import sys
import unittest
-from libcloud.utils.py3 import u
+from libcloud.utils.py3 import u, httplib
from libcloud.test.file_fixtures import ComputeFileFixtures
+from libcloud.common.base import Connection, Response, JsonResponse, XmlResponse
+from libcloud.test import MockHttp
class FileFixturesTests(unittest.TestCase):
@@ -35,5 +37,49 @@ class FileFixturesTests(unittest.TestCase):
self.assertEqual(u"\u015a", f.load('unicode.txt'))
+class MockHttpFileFixturesTests(unittest.TestCase):
+ """
+ Test the behaviour of MockHttp
+ """
+ def setUp(self):
+ Connection.conn_class = TestMockHttp
+ Connection.responseCls = Response
+ self.connection = Connection()
+
+ def test_unicode_response(self):
+ r = self.connection.request("/unicode")
+ self.assertEqual(r.parse_body(), u("\u015a"))
+
+ def test_json_unicode_response(self):
+ self.connection.responseCls = JsonResponse
+ r = self.connection.request("/unicode/json")
+ self.assertEqual(r.object, {'test': u("\u015a")})
+
+ def test_xml_unicode_response(self):
+ self.connection.responseCls = XmlResponse
+ response = self.connection.request("/unicode/xml")
+ self.assertEqual(response.object.text, u("\u015a"))
+
+
+class TestMockHttp(MockHttp):
+ fixtures = ComputeFileFixtures('meta')
+
+ def _unicode(self, method, url, body, headers):
+ body = self.fixtures.load('unicode.txt')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _unicode_json(self, method, url, body, headers):
+ body = self.fixtures.load('unicode.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _unicode_xml(self, method, url, body, headers):
+ body = self.fixtures.load('unicode.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _ascii(self, method, url, body, headers):
+ body = self.fixtures.load('helloworld.txt')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+
if __name__ == '__main__':
sys.exit(unittest.main())