mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-23 21:28:32 +00:00
Merge remote-tracking branch 'origin/feature/spec_files_wthout_db' into feature/spec_files_wthout_db
This commit is contained in:
commit
b5099cf5a2
@ -42,6 +42,7 @@ def add_file(spec_id):
|
|||||||
file = SpecFileService.add_file(workflow_spec, file.filename, file.stream.read())
|
file = SpecFileService.add_file(workflow_spec, file.filename, file.stream.read())
|
||||||
if not workflow_spec.primary_process_id and file.type == FileType.bpmn:
|
if not workflow_spec.primary_process_id and file.type == FileType.bpmn:
|
||||||
SpecFileService.set_primary_bpmn(workflow_spec, file.name)
|
SpecFileService.set_primary_bpmn(workflow_spec, file.name)
|
||||||
|
workflow_spec_service.update_spec(workflow_spec)
|
||||||
return FileSchema().dump(file)
|
return FileSchema().dump(file)
|
||||||
|
|
||||||
|
|
||||||
|
@ -360,6 +360,7 @@ class BaseTest(unittest.TestCase):
|
|||||||
# workflow_in should be a workflow, not a workflow_api
|
# workflow_in should be a workflow, not a workflow_api
|
||||||
# we were passing in workflow_api in many of our tests, and
|
# we were passing in workflow_api in many of our tests, and
|
||||||
# this caused problems testing standalone workflows
|
# this caused problems testing standalone workflows
|
||||||
|
self.workflow_spec_service.scan_file_system()
|
||||||
spec = self.workflow_spec_service.get_spec(workflow_in.workflow_spec_id)
|
spec = self.workflow_spec_service.get_spec(workflow_in.workflow_spec_id)
|
||||||
standalone = getattr(spec, 'standalone', False)
|
standalone = getattr(spec, 'standalone', False)
|
||||||
prev_completed_task_count = workflow_in.completed_tasks
|
prev_completed_task_count = workflow_in.completed_tasks
|
||||||
|
@ -1,29 +1,26 @@
|
|||||||
from tests.base_test import BaseTest
|
from tests.base_test import BaseTest
|
||||||
from crc import session
|
|
||||||
from crc.models.file import FileModel, FileType
|
|
||||||
import io
|
import io
|
||||||
import json
|
import json
|
||||||
|
from crc.models.workflow import WorkflowSpecInfo, WorkflowSpecInfoSchema
|
||||||
|
from crc.services.workflow_spec_service import WorkflowSpecService
|
||||||
|
|
||||||
|
|
||||||
class TestAutoSetPrimaryBPMN(BaseTest):
|
class TestAutoSetPrimaryBPMN(BaseTest):
|
||||||
|
|
||||||
def test_auto_set_primary_bpmn(self):
|
def test_auto_set_primary_bpmn(self):
|
||||||
self.load_example_data()
|
|
||||||
category = self.assure_category_exists()
|
category = self.assure_category_exists()
|
||||||
# Add a workflow spec
|
spec = WorkflowSpecInfo(id='make_cookies', display_name='Cooooookies',
|
||||||
spec = WorkflowSpecModel(id='make_cookies', display_name='Cooooookies',
|
|
||||||
description='Om nom nom delicious cookies', category_id=category.id,
|
description='Om nom nom delicious cookies', category_id=category.id,
|
||||||
standalone=False)
|
standalone=False)
|
||||||
rv = self.app.post('/v1.0/workflow-specification',
|
rv = self.app.post('/v1.0/workflow-specification',
|
||||||
headers=self.logged_in_headers(),
|
headers=self.logged_in_headers(),
|
||||||
content_type="application/json",
|
content_type="application/json",
|
||||||
data=json.dumps(WorkflowSpecModelSchema().dump(spec)))
|
data=json.dumps(WorkflowSpecInfoSchema().dump(spec)))
|
||||||
self.assert_success(rv)
|
self.assert_success(rv)
|
||||||
# grab the spec from the db
|
db_spec = WorkflowSpecService().get_spec(spec.id)
|
||||||
db_spec = session.query(WorkflowSpecModel).filter_by(id='make_cookies').first()
|
|
||||||
self.assertEqual(spec.display_name, db_spec.display_name)
|
self.assertEqual(spec.display_name, db_spec.display_name)
|
||||||
self.assertIsNone(db_spec.primary_process_id)
|
self.assertEqual('',db_spec.primary_process_id)
|
||||||
self.assertIsNone(db_spec.primary_file_name)
|
self.assertEqual('',db_spec.primary_file_name)
|
||||||
data = {}
|
data = {}
|
||||||
data['file'] = io.BytesIO(self.minimal_bpmn("abcdef")), 'my_new_file.bpmn'
|
data['file'] = io.BytesIO(self.minimal_bpmn("abcdef")), 'my_new_file.bpmn'
|
||||||
|
|
||||||
@ -33,6 +30,6 @@ class TestAutoSetPrimaryBPMN(BaseTest):
|
|||||||
content_type='multipart/form-data', headers=self.logged_in_headers())
|
content_type='multipart/form-data', headers=self.logged_in_headers())
|
||||||
self.assert_success(rv)
|
self.assert_success(rv)
|
||||||
# Make sure we now have a primary bpmn
|
# Make sure we now have a primary bpmn
|
||||||
db_spec = session.query(WorkflowSpecModel).filter_by(id='make_cookies').first()
|
db_spec = WorkflowSpecService().get_spec(spec.id)
|
||||||
self.assertEqual(db_spec.primary_process_id, '1')
|
self.assertEqual(db_spec.primary_process_id, '1')
|
||||||
self.assertEqual(db_spec.primary_file_name, 'my_new_file.bpmn')
|
self.assertEqual(db_spec.primary_file_name, 'my_new_file.bpmn')
|
||||||
|
@ -115,7 +115,7 @@ class TestWorkflowSpec(BaseTest):
|
|||||||
self.load_test_spec('email')
|
self.load_test_spec('email')
|
||||||
|
|
||||||
self.workflow_spec_service.scan_file_system()
|
self.workflow_spec_service.scan_file_system()
|
||||||
all_specs = self.workflow_spec_service.get_categories()[0].workflows
|
all_specs = self.workflow_spec_service.get_categories()[0].specs
|
||||||
for i in range(0, 3):
|
for i in range(0, 3):
|
||||||
self.assertEqual(i, all_specs[i].display_order)
|
self.assertEqual(i, all_specs[i].display_order)
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ class TestWorkflowSpec(BaseTest):
|
|||||||
test_order = 0
|
test_order = 0
|
||||||
|
|
||||||
self.workflow_spec_service.scan_file_system()
|
self.workflow_spec_service.scan_file_system()
|
||||||
all_specs = self.workflow_spec_service.get_categories()[0].workflows
|
all_specs = self.workflow_spec_service.get_categories()[0].specs
|
||||||
for i in range(0, 2):
|
for i in range(0, 2):
|
||||||
self.assertEqual(i, all_specs[i].display_order)
|
self.assertEqual(i, all_specs[i].display_order)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user