Refactor testing framework to allow using callTask* methods inside @classmethods
This commit is contained in:
@@ -83,7 +83,8 @@ class BaseTestCase(unittest.TestCase):
|
|||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def callTask(self, args, input=None, merge_streams=True):
|
@classmethod
|
||||||
|
def callTask(cls, args, input=None, merge_streams=True):
|
||||||
"""Invoke src/task with the given arguments
|
"""Invoke src/task with the given arguments
|
||||||
|
|
||||||
Use callTaskSuccess or callTaskError if you want exit_code to be tested
|
Use callTaskSuccess or callTaskError if you want exit_code to be tested
|
||||||
@@ -122,7 +123,8 @@ class BaseTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
return p.returncode, out, err
|
return p.returncode, out, err
|
||||||
|
|
||||||
def callTaskSuccess(self, args, input=None, merge_streams=True):
|
@classmethod
|
||||||
|
def callTaskSuccess(cls, args, input=None, merge_streams=True):
|
||||||
"""Invoke src/task with the given arguments and expect a zero exit
|
"""Invoke src/task with the given arguments and expect a zero exit
|
||||||
code.
|
code.
|
||||||
Causes test to fail if exit_code != 0
|
Causes test to fail if exit_code != 0
|
||||||
@@ -134,13 +136,14 @@ class BaseTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
Returns (exit_code, stdout, stderr)
|
Returns (exit_code, stdout, stderr)
|
||||||
"""
|
"""
|
||||||
out = self.callTask(args, input, merge_streams)
|
out = cls.callTask(args, input, merge_streams)
|
||||||
|
|
||||||
self.assertEqual(out[0], 0, "Task finished with non-zero ({0}) exit "
|
assert out[0] == 0, ("Task finished with non-zero ({0}) exit code\n"
|
||||||
"code\nOUTPUT: {1}".format(out[0], out[1]))
|
"OUTPUT: {1}".format(out[0], out[1]))
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def callTaskError(self, args, input=None, merge_streams=True):
|
@classmethod
|
||||||
|
def callTaskError(cls, args, input=None, merge_streams=True):
|
||||||
"""Invoke src/task with the given arguments and expect a non-zero exit
|
"""Invoke src/task with the given arguments and expect a non-zero exit
|
||||||
code.
|
code.
|
||||||
Causes test to fail if exit_code == 0
|
Causes test to fail if exit_code == 0
|
||||||
@@ -152,9 +155,9 @@ class BaseTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
Returns (exit_code, stdout, stderr)
|
Returns (exit_code, stdout, stderr)
|
||||||
"""
|
"""
|
||||||
out = self.callTask(args, input, merge_streams)
|
out = cls.callTask(args, input, merge_streams)
|
||||||
|
|
||||||
self.assertNotEqual(out[0], 0, "Task finished with zero exit (0) code")
|
assert out[0] != 0, "Task finished with zero exit (0) code"
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user