2023-01-13 23:30:12 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
t="import-csv-blankCellsAsStrings"
|
|
|
|
|
|
|
|
# create tmp directory
|
|
|
|
tmpdir="$(mktemp -d)"
|
|
|
|
trap '{ rm -rf "${tmpdir}"; }' 0 2 3 15
|
|
|
|
|
|
|
|
# input
|
|
|
|
cat << "DATA" > "${tmpdir}/${t}.csv"
|
|
|
|
a,b,c
|
|
|
|
1,2,3
|
|
|
|
0,,0
|
2024-12-11 23:19:11 +01:00
|
|
|
$,/,'
|
2023-01-13 23:30:12 +01:00
|
|
|
DATA
|
|
|
|
|
|
|
|
cat << "DATA" > "${tmpdir}/${t}.transform"
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"op": "core/text-transform",
|
|
|
|
"engineConfig": {
|
|
|
|
"facets": [],
|
|
|
|
"mode": "row-based"
|
|
|
|
},
|
|
|
|
"columnName": "b",
|
|
|
|
"expression": "grel:isNull(value)",
|
|
|
|
"onError": "keep-original",
|
|
|
|
"repeat": false,
|
|
|
|
"repeatCount": 10
|
|
|
|
}
|
|
|
|
]
|
|
|
|
DATA
|
|
|
|
|
|
|
|
# assertion
|
|
|
|
cat << "DATA" > "${tmpdir}/${t}.assert"
|
|
|
|
a b c
|
|
|
|
1 false 3
|
|
|
|
0 false 0
|
|
|
|
$ false '
|
|
|
|
DATA
|
|
|
|
|
|
|
|
# action
|
|
|
|
cd "${tmpdir}" || exit 1
|
|
|
|
orcli import csv "${t}.csv" --projectName "${t}" --blankCellsAsStrings
|
|
|
|
orcli transform "${t}" "${tmpdir}/${t}.transform"
|
|
|
|
orcli export tsv "${t}" > "${t}.output"
|
|
|
|
|
|
|
|
# test
|
|
|
|
diff -u "${t}.assert" "${t}.output"
|