Skip to content

Commit da554dd

Browse files
author
Luiko Czub
committed
new api method deleteTestCaseSteps #11
1 parent 6a0834a commit da554dd

File tree

6 files changed

+38
-2
lines changed

6 files changed

+38
-2
lines changed

CHANGES.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ TestLink-API-Python-client UNDER DEVELOP v0.4.7
66

77
implement missing 1.9.8 api methods - TestCase #11
88

9-
- addTestCaseToTestPlan, updateTestCase, createTestCaseSteps
9+
- addTestCaseToTestPlan, updateTestCase
10+
- createTestCaseSteps, deleteTestCaseSteps
1011

1112
TestLink-API-Python-client release notes v0.4.6 (Dec. 2013)
1213
-----------------------------------------------------------

example/TestLinkExample.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@
268268
myTestLink.appendStep("Step action 3", "Step result 3", MANUAL)
269269
myTestLink.appendStep("Step action 4", "Step result 4", MANUAL)
270270
myTestLink.appendStep("Step action 5", "Step result 5", MANUAL)
271+
myTestLink.appendStep("Dummy step for delete tests",
272+
"should be delete with deleteTestCaseSteps", MANUAL)
271273

272274
# -- Start CHANGE v0.4.5 --
273275
# newTestCase = myTestLink.createTestCase(NEWTESTCASE_AA, TestSuiteID_AA,
@@ -329,6 +331,11 @@
329331
response = myTestLink.addTestCaseToTestPlan(newProjectID, newTestPlanID_A,
330332
tc_aa_full_ext_id, tc_version, platformid=newPlatFormID_B)
331333
print "addTestCaseToTestPlan", response
334+
# change test case TC_AA - delete step 6 (step 7 does not exist)
335+
response = myTestLink.deleteTestCaseSteps(tc_aa_full_ext_id, [7,6],
336+
version=tc_version)
337+
print "deleteTestCaseSteps", response
338+
332339
# TC B should be tested with platform 'Small Birds'
333340
tc_b_full_ext_id = myTestLink.getTestCase(testcaseid=newTestCaseID_B)[0]['full_tc_external_id']
334341
response = myTestLink.addTestCaseToTestPlan(newProjectID, newTestPlanID_A,

example/TestLinkExampleGenericApi.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,10 @@
210210
{'step_number' : 4, 'actions' : "Step action 4 - aa" ,
211211
'expected_results' : "Step result 4 - aa", 'execution_type' : MANUAL},
212212
{'step_number' : 5, 'actions' : "Step action 5 - aa" ,
213-
'expected_results' : "Step result 5 - aa", 'execution_type' : MANUAL}
213+
'expected_results' : "Step result 5 - aa", 'execution_type' : MANUAL},
214+
{'step_number' : 8, 'actions' : "Dummy step for delete tests" ,
215+
'expected_results' : "should be delete with deleteTestCaseSteps",
216+
'execution_type' : MANUAL}
214217
]
215218
newTestCase = myTestLink.createTestCase(NEWTESTCASE_AA, newTestSuiteID_AA,
216219
newProjectID, "admin", "This is the summary of the Test Case AA",
@@ -252,6 +255,11 @@
252255
response = myTestLink.addTestCaseToTestPlan(newProjectID, newTestPlanID_A,
253256
tc_aa_full_ext_id, tc_version, platformid=newPlatFormID_B)
254257
print "addTestCaseToTestPlan", response
258+
# change test case TC_AA - delete step 8 (step 7 does not exist)
259+
response = myTestLink.deleteTestCaseSteps(tc_aa_full_ext_id, [7,8],
260+
version=tc_version)
261+
print "deleteTestCaseSteps", response
262+
255263
# TC B should be tested with platform 'Small Bird'
256264
tc_b_full_ext_id = myTestLink.getTestCase(testcaseid=newTestCaseID_B)[0]['full_tc_external_id']
257265
response = myTestLink.addTestCaseToTestPlan(newProjectID, newTestPlanID_A,

src/testlink/testlinkapigeneric.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,16 @@ def createTestCaseSteps(self):
752752
# */
753753
# function deleteTestCaseSteps($args)
754754

755+
@decoApiCallAddDevKey
756+
@decoMakerApiCallWithArgs(['testcaseexternalid', 'steps'],
757+
['version'])
758+
def deleteTestCaseSteps(self):
759+
""" deletes test cases steps
760+
761+
steps - each element is a step_number
762+
version - optional if not provided LAST ACTIVE version will be used
763+
"""
764+
755765
# /**
756766
# * Update value of Custom Field with scope='design' for a given Test case
757767
# *

test/utest-online/testlinkapi_online_test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@ def test_createTestCaseSteps_unknownID(self):
211211
self.client.createTestCaseSteps('update', steps,
212212
testcaseexternalid='N-4711', version=1)
213213

214+
def test_deleteTestCaseSteps_unknownID(self):
215+
steps = [2,8]
216+
with self.assertRaisesRegexp(TLResponseError, '5040.*N-4711'):
217+
self.client.deleteTestCaseSteps('N-4711', steps, version=1)
214218

215219
if __name__ == "__main__":
216220
#import sys;sys.argv = ['', 'Test.testName']

test/utest-online/testlinkapigeneric_online_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,12 @@ def test_createTestCaseSteps_unknownID(self):
223223
with self.assertRaisesRegexp(TLResponseError, '5040.*N-4711'):
224224
self.client.createTestCaseSteps('update', steps,
225225
testcaseexternalid='N-4711', version=1)
226+
227+
def test_deleteTestCaseSteps_unknownID(self):
228+
steps = [2,8]
229+
with self.assertRaisesRegexp(TLResponseError, '5040.*N-4711'):
230+
self.client.deleteTestCaseSteps('N-4711', steps, version=1)
231+
226232

227233
if __name__ == "__main__":
228234
#import sys;sys.argv = ['', 'Test.testName']

0 commit comments

Comments
 (0)