Beispiel #1
0
def test_set_lost():
    worker = Main(1, 'test name', ['default'])
    worker.update_worker()  # first time creates the row
    worker.worker.status = Worker.LOST
    worker.worker.save()

    worker.executor = mock.Mock()
    worker.update_worker()

    assert worker.state == State.terminate
    assert worker.executor.mark_terminated.called
Beispiel #2
0
def test_save_results():
    # lots of setup
    worker = Main(1, 'test name', ['default'])
    worker.update_worker()

    name = WorkflowName.objects.create(name='workflow1')
    workflow = name.new_version(parameters={'parent': True, 'child': False})
    Template.objects.create(workflow=workflow, name='task1', command=[''])
    run = workflow.submit_run(parameters={'child': True})
    task1 = run.task_set.first()  # type: Task
    execution = task1.start_execution(worker.worker)

    result = Result(execution_id=execution.id)
    result.stdout = 'test stdout'
    worker.results.append(result)

    # trigger a save
    worker.save_results()

    execution.refresh_from_db()
    assert execution.stdout == result.stdout
    assert not worker.results