flowserv.tests.service module

Helper methods to initialize the database state via the service API.

flowserv.tests.service.create_group(api, workflow_id, users=None)

Create a new group for the given workflow.

Parameters
  • api (flowserv.service.api.API) – Service API manager.

  • workflow_id (string) – Unique workflow identifier.

  • users (list(string)) – Identifier for group members.

Return type

string

flowserv.tests.service.create_ranking(api, workflow_id, count)

Create a ranking with n groups for the Hello World benchmark having a successful run each. Returns the group identifier in order of creation. The avg_len value is increased as groups are created and the max_len value is decreased.

Parameters
  • api (flowserv.service.api.API) – Service API manager.

  • workflow_id (string) – Unique workflow identifier.

  • user_id (string) – Identifier for the group owner.

  • count (int) – Number of groups that are created for the workflow.

Return type

list(string)

flowserv.tests.service.create_user(api)

Register a new user with the API and return the unique user identifier.

Parameters

api (flowserv.service.api.API) – Service API manager.

Return type

string

flowserv.tests.service.create_workflow(api, source, specfile=None)

Start a new workflow for a given template.

flowserv.tests.service.start_hello_world(api, group_id)

Start a new run for the Hello World template. Returns the run identifier and the identifier for the input file.

Parameters
  • api (flowserv.service.api.API) – Service API manager.

  • group_id (string) – Unique group identifier.

Return type

string, string

flowserv.tests.service.start_run(api, group_id, arguments=[], config=None)

Start a new workflow run for a given group. Returns the identifier of the started run.

Parameters
  • api (flowserv.service.api.API) – Service API manager.

  • group_id (string) – Unique group identifier.

  • user_id (string) – Unique user identifier.

  • arguments (list, default=None) – Optional arguments to run the workflow.

  • config (dict, default=None) – Optional configuration settings for the workflow run.

Return type

string

flowserv.tests.service.upload_file(api, group_id, file)

Upload an input file for a workflow run. returns the file identifier.

Parameters
  • api (flowserv.service.api.API) – Service API manager.

  • group_id (string) – Unique group identifier.

  • file (IOHandle) – Uploaded file.

Return type

string

flowserv.tests.service.write_results(runstore: flowserv.volume.base.StorageVolume, files: Tuple[Union[dict, list], str, str])

Create a result files for a workflow run.

Parameters
  • runstore (flowserv.volume.base.StorageVolume) – Storage volume for the run (result) files of a successful workflow run.

  • files (list) – List of 3-tuples containing the file data, format, and relative path.