1 # Copyright 2017 ZTE Corporation.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
16 from django.test import TestCase, Client
17 from rest_framework import status
19 from lcm.pub.database.models import NfInstModel
20 from lcm.pub.database.models import JobStatusModel
21 from lcm.pub.database.models import VmInstModel
22 from lcm.pub.database.models import NetworkInstModel
23 from lcm.pub.database.models import SubNetworkInstModel
24 from lcm.pub.database.models import PortInstModel
25 from lcm.pub.database.models import FlavourInstModel
26 from lcm.pub.database.models import StorageInstModel
27 from lcm.pub.database.models import NfvoRegInfoModel
28 from lcm.pub.utils.timeutil import now_time
31 class TestNFTerminate(TestCase):
33 self.client = Client()
34 StorageInstModel.objects.create(
42 NetworkInstModel.objects.create(
52 SubNetworkInstModel.objects.create(
63 PortInstModel.objects.create(
75 FlavourInstModel.objects.create(
82 VmInstModel.objects.create(
92 NfvoRegInfoModel.objects.create(
99 VmInstModel.objects.all().delete()
100 NetworkInstModel.objects.all().delete()
101 SubNetworkInstModel.objects.all().delete()
102 PortInstModel.objects.all().delete()
104 def assert_job_result(self, job_id, job_progress, job_detail):
105 jobs = JobStatusModel.objects.filter(
107 progress=job_progress,
110 self.assertEqual(1, len(jobs))
112 def test_delete_vnf_identifier(self):
113 NfInstModel.objects.create(
121 status='NOT_INSTANTIATED',
124 vnfSoftwareVersion='',
125 vnfConfigurableProperties='todo',
126 localizationLanguage='EN_US',
127 create_time=now_time()
129 response = self.client.delete("/api/vnflcm/v1/vnf_instances/1111")
130 self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)
131 self.assertEqual(None, response.data)
133 def test_delete_vnf_identifier_when_vnf_not_exist(self):
134 response = self.client.delete("/api/vnflcm/v1/vnf_instances/1111")
135 self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)