Merge "Relax restrictions on server name"
This commit is contained in:
@@ -21,7 +21,7 @@ base_create = {
|
||||
'server': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'name': parameter_types.hostname,
|
||||
'name': parameter_types.name,
|
||||
'imageRef': parameter_types.image_ref,
|
||||
'flavorRef': parameter_types.flavor_ref,
|
||||
'adminPass': parameter_types.admin_password,
|
||||
@@ -56,7 +56,7 @@ base_update = {
|
||||
'server': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'name': parameter_types.hostname,
|
||||
'name': parameter_types.name,
|
||||
},
|
||||
'additionalProperties': False,
|
||||
},
|
||||
@@ -71,7 +71,7 @@ base_rebuild = {
|
||||
'rebuild': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'name': parameter_types.hostname,
|
||||
'name': parameter_types.name,
|
||||
'imageRef': parameter_types.image_ref,
|
||||
'adminPass': parameter_types.admin_password,
|
||||
'metadata': parameter_types.metadata,
|
||||
|
@@ -1397,6 +1397,11 @@ class ServersControllerUpdateTest(ControllerTest):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
def test_update_server_name_with_spaces_in_the_middle(self):
|
||||
body = {'server': {'name': 'abc def'}}
|
||||
req = self._get_request(body)
|
||||
self.controller.update(req, FAKE_UUID, body)
|
||||
|
||||
def test_update_server_personality(self):
|
||||
body = {
|
||||
'server': {
|
||||
@@ -1626,6 +1631,11 @@ class ServersControllerRebuildInstanceTest(ControllerTest):
|
||||
self.controller._action_rebuild,
|
||||
self.req, FAKE_UUID, self.body)
|
||||
|
||||
def test_rebuild_instance_name_with_spaces_in_middle(self):
|
||||
self.body['rebuild']['name'] = 'abc def'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.controller._action_rebuild(self.req, FAKE_UUID, self.body)
|
||||
|
||||
def test_rebuild_instance_with_metadata_key_too_long(self):
|
||||
self.body['rebuild']['accessIPv4'] = '0.0.0.0'
|
||||
self.body['rebuild']['accessIPv6'] = 'fead::1234'
|
||||
@@ -2211,6 +2221,11 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self.controller.create, self.req, self.body)
|
||||
|
||||
def test_create_instance_name_with_spaces_in_middle(self):
|
||||
self.body['server']['name'] = 'abc def'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.controller.create(self.req, self.body)
|
||||
|
||||
def test_create_instance_name_too_long(self):
|
||||
self.body['server']['name'] = 'X' * 256
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
|
@@ -1520,6 +1520,11 @@ class ServersControllerRebuildInstanceTest(ControllerTest):
|
||||
self.req.method = 'POST'
|
||||
self.req.headers["content-type"] = "application/json"
|
||||
|
||||
def test_rebuild_instance_name_with_spaces_in_the_middle(self):
|
||||
self.body['rebuild']['name'] = 'abc def'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.controller._action_rebuild(self.req, FAKE_UUID, body=self.body)
|
||||
|
||||
def test_rebuild_instance_with_blank_metadata_key(self):
|
||||
self.body['rebuild']['metadata'][''] = 'world'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
@@ -1822,6 +1827,16 @@ class ServersControllerUpdateTest(ControllerTest):
|
||||
self.assertRaises(exception.ValidationError, self.controller.update,
|
||||
req, FAKE_UUID, body=body)
|
||||
|
||||
def test_update_server_name_with_spaces_in_the_middle(self):
|
||||
self.stubs.Set(db, 'instance_get',
|
||||
fakes.fake_instance_get(name='server_test'))
|
||||
req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
|
||||
req.method = 'PUT'
|
||||
req.content_type = 'application/json'
|
||||
body = {'server': {'name': 'abc def'}}
|
||||
req.body = jsonutils.dumps(body)
|
||||
self.controller.update(req, FAKE_UUID, body=body)
|
||||
|
||||
def test_update_server_admin_password_extra_arg(self):
|
||||
inst_dict = dict(name='server_test', admin_password='bacon')
|
||||
body = dict(server=inst_dict)
|
||||
@@ -2364,6 +2379,14 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
self.assertRaises(exception.ValidationError, self.controller.create,
|
||||
self.req, body=self.body)
|
||||
|
||||
def test_create_instance_name_with_spaces_in_the_middle(self):
|
||||
# proper local hrefs must start with 'http://localhost/v2/'
|
||||
image_href = 'http://localhost/v2/images/%s' % self.image_uuid
|
||||
self.body['server']['name'] = 'abc def'
|
||||
self.body['server']['imageRef'] = image_href
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
self.controller.create(self.req, body=self.body)
|
||||
|
||||
def test_create_instance_name_all_blank_spaces(self):
|
||||
# proper local hrefs must start with 'http://localhost/v2/'
|
||||
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
|
||||
|
Reference in New Issue
Block a user