aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Lausuch <jose.lausuch@ericsson.com>2017-05-16 11:47:14 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-05-16 11:47:14 +0000
commitccb98c22390fd97a3bb55aa225c7241cc4daa85d (patch)
treef5b7987f8f9888d2c2b5d499aa8b0d4b455605f9
parent696fb168cd72978c18a9c7f4d9d2ba60b80611ab (diff)
parent648d31af02248b8b2da059e228c10f1e3f81eb5b (diff)
Merge "Modify TestCase.__str__() to use PrettyTable"
-rw-r--r--functest/core/testcase.py16
-rw-r--r--functest/tests/unit/core/test_testcase.py6
-rw-r--r--requirements.txt1
-rw-r--r--test-requirements.txt1
4 files changed, 16 insertions, 8 deletions
diff --git a/functest/core/testcase.py b/functest/core/testcase.py
index 49fae6097..317c4f59e 100644
--- a/functest/core/testcase.py
+++ b/functest/core/testcase.py
@@ -12,6 +12,8 @@
import logging
import os
+import prettytable
+
import functest.utils.functest_utils as ft_utils
__author__ = "Cedric Ollivier <cedric.ollivier@orange.com>"
@@ -49,14 +51,16 @@ class TestCase(object):
assert self.case_name
result = 'PASS' if(self.is_successful(
) == TestCase.EX_OK) else 'FAIL'
- return ('| {0:<23} | {1:<13} | {2:<10} | {3:<13} |'
- '\n{4:-<26}{4:-<16}{4:-<13}{4:-<16}{4}'.format(
- self.case_name, self.project_name,
- self.get_duration(), result, '+'))
+ msg = prettytable.PrettyTable(
+ header_style='upper',
+ field_names=['test case', 'project', 'duration',
+ 'result'])
+ msg.add_row([self.case_name, self.project_name,
+ self.get_duration(), result])
+ return msg.get_string()
except AssertionError:
self.__logger.error("We cannot print invalid objects")
- return '| {0:^68} |\n{1:-<26}{1:-<16}{1:-<13}{1:-<16}{1}'.format(
- 'INVALID OBJECT', '+')
+ return super(TestCase, self).__str__()
def get_duration(self):
"""Return the duration of the test case.
diff --git a/functest/tests/unit/core/test_testcase.py b/functest/tests/unit/core/test_testcase.py
index b25ce2260..08a717a29 100644
--- a/functest/tests/unit/core/test_testcase.py
+++ b/functest/tests/unit/core/test_testcase.py
@@ -191,11 +191,13 @@ class TestCaseTesting(unittest.TestCase):
def test_str_project_name_ko(self):
self.test.project_name = None
- self.assertIn("INVALID OBJECT", str(self.test))
+ self.assertIn("<functest.core.testcase.TestCase object at",
+ str(self.test))
def test_str_case_name_ko(self):
self.test.case_name = None
- self.assertIn("INVALID OBJECT", str(self.test))
+ self.assertIn("<functest.core.testcase.TestCase object at",
+ str(self.test))
def test_str_pass(self):
duration = '01:01'
diff --git a/requirements.txt b/requirements.txt
index ddf0b1c48..976deefa2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -33,3 +33,4 @@ click==6.6
openbaton-cli==2.2.1-beta7
mock==1.3.0
iniparse==0.4
+PrettyTable>=0.7.1,<0.8 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 088b38704..76e475dcc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -26,3 +26,4 @@ robotframework-requests==0.3.8
robotframework-sshlibrary==2.1.3
subprocess32==3.2.7
virtualenv==15.1.0
+PrettyTable>=0.7.1,<0.8 # BSD