aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2017-08-21 15:29:11 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2017-08-21 15:29:11 +0800
commit7af55a72ea589618a216faa541162d57a4fb8cae (patch)
treecf6afc363ba0f67112a3338770b054af3f36bc47
parente08b6858a51c9aed7f0fc499ae9e063cedbf41d3 (diff)
Add test cases for delopy workflow
Change-Id: I3ffacc2f4269929c97aa3774e8fc5b8ff36f28a4 Issue-Id: VFC-111 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-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))
+
+