def test_instantiate_with_non_existing_region_vim( self, mock_vnf_package_get_by_id, mock_vnf_package_vnfd_get_by_id, mock_vnf_instance_get_by_id, mock_get_vim): mock_vnf_instance_get_by_id.return_value =\ fakes.return_vnf_instance_model() mock_vnf_package_vnfd_get_by_id.return_value = \ fakes.return_vnf_package_vnfd() mock_vnf_package_get_by_id.return_value = \ fakes.return_vnf_package_with_deployment_flavour() mock_get_vim.side_effect = nfvo.VimRegionNotFoundException body = {"flavourId": "simple", "vimConnectionInfo": [ {'id': uuidsentinel.vim_connection_id, 'vimId': uuidsentinel.vim_id, 'vimType': 'openstack', 'accessInfo': {"region": 'region_non_existing'}} ]} req = fake_request.HTTPRequest.blank( '/vnf_instances/%s/instantiate' % uuidsentinel.vnf_instance_id) req.body = jsonutils.dump_as_bytes(body) req.headers['Content-Type'] = 'application/json' req.method = 'POST' # Call Instantiate API resp = req.get_response(self.app) self.assertEqual(http_client.BAD_REQUEST, resp.status_code) self.assertEqual("Region not found for the VimConnection: %s" % uuidsentinel.vim_id, resp.json['badRequest']['message'])
def test_instantiate_with_vim_connection( self, mock_instantiate, mock_vnf_package_get_by_id, mock_vnf_package_vnfd_get_by_id, mock_save, mock_vnf_instance_get_by_id, mock_get_vim): mock_vnf_instance_get_by_id.return_value =\ fakes.return_vnf_instance_model() mock_vnf_package_vnfd_get_by_id.return_value = \ fakes.return_vnf_package_vnfd() mock_vnf_package_get_by_id.return_value = \ fakes.return_vnf_package_with_deployment_flavour() body = {"flavourId": "simple", "vimConnectionInfo": [ {"id": uuidsentinel.vim_connection_id, "vimId": uuidsentinel.vim_id, "vimType": 'openstack'} ]} req = fake_request.HTTPRequest.blank( '/vnf_instances/%s/instantiate' % uuidsentinel.vnf_instance_id) req.body = jsonutils.dump_as_bytes(body) req.headers['Content-Type'] = 'application/json' req.method = 'POST' # Call Instantiate API resp = req.get_response(self.app) self.assertEqual(http_client.ACCEPTED, resp.status_code) mock_instantiate.assert_called_once()
def test_instantiate_with_non_existing_instantiation_level( self, mock_instantiate, mock_vnf_package_get_by_id, mock_vnf_package_vnfd_get_by_id, mock_vnf_instance_get_by_id): mock_vnf_instance_get_by_id.return_value =\ fakes.return_vnf_instance_model() mock_vnf_package_vnfd_get_by_id.return_value = \ fakes.return_vnf_package_vnfd() mock_vnf_package_get_by_id.return_value = \ fakes.return_vnf_package_with_deployment_flavour() body = {"flavourId": "simple", "instantiationLevelId": "non-existing"} req = fake_request.HTTPRequest.blank( '/vnf_instances/%s/instantiate' % uuidsentinel.vnf_instance_id) req.body = jsonutils.dump_as_bytes(body) req.headers['Content-Type'] = 'application/json' req.method = 'POST' # Call Instantiate API resp = req.get_response(self.app) self.assertEqual(http_client.BAD_REQUEST, resp.status_code) self.assertEqual("No instantiation level with id 'non-existing'.", resp.json['badRequest']['message'])
def test_instantiate_with_no_inst_level_in_flavour( self, mock_instantiate, mock_vnf_package_get_by_id, mock_vnf_package_vnfd_get_by_id, mock_save, mock_vnf_instance_get_by_id, mock_get_vim): mock_vnf_instance_get_by_id.return_value =\ fakes.return_vnf_instance_model() mock_vnf_package_vnfd_get_by_id.return_value = \ fakes.return_vnf_package_vnfd() vnf_package = fakes.return_vnf_package_with_deployment_flavour() vnf_package.vnf_deployment_flavours[0].instantiation_levels = None mock_vnf_package_get_by_id.return_value = vnf_package # No instantiation level in deployment flavour but it's passed in the # request body = {"flavourId": "simple", "instantiationLevelId": "instantiation_level_1"} req = fake_request.HTTPRequest.blank( '/vnf_instances/%s/instantiate' % uuidsentinel.vnf_instance_id) req.body = jsonutils.dump_as_bytes(body) req.headers['Content-Type'] = 'application/json' req.method = 'POST' # Call Instantiate API resp = req.get_response(self.app) self.assertEqual(http_client.BAD_REQUEST, resp.status_code) self.assertEqual("No instantiation level with id " "'instantiation_level_1'.", resp.json['badRequest']['message'])
def test_update(self, mock_get_by_id): mock_get_by_id.return_value =\ fakes_vnflcm.return_vnf_package_with_deployment_flavour() vnf_instance_data = fakes.get_vnf_instance_data( self.vnf_package.vnfd_id) vnf_instance = objects.VnfInstance(context=self.context, **vnf_instance_data) vnf_instance.create() id = uuidutils.generate_uuid() vnf_lcm_oppccs = fakes.get_lcm_op_occs_data(id, vnf_instance.id) vnf_instance.update(self.context, vnf_lcm_oppccs, self.body_data, self.vnfd_pkg_data, vnf_instance_data['vnfd_id'])
def test_instantiate_with_default_vim_not_configured( self, mock_vnf_package_get_by_id, mock_vnf_package_vnfd_get_by_id, mock_vnf_instance_get_by_id, mock_get_vim): mock_vnf_instance_get_by_id.return_value =\ fakes.return_vnf_instance_model() mock_vnf_package_vnfd_get_by_id.return_value = \ fakes.return_vnf_package_vnfd() mock_vnf_package_get_by_id.return_value = \ fakes.return_vnf_package_with_deployment_flavour() mock_get_vim.side_effect = nfvo.VimDefaultNotDefined body = {"flavourId": "simple"} req = fake_request.HTTPRequest.blank( '/vnf_instances/%s/instantiate' % uuidsentinel.vnf_instance_id) req.body = jsonutils.dump_as_bytes(body) req.headers['Content-Type'] = 'application/json' req.method = 'POST' # Call Instantiate API resp = req.get_response(self.app) self.assertEqual(http_client.BAD_REQUEST, resp.status_code) self.assertEqual("Default VIM is not defined.", resp.json['badRequest']['message'])