diff options
Diffstat (limited to 'nova/tests/unit/api/openstack/compute/test_user_data.py')
-rw-r--r-- | nova/tests/unit/api/openstack/compute/test_user_data.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/nova/tests/unit/api/openstack/compute/test_user_data.py b/nova/tests/unit/api/openstack/compute/test_user_data.py index 3be774df60..8cd27d23d7 100644 --- a/nova/tests/unit/api/openstack/compute/test_user_data.py +++ b/nova/tests/unit/api/openstack/compute/test_user_data.py @@ -16,6 +16,7 @@ import base64 import datetime +import mock import uuid from oslo_config import cfg @@ -138,7 +139,7 @@ class ServersControllerCreateTest(test.TestCase): fake_method) def _test_create_extra(self, params, no_image=False, - override_controller=None): + override_controller=None, legacy_v2=False): image_uuid = 'c905cedb-7281-47e4-8a62-f26bc5fc4c77' server = dict(name='server_test', imageRef=image_uuid, flavorRef=2) if no_image: @@ -149,6 +150,8 @@ class ServersControllerCreateTest(test.TestCase): req.method = 'POST' req.body = jsonutils.dumps(body) req.headers["content-type"] = "application/json" + if legacy_v2: + req.set_legacy_v2() if override_controller: server = override_controller.create(req, body=body).obj['server'] else: @@ -190,3 +193,15 @@ class ServersControllerCreateTest(test.TestCase): params = {user_data.ATTRIBUTE_NAME: value} self.assertRaises(exception.ValidationError, self._test_create_extra, params) + + @mock.patch('nova.compute.api.API.create') + def test_create_instance_with_none_allowd_for_v20_compat_mode(self, + mock_create): + + def create(context, *args, **kwargs): + self.assertIsNone(kwargs['user_data']) + return ([fakes.stub_instance_obj(context)], None) + + mock_create.side_effect = create + params = {user_data.ATTRIBUTE_NAME: None} + self._test_create_extra(params, legacy_v2=True) |