diff options
author | 2017-08-21 15:29:11 +0800 | |
---|---|---|
committer | 2017-08-21 15:29:11 +0800 | |
commit | 7af55a72ea589618a216faa541162d57a4fb8cae (patch) | |
tree | cf6afc363ba0f67112a3338770b054af3f36bc47 | |
parent | e08b6858a51c9aed7f0fc499ae9e063cedbf41d3 (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.py | 27 |
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)) + + |