from rest_framework import status
from rest_framework.test import APIClient
-from lcm.ns.ns_create import CreateNSService
+from lcm.ns.biz.ns_create import CreateNSService
from lcm.pub.database.models import NSInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils import restcall
mock_call_req.side_effect = [r1_query_nspackage_from_catalog, r2_create_ns_to_aai]
data = {
"context": {
- "global-customer-id": "global-customer-id-test1",
- "service-type": "service-type-test1"
+ "globalCustomerId": "global-customer-id-test1",
+ "serviceType": "service-type-test1"
},
"csarId": self.nsd_id,
"nsName": "ns",
- "description": "description"
+ "nsDescription": "description",
+ 'nsdId': 'nsdId'
}
response = self.client1.post("/api/nslcm/v1/ns", data=data, format='json')
self.failUnlessEqual(status.HTTP_201_CREATED, response.status_code)
@mock.patch.object(CreateNSService, "do_biz")
def test_create_ns_empty_data(self, mock_do_biz):
mock_do_biz.side_effect = Exception("Exception in CreateNS.")
- data = {}
+ data = {
+ 'nsdId': 'nsdId'
+ }
response = self.client.post("/api/nslcm/v1/ns", data=data)
self.assertEqual(response.data["error"], "Exception in CreateNS.")
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
mock_do_biz.side_effect = NSLCMException("nsd not exists.")
new_nsd_id = '1'
data = {
- 'nsdid': new_nsd_id,
- 'nsname': 'ns',
- 'description': 'description'
+ 'csarId': new_nsd_id,
+ 'nsName': 'ns',
+ 'nsDescription': 'description',
+ 'nsdId': 'nsdId'
}
response = self.client.post("/api/nslcm/v1/ns", data=data)
self.assertEqual(response.data["error"], "nsd not exists.")
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
self.assertIn("error", response.data)
+
+ @mock.patch.object(restcall, 'call_req')
+ def test_create_ns_when_fail_to_get_nsd(self, mock_call_req):
+ mock_call_req.return_value = [1, "Failed to get nsd.", '500']
+ data = {
+ 'csarId': '1',
+ 'nsName': 'ns',
+ 'nsDescription': 'description'
+ }
+ response = self.client.post("/api/nslcm/v1/ns", data=data)
+ self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+ self.assertIn("error", response.data)
+
+ @mock.patch.object(restcall, 'call_req')
+ def test_create_ns_when_ns_name_exist(self, mock_call_req):
+ nspackage_info = json.JSONEncoder().encode({
+ "csarId": self.ns_package_id,
+ "packageInfo": {}
+ })
+ mock_call_req.return_value = [0, nspackage_info, '200']
+ NSInstModel(id="1", name="ns1").save()
+ data = {
+ 'csarId': '1',
+ 'nsName': 'ns1',
+ 'nsDescription': 'description'
+ }
+ response = self.client.post("/api/nslcm/v1/ns", data=data)
+ self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+ self.assertIn("error", response.data)