summaryrefslogtreecommitdiff
path: root/taskflow/tests
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2015-03-10 18:01:44 -0700
committerJoshua Harlow <harlowja@yahoo-inc.com>2015-03-11 12:53:15 -0700
commitad133adea6ee293f0cfc6145a483fa0cfc27faf6 (patch)
tree6989d2c82383391ab2c33ebc575f1894699a2f33 /taskflow/tests
parent1478f52c9ad8c21d9fa5396118bde54ab8cc6bd7 (diff)
downloadtaskflow-ad133adea6ee293f0cfc6145a483fa0cfc27faf6.tar.gz
Add + use failure json schema validation
Change-Id: Ie3aa386c831459a028ba494570bafd53b998126e
Diffstat (limited to 'taskflow/tests')
-rw-r--r--taskflow/tests/unit/test_failure.py31
-rw-r--r--taskflow/tests/unit/worker_based/test_server.py8
2 files changed, 35 insertions, 4 deletions
diff --git a/taskflow/tests/unit/test_failure.py b/taskflow/tests/unit/test_failure.py
index c8f83b9..fab9cb9 100644
--- a/taskflow/tests/unit/test_failure.py
+++ b/taskflow/tests/unit/test_failure.py
@@ -137,6 +137,36 @@ class FromExceptionTestCase(test.TestCase, GeneralFailureObjTestsMixin):
class FailureObjectTestCase(test.TestCase):
+ def test_invalids(self):
+ f = {
+ 'exception_str': 'blah',
+ 'traceback_str': 'blah',
+ 'exc_type_names': [],
+ }
+ self.assertRaises(exceptions.InvalidFormat,
+ failure.Failure.validate, f)
+ f = {
+ 'exception_str': 'blah',
+ 'exc_type_names': ['Exception'],
+ }
+ self.assertRaises(exceptions.InvalidFormat,
+ failure.Failure.validate, f)
+ f = {
+ 'exception_str': 'blah',
+ 'traceback_str': 'blah',
+ 'exc_type_names': ['Exception'],
+ 'version': -1,
+ }
+ self.assertRaises(exceptions.InvalidFormat,
+ failure.Failure.validate, f)
+
+ def test_valid_from_dict_to_dict(self):
+ f = _captured_failure('Woot!')
+ d_f = f.to_dict()
+ failure.Failure.validate(d_f)
+ f2 = failure.Failure.from_dict(d_f)
+ self.assertTrue(f.matches(f2))
+
def test_dont_catch_base_exception(self):
try:
raise SystemExit()
@@ -358,6 +388,7 @@ class FailureCausesTest(test.TestCase):
self.assertIsNotNone(f)
d_f = f.to_dict()
+ failure.Failure.validate(d_f)
f = failure.Failure.from_dict(d_f)
self.assertEqual(2, len(f.causes))
self.assertEqual("Still not working", f.causes[0].exception_str)
diff --git a/taskflow/tests/unit/worker_based/test_server.py b/taskflow/tests/unit/worker_based/test_server.py
index fea5d1c..9b7815c 100644
--- a/taskflow/tests/unit/worker_based/test_server.py
+++ b/taskflow/tests/unit/worker_based/test_server.py
@@ -108,7 +108,7 @@ class TestServer(test.MockTestCase):
def test_parse_request(self):
request = self.make_request()
- bundle = server.Server._parse_request(**request)
+ bundle = pr.Request.from_dict(request)
task_cls, task_name, action, task_args = bundle
self.assertEqual((task_cls, task_name, action, task_args),
(self.task.name, self.task.name, self.task_action,
@@ -116,7 +116,7 @@ class TestServer(test.MockTestCase):
def test_parse_request_with_success_result(self):
request = self.make_request(action='revert', result=1)
- bundle = server.Server._parse_request(**request)
+ bundle = pr.Request.from_dict(request)
task_cls, task_name, action, task_args = bundle
self.assertEqual((task_cls, task_name, action, task_args),
(self.task.name, self.task.name, 'revert',
@@ -126,7 +126,7 @@ class TestServer(test.MockTestCase):
def test_parse_request_with_failure_result(self):
a_failure = failure.Failure.from_exception(Exception('test'))
request = self.make_request(action='revert', result=a_failure)
- bundle = server.Server._parse_request(**request)
+ bundle = pr.Request.from_dict(request)
task_cls, task_name, action, task_args = bundle
self.assertEqual((task_cls, task_name, action, task_args),
(self.task.name, self.task.name, 'revert',
@@ -137,7 +137,7 @@ class TestServer(test.MockTestCase):
failures = {'0': failure.Failure.from_exception(Exception('test1')),
'1': failure.Failure.from_exception(Exception('test2'))}
request = self.make_request(action='revert', failures=failures)
- bundle = server.Server._parse_request(**request)
+ bundle = pr.Request.from_dict(request)
task_cls, task_name, action, task_args = bundle
self.assertEqual(
(task_cls, task_name, action, task_args),