# 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):
version="V1",
package_id="2",
status='NOT_INSTANTIATED').save()
+ NfInstModel(nfinstid='123',
+ nf_name='VNF1',
+ nf_desc="VNF DESC",
+ vnfdid="1",
+ netype="XGW",
+ vendor="ZTE",
+ vnfSoftwareVersion="V1",
+ version="V1",
+ package_id="2",
+ status='INSTANTIATED').save()
self.req_data = {
"extVirtualLinks": [{
"id": "string",
def tearDown(self):
NfInstModel.objects.filter(nfinstid='12345').delete()
+ NfInstModel.objects.filter(nfinstid='123').delete()
def test_change_ext_conn_not_found(self):
url = "/api/vnflcm/v1/vnf_instances/12/change_ext_conn"
response = self.client.post(url,
data=self.req_data,
format='json')
- self.failUnlessEqual(status.HTTP_404_NOT_FOUND, response.status_code)
+ self.assertEqual(status.HTTP_404_NOT_FOUND, response.status_code)
def test_change_ext_conn_conflict(self):
url = "/api/vnflcm/v1/vnf_instances/12345/change_ext_conn"
response = self.client.post(url,
data=self.req_data,
format='json')
- self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code)
+ self.assertEqual(status.HTTP_409_CONFLICT, response.status_code)
+
+ 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.assertEqual(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)