self.assertEqual(temp_uuid, response.data["id"])
response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json')
self.assertEqual(303, response.status_code)
+
+ @mock.patch("requests.get")
+ @mock.patch.object(uuid, 'uuid4')
+ def test_badreq_subscription(self, mock_uuid4, mock_requests):
+ temp_uuid = str(uuid.uuid4())
+ miss_callbackUri_subscription = {
+ "filter": {
+ "notificationTypes": ["VnfLcmOperationOccurrenceNotification"],
+ "operationTypes": [
+ "INSTANTIATE"
+ ],
+ "operationStates": [
+ "STARTING"
+ ]
+ }
+ }
+ mock_requests.return_value.status_code = 204
+ mock_requests.get.return_value.status_code = 204
+ mock_uuid4.return_value = temp_uuid
+ response = self.client.post("/api/vnflcm/v1/subscriptions", data=miss_callbackUri_subscription, format='json')
+ self.assertEqual(400, response.status_code)
+ self.assertEqual({'callbackUri': ['This field is required.']}, response.data['detail'])
+ # self.assertEqual(temp_uuid, response.data["id"])
+ # response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json')
+ # self.assertEqual(303, response.status_code)
from lcm.nf.serializers.lccn_subscription import LccnSubscriptionSerializer\r
from lcm.nf.serializers.lccn_subscriptions import LccnSubscriptionsSerializer\r
from lcm.nf.serializers.response import ProblemDetailsSerializer\r
-from lcm.pub.exceptions import NFLCMException\r
+from lcm.pub.exceptions import NFLCMException, NFLCMExceptionBadRequest\r
from .common import view_safe_call_with_log\r
\r
logger = logging.getLogger(__name__)\r
responses={\r
status.HTTP_201_CREATED: LccnSubscriptionSerializer(),\r
status.HTTP_303_SEE_OTHER: ProblemDetailsSerializer(),\r
+ status.HTTP_400_BAD_REQUEST: ProblemDetailsSerializer(),\r
status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer()\r
}\r
)\r
\r
lccn_subscription_request_serializer = LccnSubscriptionRequestSerializer(data=request.data)\r
if not lccn_subscription_request_serializer.is_valid():\r
- raise NFLCMException(lccn_subscription_request_serializer.errors)\r
+ raise NFLCMExceptionBadRequest(lccn_subscription_request_serializer.errors)\r
subscription = CreateSubscription(\r
lccn_subscription_request_serializer.data).do_biz()\r
lccn_notifications_filter = {\r