Currently we have module Bugzilla/RPC/Info.pm that has xmlrpc functions to return information about components and products,, Upstream has only /Bugzilla/WebService/Product.pm that basically can only Get a list of actual products, based on list of ids which is a functionality we don't have, We need to add this functionality from Upstream Product.pm to our Info.pm also possibly contribute to the upstream our functions in Info.pm
LOC estimation from historical data: rh_bugzilla_2_18/Bugzilla/RPC/Info.pm = 152 LOC bugzilla_3/Bugzilla/WebService/Product.pm = 31 LOC so in total we will have : 152 + 31 = 183 LOC Unit Testing: we currently have existing xmlrpc testcases for functions in Info.pm with total LOC = 231 ,,, The average LOC per test case here is 50 LOC per test case for product/component details xmlrpc functions ,, bascially we will need 2 extra testcases one for the upstream function get_products and one for an exsting function we have which is getProdCompDetails so basically another 100 LOC so in total for testing = 231+100 = 331 LOC total LOC = 331 + 183 = 514 LOC
LOC Estimation using FP: as in https://engineering.redhat.com/trac/bugzilla-3.0-rh/wiki/XmlrpcCrossComparison We get list of the xmlrpc functions in our rh_bugzilla_2_18 that are not in bugzilla_3 ,, using the FP method on these functions we get the following: Inputs: username, password, data hash with component/product fields = 3 Outputs: authentication errors, input validation errors, logging messages, product/component details = 4 Inquiries: component fields from db, product fields from db, user datails from db = 3 Internal Logical Files: database tables here are: components, products, component_cc, profiles = 4 External Interface Files = Zero FP total count (simple weighting factor) = (3*3)+(4*4)+(3*3)+(7*4)+(5*0) = 62 FP = 62 * 1.11 = 69 FPs LOC = 69 * 60 = 4140 LOC For Unit Testing: we currently have existing xmlrpc testcases for functions in Info.pm with total LOC = 231 ,,, The average LOC per test case here is 50 LOC per test case for product/component details xmlrpc functions ,, bascially we will need 2 extra testcases one for the upstream function get_products and one for an exsting function we have which is getProdCompDetails so basically another 100 LOC so in total for testing = 231+100 = 331 LOC TOTAL = code + testing = 4140 + 331 = 4471
This bug is high level bug, It will be replaced by bugs for each xmlrpc function. CLosing bug Noura