Mantis Bugtracker          
testlink.org

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006931TestLinkAPI - XMLRPCpublic2015-02-05 07:112015-09-19 08:50
Reporterswang3 
Assigned Tofman 
PrioritynormalSeverityfeature requestReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.9.12 (2014 Q3) 
Fixed in Version1.9.14 (2015 Q3) 
Summary0006931: Get keywords changed to support test case set as input
DescriptionIt would be helpful if we can get keywords for many test cases with one XMLRPC call.

I tried to modify getTestCaseKeywords() and checkTestCaseIdentity() to allow a testcaseid or testcaseexternalid set to passed as parameters so we can get keywords for a test case set. However, I am not sure if this is going to break anything else.

I have attached the modification. Hope this helps.
TagsNo tags attached.
Database (MySQL,Postgres,etc)MySQL
Browser
PHP Version
TestCaseID
QA Team - Task Workflow StatusREADY FOR TESTING
Attached Fileszip file icon xmlrpc.class.zip [^] (47,119 bytes) 2015-02-05 07:11

- Relationships
child of 0006830closedfman Availables hot-fixes for 1.9.13 & How To get full fixed package from GitHub 

-  Notes
(0022637)
fman (administrator)
2015-02-05 11:04

need to see, IMHO if needed a new method has to be done because name will be misleading getTestCaseKeywords()
What is the issue with current implementation? cost of each call ? user laziness ?
(0022638)
swang3 (reporter)
2015-02-05 12:14

Yes, need to change it to a better name. However, the new implementation can handle both a single test case and a test case set.

No issue with the current implementation.
It's about the "Cost of each call". It takes several minutes if we want to get keywords for about 100 test cases. In my setup, with the new implementation, 2000 test cases each with 4 keywords for each can be done in less than one minute.
(0022647)
fman (administrator)
2015-02-06 18:29

>> However, the new implementation can handle both a
>> single test case and a test case set.
For me is important to have a good design, and not only something that works.
In addition always a reason is needed, to understand why things are done, at least in this project.
(0022649)
fman (administrator)
2015-02-06 18:50
edited on: 2015-02-06 18:53

This implementation needs a refactoring.
I can not add to standard code, method that has been changed, and where documentation has not been updated.

I understand also that you have allowed to use an int or an array as input to do not break current implementation, but I do not like this kind of solution.

That's why a new method is needed, that may be in future will replace the current one.
getTestCaseKeywords() will remain as is today, and may be will be a wrapper for
getTestCaseSetKeywords() or getTestCaseKeywordsBulk() or getKeywordsForTestCases() or getKeywordsForTestCaseSet()

need to undertand what is the name that fits better.

This new method will accept only an array for the test cases.

(0022665)
fman (administrator)
2015-02-09 19:25
edited on: 2015-02-09 20:11

Final choices:
1. method name will remain the same
2. because is an old method, if test case identity is provided as a single value, return type will continue to be an array with the keywords

if an array of identities is provided return type will be a map with access key that can be test case internal ID or External id (depending of call parameters used) as key and element will be array of keywords

(0022666)
fman (administrator)
2015-02-09 20:16

https://gitorious.org/testlink-ga/testlink-code/commits/688c95fc07cfc73cc908f1f4e52454136064bb48 [^]
(0022667)
swang3 (reporter)
2015-02-10 09:05

>>if an array of identities is provided return type will be a map with access key that can be test case internal ID or External id (depending of call parameters used) as key and element will be array of keywords
This is better.

IMHO, I think with the same return structure would be better. Two reasons for this:
1. When we say "the call parameters is a single value", this could be a test case ID, or an array with just one test case ID, it would be nice to have the same return type under these 2 conditions.
2. The new added method getTestCaseRequirements() will have the same return type whenever the call parameter is a single value or an array. It's better to be consistent among all XMLRPC methods.
(0022669)
fman (administrator)
2015-02-10 10:22

disagree
in future only way to call this method will be with an ARRAY no matter if you want process one or more test cases, this is the way I want to go.
This means also that getTestCaseRequirements() will be modified
(0023988)
fman (administrator)
2015-09-19 08:50

1.9.14 Padawan - released - 2015-09-19

- Issue History
Date Modified Username Field Change
2015-02-05 07:11 swang3 New Issue
2015-02-05 07:11 swang3 File Added: xmlrpc.class.zip
2015-02-05 11:04 fman Note Added: 0022637
2015-02-05 12:14 swang3 Note Added: 0022638
2015-02-06 18:29 fman Note Added: 0022647
2015-02-06 18:50 fman Note Added: 0022649
2015-02-06 18:53 fman Note Edited: 0022649 View Revisions
2015-02-09 19:25 fman Note Added: 0022665
2015-02-09 20:11 fman Note Edited: 0022665 View Revisions
2015-02-09 20:11 fman Note View State: 0022665: public
2015-02-09 20:12 fman QA Team - Task Workflow Status => READY FOR TESTING
2015-02-09 20:12 fman Status new => resolved
2015-02-09 20:12 fman Fixed in Version => 1.9.14 (2015 Q3)
2015-02-09 20:12 fman Resolution open => fixed
2015-02-09 20:12 fman Assigned To => fman
2015-02-09 20:13 fman Summary Get keywords for a test case set => Get keywords changed to support test case set as input
2015-02-09 20:16 fman Note Added: 0022666
2015-02-09 20:16 fman Relationship added child of 0006830
2015-02-10 09:05 swang3 Note Added: 0022667
2015-02-10 10:22 fman Note Added: 0022669
2015-09-19 08:50 fman Note Added: 0023988
2015-09-19 08:50 fman Status resolved => closed



Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker