From 269a45a223c0b67972f3fe249fd2bbe2747dd70f Mon Sep 17 00:00:00 2001 From: thuva4 Date: Thu, 22 Feb 2018 09:57:30 +0530 Subject: prevent the delete/update for projects Prevent user from deleting or updating projects which are associated with testcases JIRA: RELENG-335 JIRA: RELENG-336 Change-Id: Ic0a8841a4632329f4b58aeb97cb93a91bacc2b06 Signed-off-by: thuva4 --- .../opnfv_testapi/tests/unit/handlers/test_project.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'testapi/opnfv_testapi/tests') diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_project.py b/testapi/opnfv_testapi/tests/unit/handlers/test_project.py index cbd1a4e..884dd68 100644 --- a/testapi/opnfv_testapi/tests/unit/handlers/test_project.py +++ b/testapi/opnfv_testapi/tests/unit/handlers/test_project.py @@ -12,6 +12,7 @@ import urllib from opnfv_testapi.common import message from opnfv_testapi.models import project_models +from opnfv_testapi.models import testcase_models as tcm from opnfv_testapi.tests.unit import executor from opnfv_testapi.tests.unit.handlers import test_base as base @@ -23,6 +24,9 @@ class TestProjectBase(base.TestBase): 'qtip-ssh test') self.req_e = project_models.ProjectCreateRequest('functest', 'functest test') + self.testcase_d = tcm.TestcaseCreateRequest.from_dict( + self.load_json('testcase_d')) + self.project = 'qtip' self.get_res = project_models.Project self.list_res = project_models.Projects self.update_res = project_models.Project @@ -149,6 +153,13 @@ class TestProjectUpdate(TestProjectBase): def test_noUpdate(self): return self.req_d, self.req_d.name + @executor.mock_valid_lfid() + @executor.update(httplib.UNAUTHORIZED, message.tied_with_resource()) + def test_updateNotAllowed(self): + self.create_help('/api/v1/projects/%s/cases', self.testcase_d, self.req_d.name) + req = project_models.ProjectUpdateRequest('apex', 'apex test') + return req, self.req_d.name + @executor.mock_valid_lfid() @executor.update(httplib.OK, '_assert_update') def test_success(self): @@ -177,6 +188,12 @@ class TestProjectDelete(TestProjectBase): def test_notFound(self): return 'notFound' + @executor.mock_valid_lfid() + @executor.delete(httplib.UNAUTHORIZED, message.tied_with_resource()) + def test_deleteNotAllowed(self): + self.create_help('/api/v1/projects/%s/cases', self.testcase_d, self.req_d.name) + return self.req_d.name + @executor.mock_valid_lfid() @executor.delete(httplib.OK, '_assert_delete') def test_success(self): -- cgit 1.2.3-korg