aboutsummaryrefslogtreecommitdiffstats
path: root/functest/utils/functest_utils.py
AgeCommit message (Collapse)AuthorFilesLines
2018-02-09Move get_dict_by_test() into run_tests.pyCédric Ollivier1-23/+0
It also removes functest_utils.get_criteria_by_test() Change-Id: I3f265642acd053755e32f8e92f1086b93517c247 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-01-26Fix pylint errors in several utils modulesCédric Ollivier1-52/+40
All utils which are moving to xtesting are now fixed. It remains OpenStack and Functest utils (+ the related unit tests) which doesn't move to the new package. Change-Id: If13c627c8444c62d5c6bf9c8057d6413aa0e56c7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-01-21Move push_results_to_db to TestCaseCédric Ollivier1-101/+0
It removes the link between TestCase and Functest utils (xtesting). It should be noted that testresults url can only be set by env var. Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: Ie072c675890d0ae2e63619c599d2684a8c7d762d Signed-off-by: Jose Lausuch <jalausuch@suse.com> Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-12-20Remove logger_test_resultsCédric Ollivier1-33/+0
It was only called in Feature which the result is already printed (see __str__()). It also eases moving Feature to xtesting as it breaks the link to functest_utils. Change-Id: Ib72d651dc7d89598704ff4d52d8b1ecb2bdade5b Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-12-12All patching config files in memoryLinda Wang1-13/+0
It adds the yaml content as Config attribute and allow patching it without modifying the file (and reimport constants or config). It also removes obsolete data in config_patch.yaml and moves several functions in the right modules (Config) JIRA: ARMBAND-334 Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: I5c9a574d3283828063154c977cdfbc2abfdc6777 Signed-off-by: Linda Wang <wangwulin@huawei.com> Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-11-30Stop updating test_db_url in config file by env varLinda Wang1-1/+4
If TEST_DB_URL is declared in env variable, use it before considering the var in config file. Change-Id: I656ad8765287c48d60af7ab88b421805d76fb231 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-09-07Remove redundant tempest cleanup utilityLinda Wang1-4/+4
All the resources including the project, user, network, images and flavors to enable tempest running, are created by snaps-OO, which will definitely clean up those finally. Change-Id: Iea3e3f275cc6cfd2cee421fcafef90aaf2e6cf3e Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-29Remove get_installer_typeLinda Wang1-13/+0
JIRA: FUNCTEST-763 Change-Id: Ib05f699063393eb6eaa9f559854aca50b77aead3 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-28Obtain scenario by CONST instead of get functionLinda Wang1-15/+1
JIRA: FUNCTEST-763 Change-Id: Ic9fa3243b50a09de8a5e531fed8298997367dd84 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-24Merge "Obtain pod_name by CONST instead of get function"Morgan Richomme1-14/+1
2017-08-23Refactor resource creation and cleanup in TempestMartin Kulhavy1-4/+4
Use Snaps to create resources before running a testcase and to clean up afterwards. Use Tempest Cleanup utility to clean other resources. Change-Id: Ic0f69d3bafb60dfb283d18ac507e9f5992e9ae38 Signed-off-by: Martin Kulhavy <martin.kulhavy@nokia.com>
2017-08-17Obtain pod_name by CONST instead of get functionLinda Wang1-14/+1
JIRA: FUNCTEST-763 Change-Id: Id334745a1eac8b933d77f9cb36a506a02366d760 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-15Obtain build_tag by CONST instead of get functionLinda Wang1-15/+4
JIRA: FUNCTEST-763 Change-Id: I86b0b515a3d51df20a35c2aeb461a95d0c5797fd Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-06-20Remove all references to /home/opnfv/repos/functestCédric Ollivier1-5/+3
It also removes relative (and incomplete) references which could be defined in modules instead of this global configuration. Change-Id: Ie20dc3547e49b6224aa8100cd380d37b87ece5a9 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-06-19Stop getting git data from functest dirCédric Ollivier1-10/+0
Functest is no longer a git clone. Change-Id: Ieaceacaa820e9a7a3c64e8c1fbd2a8a9321f234d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-06-01Use CONST to retrieve db_url rather than getter functionLinda Wang1-14/+6
1. Remove get_db_url() 2. If TEST_DB_URL declared in env, update test_db_url in config_functest.yaml file during env preparation 3. No matter TEST_DB_URL declared in env or not, Result_DB = CONST.__getattribute__("results_test_db_url") JIRA: FUNCTEST-763 Change-Id: I20da7ef98bbcc56731e0ff7061b05c1dde6cbfc3 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-05-21Sort keys when dumping jsonCédric Ollivier1-1/+2
Otherwise dumping them could break some unit tests as they are unordered collections [1]. [1] https://build.opnfv.org/ci/job/functest-verify-master/4122/ Change-Id: I108e946926ae9690cf2421e565f2bb81500f9160 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-19Set default value for CONFIG_FUNCTEST_YAMLCédric Ollivier1-2/+3
It calculates via the full path of env.py. Change-Id: Ief958833f5116cdb116d0153d85a0ae03063ec5c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-18Remove check_success_ratejose.lausuch1-10/+0
After the introduction of is_successful method in TestCase class, this is not needed anymore. Change-Id: I70f6f9e10495601cd5443467347b97efe27b81a3 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2017-05-17Update self.result value to INTjose.lausuch1-2/+2
So far, the test cases are storing a string "PASS" "FAIL" in the self.result variable. The way the new framework works is with INT Values. Change-Id: I45e8693327740faadd8254b21569adfb2cefa6c8 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2017-05-17Add Python3 support to the ODL testcaseCédric Ollivier1-6/+6
It also adds this support to its dependencies. Change-Id: I0534f0c7b0e15a9ee89f522f314cf5200874454c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-04Delete functest.utils.functest_loggerCédric Ollivier1-2/+2
It deletes functest.utils.functest_logger and the related unit tests. Then it modifies all functest modules to get all loggers via logging.getLogger(). __name__ is mainly used as getLogger arg as proposed by logging [1]. All loggers and handlers are now defined via functest/ci/logging.ini instead of a dict loaded by an external json file. Now only warn messages and info messages from ci and core packages are printed in console. [1] https://docs.python.org/2/library/logging.html Change-Id: Ic192855e0f9bf94825d8f7ec73549a0f3b8d44c5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-26Manage criteria in TestCaseCédric Ollivier1-16/+7
It converts all criteria values to the corresponding percent in functest/ci/testcases.yaml. Result is expected to be equal or greater than criteria. If both are 0, result is considered as false. It is compatible with the old behavior but warns to update. It will allow a safer remove. It also fixes a bug in test_tempest to allow merging [1] and tier_handler.py which required that type criteria was str. [1] https://gerrit.opnfv.org/gerrit/#/c/27949/ Change-Id: Ib6edcfa3103b7d51b0bdc83119f1cea2a8be9fbc Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-26Switch TestCase attribute criteria to resultCédric Ollivier1-3/+3
It mainly avoids mixing input and output. Criteria is now an input set in functest/ci/testcases.yaml and then must be passed as __init__() args (which will be proposed in an additional change). Then it also renames the related TestCase method to check_result(). Change-Id: Ifc3c8e3ea6cde7e3edf7174bed4bf2bf0894e8e3 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-19Stop hardcoding results suffix in push_to_dbMatthewLi1-1/+1
Adding results in url is useless as it is defined in results section in config_functest.yaml. It allows defining the full name in case of dumping to file (see decorator.py). The commented local file is the value required by dovetail. Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: I35ba9b34d99e138292f099934e28585ee8b85604 Signed-off-by: MatthewLi <matthew.lijun@huawei.com> Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-11Modify TestCase constructor attributesCédric Ollivier1-1/+1
Every feature/testcase now allows receiving the data defined in testcases.yaml as args (name is renamed to case_name). From the time being, only project and case names are handled. Next pending patches will add criteria, cmd and repo to this list. It keeps the default values for case names except for features which will be aggregated into Feature. Change-Id: Id742d100b8183d7f10894c24ae6879d1b2b60ac9 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-03-20bug fix: version not retrieved on weekly jobsMorgan Richomme1-7/+1
a first fix had been done but the version was retrieved 2 times with the regex this patch removes the second regex and re-use get_version the associated unit tests has been removed because even if the build_tag is badly formated, it will not prevent the results to be pushed with version = unknown JIRA: FUNCTEST-765 Change-Id: I2cbe8ba1dd7278c3f3510a47c667c433f65e00f8 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2017-03-17Bug Fix: retrieve version from build tag in weekly jobsMorgan Richomme1-4/+3
- fix regex issue - add unit test to cover weekly and dummy build tags - remove useless logs JIRA: FUNCTEST-765 Change-Id: I7a8d40b4662f4557cd080669da46fb1c32d2ad6d Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2017-03-15env variable support for test DB urlMorgan Richomme1-1/+9
So far DB url was retrieved from configuration file If you want to use the CI chain (jenkins, testapi, test DB, functest, ..) then you have a problem calling functest will systematically point to the configuration from the repo Supporting env variable allow to avoid post processing in the configuration file and as a consequence offer the possibility to create a local DB to host local results Change-Id: Ie64b8b265827d7f5724c7066a8c173de8cf012e2 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2017-02-25Merge "Bugfix:Added the adapter info for compass and joid"Jose Lausuch1-1/+1
2017-02-23Bugfix:Added the adapter info for compass and joidhelenyao1-1/+1
CI for compass and joid failed as there is no key defined in installer_params.yaml Change-Id: I8d17d36d854974c0751d3fd3bab4994205f786bb Signed-off-by: helenyao <yaohelan@huawei.com>
2017-02-22Prepare env will exit when an error is raisedhelenyao1-0/+7
JIRA: FUNCTEST-727 Change-Id: I4d8e24c0cb6272d92dc777dc82d56490948598db Signed-off-by: helenyao <yaohelan@huawei.com>
2017-02-15Merge "update cloudify_ims case"valentin boucher1-1/+1
2017-02-15update cloudify_ims caseboucherv1-1/+1
bug fixes Provisional change of the ci loop var to daily for VNF testcase. JIRA: FUNCTEST-710 Change-Id: I6dc8072b4e56c96473a2b09f1881b96024259db5 Signed-off-by: boucherv <valentin.boucher@orange.com>
2017-02-13Add can_dump_request_to_file decoratorCédric Ollivier1-0/+2
can_dump_request_to_file can be called to dump any request data to a local file as defined by test_db_url. If its scheme is file, Session.send() is patched. Else the behavior is kept unchanged. Change-Id: Id219dad274b5f02a05259a2ed13e882c04eea7b4 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-02-13Revert "write test results to a local file"Cédric Ollivier1-33/+1
This reverts commit ee21af78fbfc93e888acda121f08d2b216dd0159. Change-Id: If7c8d3b645073574862eb67225b1e11b0dd7a021 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-02-06Change log level when pod, scenario or build_tag cannot be retrievedMorgan Richomme1-5/+6
when using Functest out of CI, such env variables may not be set This shall not result in Error messages JIRA: FUNCTEST-716 Change-Id: I86d2023145480dfa9c8d593ea274acbd9e431ef7 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2017-01-17write test results to a local filewu.zhihui1-1/+33
Write test result to a file or push it to DB depends on the value format of test_db_url which is defined in config_functest.yaml. Meanwhile, test_db_url can be set by os envrion value "RESULT_STORE". If test_db_url is a url, e.g. http:// or https://, then push result to DB. If test_db_url is a file location, e.g. file:///, then write results to a file with json data. One result record, one line. JIRA: FUNCTEST-657 Change-Id: I579087cd2c24d61a79142b5d67003fb486b6c723 Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
2016-12-26refactor rally using new constants providerSerenaFeng1-3/+2
JIRA: FUNCTEST-673 Change-Id: I4b542a7693aaf7dd037e0e55dee3f22dda8df27a Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2016-12-22Refactor tempest using new constants providerSerenaFeng1-20/+0
JIRA: FUNCTEST-673 Change-Id: Ibc274edd6bc9e8aea9e124fae84d7dec481982ab Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2016-12-21refactor vping using new constants providerSerenaFeng1-1/+1
JIRA: FUNCTEST-673 Change-Id: I56ac66662b53593257609fa87c16df52440f7458 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2016-12-13Add timing decorator utilityGeorge Paraskevopoulos1-0/+17
Create "timethis" utility decorator that prints how long it takes for an arbitrary function to complete USAGE: @functest.utils.functest_utils.timethis def function_to_be_timed(...): ... Change-Id: I41730c01b6889a9fa1ede4c5863841648b5af9c7 Signed-off-by: George Paraskevopoulos <geopar@intracom-telecom.com>
2016-12-09Merge "abstract umbrella part to make integration code simpler"Serena Feng1-17/+0
2016-12-08Added test cases for running the Python Tests included with SNAPS.spisarski1-1/+1
JIRA: FUNCTEST-570 The three new tests are: 1. healthcheck/connecton_check - Retrieves different OpenStack clients and may exercise a query function 2. healthcheck/api_check - Exercises many of the OpenStack APIs by performing basic CRUD operations 3. smoke/snaps_smoke - Creates VMs and some optionally test SSH into floating IPs Removed configured exernal network name and replaced it with a dynamic lookup. Fixed typo in run_tests.py Change-Id: Icb87a77c7cdd99dd9aa3a66bcc5a25b4b5935fef Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2016-12-07abstract umbrella part to make integration code simplerSerenaFeng1-17/+0
implement an abstract class Umbrella, and take parser for instance JIRA: FUNCTEST-618 Change-Id: Iadf71ad49abd901b9659cb71135fc902a3b616d1 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2016-11-24Extracted all global parameters into functest_constants.pyhelenyao1-6/+7
JIRA: FUNCTEST-533 1. Extracted all global variables into functest_constants.py and updated all affected areas accordingly 2. Used os.path.join to replace '/' to come up with the path for better cross-platform support and improve the path accuracy 3. Removed unused variables 4. Updated the hardcoded path in Dockerfile by using variable reference 5. Removed "/" ending from all path variables 6. Updated the unit test Change-Id: Ib30a81d1f0c83fbaef042d63c187c27bd18301bb Signed-off-by: helenyao <yaohelan@huawei.com>
2016-11-10change path for python ci filesMorgan Richomme1-1/+1
JIRA: FUNCTEST-525 Change-Id: I6b09eaec55e42a3ee1474b21bc7ed87a71118e60 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2016-11-09Repo structure modificationMorgan Richomme1-0/+449
- create functest subdirectory - rename unit tests - adapt path in exec and config files JIRA: FUNCTEST-525 Change-Id: Ifd5c6edfb5bda1b09f82848e2269ad5fbeb84d0a Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>