# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+import mock
+
from django.test import TestCase
from rest_framework import status
from rest_framework.test import APIClient
from lcm.pub.database.models import NfInstModel
+from lcm.pub.exceptions import NFLCMException
+from lcm.pub.utils.jobutil import JobUtil
class TestChangeExtConn(TestCase):
format='json')
self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)
- def test_change_ext_conn_inner_error(self):
+ def test_change_ext_conn_badreq(self):
url = "/api/vnflcm/v1/vnf_instances/123/change_ext_conn"
response = self.client.post(url,
data={},
format='json')
- self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
+ self.failUnlessEqual(status.HTTP_400_BAD_REQUEST, response.status_code)
+
+ @mock.patch.object(JobUtil, 'create_job')
+ def test_change_ext_conn_inner_error(self, mock_run):
+ mock_run.return_value = NFLCMException('Boom!')
+ url = "/api/vnflcm/v1/vnf_instances/123/change_ext_conn"
+ response = self.client.post(url,
+ data=self.req_data,
+ format='json')
+ self.assertEqual(
+ status.HTTP_500_INTERNAL_SERVER_ERROR,
+ response.status_code)
format='json')
self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)
- def test_change_flavour_inner_error(self):
+ def test_change_flavour_badreq(self):
url = "/api/vnflcm/v1/vnf_instances/345/change_flavour"
response = self.client.post(url,
data={},
format='json')
- self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
+ self.failUnlessEqual(status.HTTP_400_BAD_REQUEST, response.status_code)
self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)\r
NfInstModel.objects.filter(nfinstid='1267').delete()\r
\r
- def test_heal_vnf_inner_error(self):\r
+ def test_heal_vnf_badreq(self):\r
NfInstModel(nfinstid='345',\r
nf_name='VNF1',\r
nf_desc="VNF DESC",\r
data={"additionalParams": "1"},\r
format='json')\r
NfInstModel.objects.filter(nfinstid='345').delete()\r
- self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)\r
+ self.failUnlessEqual(status.HTTP_400_BAD_REQUEST, response.status_code)\r
\r
@mock.patch.object(HealVnf, 'run')\r
def test_heal_vnf_success(self, mock_run):\r
from lcm.pub.utils.timeutil import now_time\r
from lcm.pub.utils.notificationsutil import NotificationsUtil\r
from lcm.pub.vimapi import api\r
+from lcm.pub.exceptions import NFLCMException\r
\r
from lcm.nf.biz.instantiate_vnf import InstantiateVnf\r
\r
nf_inst_id=self.nf_inst_id,\r
job_id=self.job_id\r
).run()\r
+\r
+ @mock.patch.object(JobUtil, 'create_job')\r
+ def test_instantiate_inner_error(self, mock_run):\r
+ NfInstModel(\r
+ nfinstid='144',\r
+ nf_name='VNF1',\r
+ status='NOT_INSTANTIATED'\r
+ ).save()\r
+ mock_run.return_value = NFLCMException('Boom!')\r
+ response = self.client.post(\r
+ '/api/vnflcm/v1/vnf_instances/144/instantiate',\r
+ data=inst_req_data,\r
+ format='json'\r
+ )\r
+ NfInstModel.objects.filter(nfinstid='144').delete()\r
+ self.assertEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)\r
+\r
+ def test_instantiate_badreq(self):\r
+ NfInstModel(\r
+ nfinstid='144',\r
+ nf_name='VNF1',\r
+ status='NOT_INSTANTIATED'\r
+ ).save()\r
+ response = self.client.post(\r
+ '/api/vnflcm/v1/vnf_instances/144/instantiate',\r
+ data={},\r
+ format='json'\r
+ )\r
+ NfInstModel.objects.filter(nfinstid='144').delete()\r
+ self.assertEqual(status.HTTP_400_BAD_REQUEST, response.status_code)\r
status='NOT_INSTANTIATED'\r
).delete()\r
\r
- def test_operate_vnf_inner_error(self):\r
+ def test_operate_vnf_badreq(self):\r
NfInstModel(\r
nfinstid='345',\r
nf_name='VNF1',\r
)\r
NfInstModel.objects.filter(nfinstid='345').delete()\r
self.failUnlessEqual(\r
- status.HTTP_500_INTERNAL_SERVER_ERROR,\r
+ status.HTTP_400_BAD_REQUEST,\r
response.status_code\r
)\r
\r
format='json')
self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)
- def test_scale_vnf_inner_error(self):
+ def test_scale_vnf_badreq(self):
NfInstModel(nfinstid='678',
nf_name='VNF1',
nf_desc="VNF DESC",
data={},
format='json')
NfInstModel.objects.filter(nfinstid='678').delete()
- self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
+ self.failUnlessEqual(status.HTTP_400_BAD_REQUEST, response.status_code)
format='json')
self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)
- def test_scale_to_level_inner_error(self):
+ def test_scale_to_level_badreq(self):
NfInstModel(nfinstid='678',
nf_name='VNF1',
nf_desc="VNF DESC",
data={},
format='json')
NfInstModel.objects.filter(nfinstid='678').delete()
- self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
+ self.failUnlessEqual(status.HTTP_400_BAD_REQUEST, response.status_code)
act_vnf_req_serializer = req_serializer(data=req.data)
if not act_vnf_req_serializer.is_valid():
- raise NFLCMException(act_vnf_req_serializer.errors)
+ raise NFLCMExceptionBadRequest(act_vnf_req_serializer.errors)
vnf_insts = NfInstModel.objects.filter(nfinstid=instid)
if not vnf_insts.exists():