Remove process_timeouts() method in favor of timeout(<Timeout>) and a helper for tests

This commit is contained in:
Jean-Baptiste Barth 2015-11-05 02:47:05 +01:00
commit d007dfe3ff
4 changed files with 21 additions and 15 deletions

View file

@ -8,7 +8,11 @@ from moto.swf.models import (
Timeout,
)
from ..utils import make_workflow_execution, ACTIVITY_TASK_TIMEOUTS
from ..utils import (
ACTIVITY_TASK_TIMEOUTS,
make_workflow_execution,
process_first_timeout,
)
def test_activity_task_creation():
@ -101,7 +105,7 @@ def test_activity_task_first_timeout():
# activity task timeout is 300s == 5mins
with freeze_time("2015-01-01 12:06:00"):
task.first_timeout().should.be.a(Timeout)
task.process_timeouts()
process_first_timeout(task)
task.state.should.equal("TIMED_OUT")
task.timeout_type.should.equal("HEARTBEAT")
@ -123,7 +127,7 @@ def test_activity_task_cannot_timeout_on_closed_workflow_execution():
with freeze_time("2015-01-01 14:10:00"):
task.first_timeout().should.be.a(Timeout)
wfe.first_timeout().should.be.a(Timeout)
wfe.process_timeouts()
process_first_timeout(wfe)
task.first_timeout().should.be.none
def test_activity_task_cannot_change_state_on_closed_workflow_execution():

View file

@ -4,7 +4,7 @@ from sure import expect
from moto.swf.exceptions import SWFWorkflowExecutionClosedError
from moto.swf.models import DecisionTask, Timeout
from ..utils import make_workflow_execution
from ..utils import make_workflow_execution, process_first_timeout
def test_decision_task_creation():
@ -60,7 +60,7 @@ def test_decision_task_cannot_timeout_on_closed_workflow_execution():
with freeze_time("2015-01-01 14:10:00"):
dt.first_timeout().should.be.a(Timeout)
wfe.first_timeout().should.be.a(Timeout)
wfe.process_timeouts()
process_first_timeout(wfe)
dt.first_timeout().should.be.none
def test_decision_task_cannot_change_state_on_closed_workflow_execution():

View file

@ -82,3 +82,10 @@ def setup_workflow():
wfe = conn.start_workflow_execution("test-domain", "uid-abcd1234", "test-workflow", "v1.0")
conn.run_id = wfe["runId"]
return conn
# A helper for processing the first timeout on a given object
def process_first_timeout(obj):
_timeout = obj.first_timeout()
if _timeout:
obj.timeout(_timeout)