# 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 json
import mock
from rest_framework import status
resp = self.client.get("/api/catalog/v1/nspackages")
self.assertEqual(resp.status_code, status.HTTP_200_OK)
- self.assertEqual({"csars": [{"csarId":"13", "nsdId": "2"}]}, resp.data)
+ self.assertEqual({"csars": [{"csarId":"13", "nsdId": "2",
+ "nsdProvider": "3", "nsdVersion": "4"}]}, resp.data)
def test_ns_pkg_get_one(self):
- NSPackageModel(nsPackageId="14", nsdId="2", nsdDesginer="3", nsdVersion="4").save()
+ NSPackageModel(nsPackageId="14", nsdId="2", nsdDesginer="3",
+ nsdVersion="4", nsPackageUri="14.csar").save()
resp = self.client.get("/api/catalog/v1/nspackages/14")
self.assertEqual(resp.status_code, status.HTTP_200_OK)
"packageInfo": {
"nsdId": "2",
"nsdProvider": "3",
- "nsdVersion": "4"
+ "nsdVersion": "4",
+ "csarName": "14.csar",
+ "downloadUrl": "http://127.0.0.1:8806/static/catalog/14/14.csar"
}}, resp.data)
+ ###############################################################################################################
-
-
-
-
-
-
-
-
-
+ @mock.patch.object(toscaparser, 'parse_nsd')
+ def test_nsd_parse_normal(self, mock_parse_nsd):
+ NSPackageModel(nsPackageId="18", nsdId="12").save()
+ mock_parse_nsd.return_value = json.JSONEncoder().encode({"a": "b"})
+ resp = self.client.post("/api/catalog/v1/parsernsd",
+ {"csarId": "18", "inputs": []}, format='json')
+ self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
+ self.assertEqual({"model": '{"a": "b"}'}, resp.data)
+ def test_nsd_parse_when_csar_not_exist(self):
+ resp = self.client.post("/api/catalog/v1/parsernsd",
+ {"csarId": "1", "inputs": []}, format='json')
+ self.assertEqual(resp.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+ self.assertEqual(resp.data, {"error": "NS CSAR(1) does not exist."})