aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/workflows/tests.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/lcm/workflows/tests.py b/lcm/workflows/tests.py
index 564472e8..0562fb78 100644
--- a/lcm/workflows/tests.py
+++ b/lcm/workflows/tests.py
@@ -20,10 +20,12 @@ from django.test import Client
from rest_framework import status
from lcm.pub.utils import restcall
+from lcm.pub.database.models import WFPlanModel
class WorkflowViewTest(unittest.TestCase):
def setUp(self):
self.client = Client()
+ WFPlanModel.objects.filter().delete()
def tearDown(self):
pass
@@ -39,3 +41,28 @@ class WorkflowViewTest(unittest.TestCase):
response = self.client.post("/api/nslcm/v1/workflow",
{"filePath": os.path.abspath(__file__)}, format='json')
self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+ self.assertEqual(1, len(WFPlanModel.objects.filter(deployed_id="3")))
+
+ @mock.patch.object(restcall, 'upload_by_msb')
+ def test_force_deploy_workflow(self, mock_upload_by_msb):
+ mock_upload_by_msb.return_value = [0, json.JSONEncoder().encode({
+ "status": "2",
+ "message": "3",
+ "deployedId": "4",
+ "processId": "5"
+ }), '202']
+ WFPlanModel(deployed_id="1", process_id="2", status="3", message="4").save()
+ response = self.client.post("/api/nslcm/v1/workflow",
+ {"filePath": os.path.abspath(__file__), "forceDeploy": "True"}, format='json')
+ self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+ self.assertEqual(0, len(WFPlanModel.objects.filter(deployed_id="1")))
+ self.assertEqual(1, len(WFPlanModel.objects.filter(deployed_id="4")))
+
+ def test_deploy_workflow_when_already_deployed(self):
+ WFPlanModel(deployed_id="1", process_id="2", status="3", message="4").save()
+ response = self.client.post("/api/nslcm/v1/workflow",
+ {"filePath": os.path.abspath(__file__)}, format='json')
+ self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+ self.assertEqual({'msg': 'Already deployed.'}, json.loads(response.content))
+
+