aboutsummaryrefslogtreecommitdiffstats
path: root/functest/tests/unit
AgeCommit message (Collapse)AuthorFilesLines
2017-05-18Use StringIO in odl.pyCédric Ollivier1-40/+0
It avoids creating and removing the temporary file to dump robot output. Change-Id: Ia5ea66e76ffb8b8327f2da938f177e8ef4c61dd4 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-18Remove check_success_ratejose.lausuch3-47/+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-18Replace CONST.* by getattribute/setattr for cliLinda Wang4-39/+51
Directories affected: - functest/cli/commands and respective unit test JIRA: FUNCTEST-796 Change-Id: I2ad721819d4b8f97098c589c3b5ed3dcc945409d Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-05-18Add a new directory to hold pre-downloaded imageshelenyao1-0/+8
Put all images in the new direcotry. If users want to use the local image, map the local directory to the ${HOME}/functest/images Change-Id: I0d309b93f52b3da23d6130056f1a19907313ef68 Signed-off-by: helenyao <yaohelan@huawei.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 Ollivier2-20/+22
It also adds this support to its dependencies. Change-Id: I0534f0c7b0e15a9ee89f522f314cf5200874454c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-17Update/Add requirements to run ODL robot CSITJamo Luhrsen1-6/+4
It conforms test_odl.py with the new RobotFramework API too. It also updates test-requirements.txt as required by the current implementation of run_unit_tests.sh. Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: Ibca0150a40d3b8a3f736be1e9dcbf9ce56af0299 Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com> Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-16Define Runner classCédric Ollivier1-73/+98
It simply converts run_tests.py's functions to Runner's methods. This proposal could be enhanced in a second step to fully leverage on object programming. It defines as instance variables the former static variables to allow multiple runs (it's mandatory for unit testing). All false positives in unit tests are fixed but run_tests.py is still not fully covered. Change-Id: I8f91c132aa8b2248041f31e46238dd5598344d34 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-16Merge "Fix one minor typo"Jose Lausuch1-1/+1
2017-05-16Merge "Fully cover the decorator"Jose Lausuch1-0/+135
2017-05-16Merge "Additional Unit Tests for core modules"Jose Lausuch2-13/+180
2017-05-16Add enabled flag in testcases.yamljose.lausuch2-0/+6
This will allow enable/disable test cases directly using true/false. Change-Id: Iaa7d051ebb8dd9e5a6f835a823f58f1e17a87b8d Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2017-05-16Switch from generate_report to PrettyTableCédric Ollivier3-156/+5
run_tests.py now relies on PrettyTable as most of the openstack clients. generate_report.py and its related unit tests are simply removed. It sets padding_width=5 in testcase.py too to conform with run_tests.py. Now report is printed in every case. Change-Id: Id9ce93f984503f25d6a2150482f397853fa3dd64 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-16Fix how to get tier_nameCédric Ollivier1-0/+7
The tier name was incorrect when passing a test case as run_test.py arg. Change-Id: I6f439fc7b90facb3f0553798bd1fe06ac9f09475 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-16Merge "Modify TestCase.__str__() to use PrettyTable"Jose Lausuch1-2/+4
2017-05-15Fix one minor typoCédric Ollivier1-1/+1
Change-Id: Id17070985adfbe7817f3be25b47f583cb9ef90b6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-15Additional Unit Tests for core modulesashishk19942-13/+180
This patch adds unit tests for vnf and pytest_suite_runner. It also fixes several pylint warnings/errors. Additional tests are required to check args values. Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: I75a829233481655c794402830e1da037ab7cdb8d Signed-off-by: ashishk1994 <ashishk.iiit@gmail.com>
2017-05-15Fully cover the decoratorCédric Ollivier1-0/+135
Change-Id: I1f1c938f0715e6afb7edbb8242f9a6c9cbfa65b5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-12Merge "Add Energy recording support"Morgan Richomme2-0/+277
2017-05-11Modify TestCase.__str__() to use PrettyTableCédric Ollivier1-2/+4
It adds PrettyTable as requirement even if it's already defined in OpenStack client dependencies. If the TestCase object is considered as invalid, it simply returns the default str. Change-Id: Iee788aef2a13694d9482560977cbbf21c7f2c967 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-10Merge "Conform ODL with last framework updates"Morgan Richomme1-4/+25
2017-05-10Merge changes from topic 'add_testcase_str'Morgan Richomme2-4/+37
* changes: Remove the former results in DB url Implement TestCase __str__()
2017-05-09Remove the former results in DB urlCédric Ollivier1-4/+4
It conforms generate_report.py with the previous change [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/33511/ Change-Id: I677ebd416f462a591439fc7b637c02d7964e6173 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-09Add Energy recording supportBenoit HERARD2-0/+277
It adds helpers to send notifications to Energy recording API and related unit tests. It requires a dedicated section in functest config file to set connectivity parameters to Energy recording API. It is using shared API Recording at http://161.105.253.100:8888 Change-Id: Idcb74d1bf7341ccce7cc1c3926f22338ce24f714 Signed-off-by: Benoit HERARD <benoit.herard@orange.com>
2017-05-09Conform ODL with last framework updatesCédric Ollivier1-4/+25
Now ODL TestCase calculates the ratio between critical tests passed and failed and saves it in result. Non-critical test cases can fail as result doesn't take them into account [1]. It also updates default attribute values in TestCase and allows result to be float. [1] http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#setting-criticality Change-Id: Id4a89271b5b1a90cd3c1e2b08591ff26ffaffee0 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-09Rename VnfOnBoardingBase to VnfOnBoardingCédric Ollivier1-2/+2
Change-Id: I514340fc6180e29b31ef11bdea9f719aa2bbb738 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-09Rename vnf_base to vnfCédric Ollivier1-3/+3
Change-Id: I0b8b9b2e85717fc92a233e4f7344b3419421778d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-06Implement TestCase __str__()Cédric Ollivier1-0/+33
It's designed to be called by run_tests.py when printing the results of test cases and when generating the global report. Change-Id: If4a6f023ef2344bbc4f940d07dde4b776dce5d68 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-06Merge "Rename TestCase check_result() to is_successful()"Cedric Ollivier1-8/+8
2017-05-05Merge "Print the real testcase duration"Jose Lausuch1-1/+28
2017-05-05Rename TestCase check_result() to is_successful()Cédric Ollivier1-8/+8
Change-Id: I41cea33b4c1dae79e75231e7c7e069fc89736f34 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-05Print the real testcase durationCédric Ollivier1-1/+28
TestCase offers a new public method to calculate and print the duration. It also adds the related unit tests and adapts run_tests.py. Change-Id: Ib6a7e637dafacb9027146199aeb033c2dcb986c6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-05Replace CONST.* by getattribute/setattrjose.lausuch3-54/+62
Directories affected: - ci - core and respective unit tests Change-Id: I6a3d5aa68de29fc5a37ae543a067ff797eba33e6 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2017-05-05Merge "Check open args in test_odl"Jose Lausuch1-3/+9
2017-05-05Replace project_name by case_name in result file nameCédric Ollivier1-1/+1
It avoids erasing functest.log when project_name = functest. Change-Id: Icae898abb8b51c89b79bb1124adfadab8b0b3b99 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-05Check open args in test_odlCédric Ollivier1-3/+9
Change-Id: I4b0060502621c7491820b9aa42d8f2f63b06a9ae Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-05Merge "Delete functest.utils.functest_logger"Jose Lausuch1-48/+0
2017-05-04Delete functest.utils.functest_loggerCédric Ollivier1-48/+0
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-05-04Merge "Add the choice of interface for keystoneclient"Jose Lausuch1-13/+37
2017-05-02Add the choice of interface for keystoneclientLinda Wang1-13/+37
1. When functest is running on external host not jumpserver, keystoneclient is used to retrieve or create projects/tenants and users, which would fail to establish connection to the admin endpoint. 2. Keystoneclient will connect to the public endpoint by setting the env OS_INTERFACE to be public. 3. Remove the admin endpoint check in check_os.sh. JIRA: FUNCTEST-801 Change-Id: I324f5c8fdf61447319070a23f6b6bc6b1bbc1d48 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-04-30Remove missing statements in test_odlCédric Ollivier1-25/+19
It mainly removes _fake_url_for() which is useless since get_endpoint() is not called for identity. Coverage for functest/tests/unit/odl/test_odl.py : 100% Change-Id: I5809c5eac4021c44113e70379621ab311187c669 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-26Fix false positives in test_tempestCédric Ollivier1-92/+74
It fixes the return values and the side effects expected from the next methods: - configure_tempest - create_tempest_resources - generate_test_list - apply_tempest_blacklist - run_verifier_tests - parse_verifier_result JIRA: FUNCTEST-803 Change-Id: Ib7dbd28e003cf0f27f497ad8e63cf7ae5ce564de Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-26Manage criteria in TestCaseCédric Ollivier4-17/+67
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 Ollivier5-22/+23
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-24Remove the useless opnfv_tests dir in testsCédric Ollivier15-0/+0
Change-Id: I41a8db181adf6c0c67b9de8380c3ccdd1ad3b529 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-14Remove deprecated feature modulesCédric Ollivier10-371/+19
All features running bash programs are now simply defined in testcases.yaml. All deprecated modules and unit tests are removed. Change-Id: I7047b6f7a1e43cb8ed5ba2d569d5dcecae68fb86 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-12Refactor the Feature frameworkCédric Ollivier11-136/+83
run() returns the expected status code (see following JIRA tickets). repo, pre() and post() are removed as they were quite useless. A dedicated class is proposed for bash programs. Unit tests have been added to fully cover this module. All features have been modified to conform with these modifications. It also removes the decorators which skipped several unit tests. JIRA: FUNCTEST-778 JIRA: FUNCTEST-779 JIRA: FUNCTEST-780 JIRA: FUNCTEST-781 Change-Id: Ifb1e4c4f68260a4e20d895f67f07f369ca959374 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-11Modify TestCase constructor attributesCédric Ollivier14-36/+78
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-04-08Rename test_ims_base.by to test_ims_base.pyCédric Ollivier1-3/+3
It fixes errors when importing modules too. It completes the review "Added test case for opera vims" [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/30681 Change-Id: Ib3cf9c66eb9a2c25ff4fb58d48e4b15a44556f7c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-08Add unit tests for parserCédric Ollivier3-0/+38
It also fixes the corresponding case name in testcases.yaml. Change-Id: I2b93323a18bb192d9ad35823dc48b236cb6841b1 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>