run_test.cwl

 1#!/usr/bin/env cwl-runner
 2### Runs an SQL Test Script, presumably generated by DBT Utility
 3#  Copyright (c) 2021. Harvard University
 4#
 5#  Developed by Research Software Engineering,
 6#  Faculty of Arts and Sciences, Research Computing (FAS RC)
 7#  Author: Michael A Bouzinier
 8#
 9#  Licensed under the Apache License, Version 2.0 (the "License");
10#  you may not use this file except in compliance with the License.
11#  You may obtain a copy of the License at
12#
13#         http://www.apache.org/licenses/LICENSE-2.0
14#
15#  Unless required by applicable law or agreed to in writing, software
16#  distributed under the License is distributed on an "AS IS" BASIS,
17#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18#  See the License for the specific language governing permissions and
19#  limitations under the License.
20#
21
22cwlVersion: v1.2
23class: CommandLineTool
24baseCommand: [python, -m, dorieh.platform.dbt.dbt_runner]
25requirements:
26  InlineJavascriptRequirement: {}
27  NetworkAccess:
28    networkAccess: True
29
30doc: |
31  Executes a test script from a given SQL file.
32  The test is presumed to have been generated by DBT Utility
33
34
35inputs:
36  database:
37    type: File
38    doc: Path to database connection file, usually database.ini
39    inputBinding:
40      prefix: --db
41  connection_name:
42    type: string
43    doc: The name of the section in the database.ini file
44    inputBinding:
45      prefix: --connection
46  script:
47    type:
48    - File
49    - File[]
50    inputBinding:
51      prefix: --script
52  depends_on:
53    type: Any?
54    doc: a special field used to enforce dependencies and execution order
55
56
57outputs:
58  log:
59    type: File
60    outputBinding:
61      glob: "*.log"
62  errors:
63    type: stderr
64
65stderr:  $("test-" + inputs.script.nameroot + ".err")