Fix broken retry tests
* Failure was in output transformer specified in retry_task.yaml. * Added assertion back to enable the tests. * Extra logging to include more context in the logs to gather more insight from the logs. Change-Id: Ic6f4665cd4d74d2676fc17891dbf66984926cd42
This commit is contained in:
parent
c55623c96d
commit
594fab664d
|
@ -30,8 +30,8 @@ from mistral.openstack.common import importutils
|
|||
# We need to make sure that all configuration properties are registered.
|
||||
importutils.import_module("mistral.config")
|
||||
|
||||
|
||||
from mistral.db.sqlalchemy import api as db_api
|
||||
from mistral.openstack.common import log as logging
|
||||
from mistral.engine import engine
|
||||
from mistral.engine.scalable.executor import server
|
||||
from mistral.engine.scalable import engine as concrete_engine
|
||||
|
@ -40,6 +40,7 @@ from mistral import version
|
|||
|
||||
|
||||
RESOURCES_PATH = 'tests/resources/'
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_resource(resource_name):
|
||||
|
@ -95,6 +96,8 @@ class BaseTest(unittest2.TestCase):
|
|||
found = len(filtered_items)
|
||||
|
||||
if found != count:
|
||||
LOG.info("[failed test ctx] items=%s, expected_props=%s" % (str(
|
||||
items), props))
|
||||
self.fail("Wrong number of items found [props=%s, "
|
||||
"expected=%s, found=%s]" % (props, count, found))
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ Namespaces:
|
|||
url: http://path_to_service/action_url
|
||||
method: GET
|
||||
output:
|
||||
output: '$.op_1'
|
||||
output: $
|
||||
sync-action:
|
||||
class: std.echo
|
||||
base-parameters:
|
||||
|
|
|
@ -79,8 +79,8 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
{'output': 'result'})
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#self._assert_single_item(tasks, name='retry_task')
|
||||
#self._assert_single_item(tasks, task_runtime_context=None)
|
||||
self._assert_single_item(tasks, name='retry_task')
|
||||
self._assert_single_item(tasks, task_runtime_context=None)
|
||||
|
||||
def test_retry_always_error(self):
|
||||
workbook = _get_workbook(WB_NAME)
|
||||
|
@ -97,12 +97,12 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
{'output': 'result'})
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name='retry_task')
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count - 1})
|
||||
#self._assert_single_item(tasks, state=states.ERROR)
|
||||
self._assert_single_item(tasks, name='retry_task')
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count - 1})
|
||||
self._assert_single_item(tasks, state=states.ERROR)
|
||||
|
||||
def test_retry_eventual_success(self):
|
||||
workbook = _get_workbook(WB_NAME)
|
||||
|
@ -123,11 +123,11 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
{'output': 'result'})
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name='retry_task')
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count/2 - 1})
|
||||
self._assert_single_item(tasks, name='retry_task')
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count/2 - 1})
|
||||
|
||||
def test_retry_delay(self):
|
||||
task_name = 'delay_retry_task'
|
||||
|
@ -148,8 +148,8 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#self._assert_single_item(tasks, name=task_name)
|
||||
#self._assert_single_item(tasks, state=states.DELAYED)
|
||||
self._assert_single_item(tasks, name=task_name)
|
||||
self._assert_single_item(tasks, state=states.DELAYED)
|
||||
|
||||
eventlet.sleep(delay * 2)
|
||||
|
||||
|
@ -159,13 +159,12 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
{'output': 'result'})
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks =
|
||||
# db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name=task_name)
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count - 1})
|
||||
#self._assert_single_item(tasks, state=states.ERROR)
|
||||
self._assert_single_item(tasks, name=task_name)
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count - 1})
|
||||
self._assert_single_item(tasks, state=states.ERROR)
|
||||
|
||||
def test_from_no_retry_to_retry_task(self):
|
||||
task_name_1 = 'no_retry_task'
|
||||
|
@ -198,8 +197,8 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#self._assert_single_item(tasks, name=task_name_1)
|
||||
#self._assert_single_item(tasks, state=states.DELAYED)
|
||||
self._assert_single_item(tasks, name=task_name_1)
|
||||
self._assert_single_item(tasks, state=states.DELAYED)
|
||||
|
||||
eventlet.sleep(delay * 2)
|
||||
|
||||
|
@ -209,12 +208,12 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
{'output': 'result'})
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name=task_name_2)
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count - 1})
|
||||
#self._assert_single_item(tasks, state=states.ERROR)
|
||||
self._assert_single_item(tasks, name=task_name_2)
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count - 1})
|
||||
self._assert_single_item(tasks, state=states.ERROR)
|
||||
|
||||
@mock.patch.object(std_actions.EchoAction, "run",
|
||||
mock.MagicMock(side_effect=exc.ActionException))
|
||||
|
@ -228,13 +227,12 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
task_name_1, None)
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks =
|
||||
db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name=task_name_1)
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count - 1})
|
||||
#self._assert_single_item(tasks, state=states.ERROR)
|
||||
self._assert_single_item(tasks, name=task_name_1)
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count - 1})
|
||||
self._assert_single_item(tasks, state=states.ERROR)
|
||||
|
||||
def test_sync_action_eventual_success(self):
|
||||
task_name_1 = 'sync_task'
|
||||
|
@ -252,10 +250,9 @@ class TaskRetryTest(base.EngineTestCase):
|
|||
task_name_1, None)
|
||||
|
||||
# TODO(rakhmerov): It's not stable, need to avoid race condition.
|
||||
#tasks =
|
||||
db_api.tasks_get(WB_NAME, execution['id'])
|
||||
tasks = db_api.tasks_get(WB_NAME, execution['id'])
|
||||
|
||||
#self._assert_single_item(tasks, name=task_name_1)
|
||||
#self._assert_single_item(tasks, task_runtime_context={
|
||||
# 'retry_no': retry_count/2})
|
||||
#self._assert_single_item(tasks, state=states.SUCCESS)
|
||||
self._assert_single_item(tasks, name=task_name_1)
|
||||
self._assert_single_item(tasks, task_runtime_context={
|
||||
'retry_no': retry_count/2})
|
||||
self._assert_single_item(tasks, state=states.SUCCESS)
|
||||
|
|
Loading…
Reference in New Issue