Merge "Encode user data to utf-8 when creating a server"
This commit is contained in:
commit
e8c22cd130
@ -72,6 +72,8 @@ class BootingManagerWithFind(base.ManagerWithFind):
|
||||
if userdata:
|
||||
if hasattr(userdata, 'read'):
|
||||
userdata = userdata.read()
|
||||
elif isinstance(userdata, unicode):
|
||||
userdata = userdata.encode('utf-8')
|
||||
body["server"]["user_data"] = base64.b64encode(userdata)
|
||||
if meta:
|
||||
body["server"]["metadata"] = meta
|
||||
|
@ -1,3 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import StringIO
|
||||
|
||||
from novaclient import exceptions
|
||||
@ -59,6 +61,38 @@ class ServersTest(utils.TestCase):
|
||||
cs.assert_called('POST', '/servers')
|
||||
self.assertTrue(isinstance(s, servers.Server))
|
||||
|
||||
def test_create_server_userdata_unicode(self):
|
||||
s = cs.servers.create(
|
||||
name="My server",
|
||||
image=1,
|
||||
flavor=1,
|
||||
meta={'foo': 'bar'},
|
||||
userdata=u'こんにちは',
|
||||
key_name="fakekey",
|
||||
files={
|
||||
'/etc/passwd': 'some data', # a file
|
||||
'/tmp/foo.txt': StringIO.StringIO('data'), # a stream
|
||||
},
|
||||
)
|
||||
cs.assert_called('POST', '/servers')
|
||||
self.assertTrue(isinstance(s, servers.Server))
|
||||
|
||||
def test_create_server_userdata_utf8(self):
|
||||
s = cs.servers.create(
|
||||
name="My server",
|
||||
image=1,
|
||||
flavor=1,
|
||||
meta={'foo': 'bar'},
|
||||
userdata='こんにちは',
|
||||
key_name="fakekey",
|
||||
files={
|
||||
'/etc/passwd': 'some data', # a file
|
||||
'/tmp/foo.txt': StringIO.StringIO('data'), # a stream
|
||||
},
|
||||
)
|
||||
cs.assert_called('POST', '/servers')
|
||||
self.assertTrue(isinstance(s, servers.Server))
|
||||
|
||||
def test_update_server(self):
|
||||
s = cs.servers.get(1234)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user