Don't raise an error when validating workflows that use the ldap script.
This commit is contained in:
parent
c6f314ea2d
commit
8f5488d910
|
@ -24,8 +24,19 @@ Examples:
|
||||||
supervisor_info = ldap(supervisor_uid) // Sets the supervisor information to ldap details for the given uid.
|
supervisor_info = ldap(supervisor_uid) // Sets the supervisor information to ldap details for the given uid.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def do_task_validate_only(self, task, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
return self.set_users_info_in_task(task, args)
|
return {
|
||||||
|
"display_name": "John Smith",
|
||||||
|
"given_name": "Johnismidges Ego Smithogglesnots",
|
||||||
|
"email_address": "jes@ogglesnots.org",
|
||||||
|
"telephone_number": "540-457-0023",
|
||||||
|
"title": "Prodigious Experilisious Emeritus Eqs.",
|
||||||
|
"department": "Department of Cheese and Fungus Combustibles",
|
||||||
|
"affiliation": "Not really",
|
||||||
|
"sponsor_type": "Department of Fungus",
|
||||||
|
"uid": "jes42",
|
||||||
|
"proper_name": "Smith"
|
||||||
|
}
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
return self.set_users_info_in_task(task, args)
|
return self.set_users_info_in_task(task, args)
|
||||||
|
|
|
@ -7,16 +7,17 @@
|
||||||
<bpmn:endEvent id="Event_0izrcj4">
|
<bpmn:endEvent id="Event_0izrcj4">
|
||||||
<bpmn:incoming>Flow_11e7jgz</bpmn:incoming>
|
<bpmn:incoming>Flow_11e7jgz</bpmn:incoming>
|
||||||
</bpmn:endEvent>
|
</bpmn:endEvent>
|
||||||
<bpmn:scriptTask id="Activity_0s5v97n" name="Ldap Replace">
|
<bpmn:scriptTask id="Activity_0s5v97n" name="Ldap Script">
|
||||||
<bpmn:incoming>Flow_08n2npe</bpmn:incoming>
|
<bpmn:incoming>Flow_08n2npe</bpmn:incoming>
|
||||||
<bpmn:outgoing>Flow_1xlrgne</bpmn:outgoing>
|
<bpmn:outgoing>Flow_1xlrgne</bpmn:outgoing>
|
||||||
<bpmn:script>Supervisor = ldap(Supervisor)
|
<bpmn:script>Supervisor = ldap(Supervisor)
|
||||||
Investigator = ldap(Investigator)</bpmn:script>
|
Investigator = ldap(Investigator)
|
||||||
|
me = ldap()</bpmn:script>
|
||||||
</bpmn:scriptTask>
|
</bpmn:scriptTask>
|
||||||
<bpmn:sequenceFlow id="Flow_1synsig" sourceRef="StartEvent_1" targetRef="Activity_1l9vih3" />
|
<bpmn:sequenceFlow id="Flow_1synsig" sourceRef="StartEvent_1" targetRef="Activity_1l9vih3" />
|
||||||
<bpmn:sequenceFlow id="Flow_1xlrgne" sourceRef="Activity_0s5v97n" targetRef="Activity_0f78ek5" />
|
<bpmn:sequenceFlow id="Flow_1xlrgne" sourceRef="Activity_0s5v97n" targetRef="Activity_0f78ek5" />
|
||||||
<bpmn:sequenceFlow id="Flow_08n2npe" sourceRef="Activity_1l9vih3" targetRef="Activity_0s5v97n" />
|
<bpmn:sequenceFlow id="Flow_08n2npe" sourceRef="Activity_1l9vih3" targetRef="Activity_0s5v97n" />
|
||||||
<bpmn:userTask id="Activity_1l9vih3" name="Set UIDs">
|
<bpmn:userTask id="Activity_1l9vih3" name="Set UIDs" camunda:formKey="SetUids">
|
||||||
<bpmn:extensionElements>
|
<bpmn:extensionElements>
|
||||||
<camunda:formData>
|
<camunda:formData>
|
||||||
<camunda:formField id="Supervisor" label="Approver" type="string" />
|
<camunda:formField id="Supervisor" label="Approver" type="string" />
|
|
@ -3,6 +3,7 @@ from flask import g
|
||||||
from tests.base_test import BaseTest
|
from tests.base_test import BaseTest
|
||||||
|
|
||||||
from crc import db
|
from crc import db
|
||||||
|
from crc.services.workflow_service import WorkflowService
|
||||||
from crc.models.user import UserModel
|
from crc.models.user import UserModel
|
||||||
from crc.services.workflow_processor import WorkflowProcessor
|
from crc.services.workflow_processor import WorkflowProcessor
|
||||||
from crc.scripts.ldap import Ldap
|
from crc.scripts.ldap import Ldap
|
||||||
|
@ -62,7 +63,7 @@ class TestLdapLookupScript(BaseTest):
|
||||||
|
|
||||||
|
|
||||||
def test_bpmn_task_receives_user_details(self):
|
def test_bpmn_task_receives_user_details(self):
|
||||||
workflow = self.create_workflow('ldap_replace')
|
workflow = self.create_workflow('ldap_script')
|
||||||
|
|
||||||
task_data = {
|
task_data = {
|
||||||
'Supervisor': 'dhf8r',
|
'Supervisor': 'dhf8r',
|
||||||
|
@ -84,3 +85,8 @@ class TestLdapLookupScript(BaseTest):
|
||||||
self.assertEqual(task.data['Supervisor']['sponsor_type'], 'Staff')
|
self.assertEqual(task.data['Supervisor']['sponsor_type'], 'Staff')
|
||||||
self.assertEqual(task.data['Supervisor']['uid'], 'dhf8r')
|
self.assertEqual(task.data['Supervisor']['uid'], 'dhf8r')
|
||||||
self.assertEqual(task.data['Supervisor']['proper_name'], 'Dan Funk - (dhf8r)')
|
self.assertEqual(task.data['Supervisor']['proper_name'], 'Dan Funk - (dhf8r)')
|
||||||
|
|
||||||
|
def test_ldap_validation(self):
|
||||||
|
workflow = self.create_workflow('ldap_script')
|
||||||
|
# This should not raise an error.
|
||||||
|
WorkflowService.test_spec('ldap_script', required_only=False)
|
||||||
|
|
|
@ -31,6 +31,7 @@ class TestWorkflowSpecValidation(BaseTest):
|
||||||
self.assertEqual(0, len(self.validate_workflow("random_fact")))
|
self.assertEqual(0, len(self.validate_workflow("random_fact")))
|
||||||
self.assertEqual(0, len(self.validate_workflow("study_details")))
|
self.assertEqual(0, len(self.validate_workflow("study_details")))
|
||||||
self.assertEqual(0, len(self.validate_workflow("two_forms")))
|
self.assertEqual(0, len(self.validate_workflow("two_forms")))
|
||||||
|
self.assertEqual(0, len(self.validate_workflow("ldap_lookup")))
|
||||||
|
|
||||||
@patch('crc.services.protocol_builder.ProtocolBuilderService.get_investigators') # mock_studies
|
@patch('crc.services.protocol_builder.ProtocolBuilderService.get_investigators') # mock_studies
|
||||||
@patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs
|
@patch('crc.services.protocol_builder.ProtocolBuilderService.get_required_docs') # mock_docs
|
||||||
|
|
Loading…
Reference in New Issue