mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
157 lines
2.4 KiB
Bash
157 lines
2.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
setUp() {
|
||
|
rm test*.yml || true
|
||
|
}
|
||
|
|
||
|
testBasicSplitWithName() {
|
||
|
cat >test.yml <<EOL
|
||
|
a: test_doc1
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOL
|
||
|
|
||
|
./yq e test.yml -s ".a"
|
||
|
|
||
|
doc1=$(cat test_doc1.yml)
|
||
|
|
||
|
assertEquals "a: test_doc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_doc2.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
}
|
||
|
|
||
|
testBasicSplitWithNameEvalAll() {
|
||
|
cat >test.yml <<EOL
|
||
|
a: test_doc1
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOL
|
||
|
|
||
|
./yq ea test.yml -s ".a"
|
||
|
|
||
|
doc1=$(cat test_doc1.yml)
|
||
|
|
||
|
assertEquals "a: test_doc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_doc2.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
}
|
||
|
|
||
|
testBasicSplitWithIndex() {
|
||
|
cat >test.yml <<EOL
|
||
|
a: test_doc1
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOL
|
||
|
|
||
|
./yq e test.yml -s '"test_" + $index'
|
||
|
|
||
|
doc1=$(cat test_0.yml)
|
||
|
|
||
|
assertEquals "a: test_doc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_1.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
}
|
||
|
|
||
|
testBasicSplitWithIndexEvalAll() {
|
||
|
cat >test.yml <<EOL
|
||
|
a: test_doc1
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOL
|
||
|
|
||
|
./yq ea test.yml -s '"test_" + $index'
|
||
|
|
||
|
doc1=$(cat test_0.yml)
|
||
|
|
||
|
assertEquals "a: test_doc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_1.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
---
|
||
|
a: test_doc2
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
}
|
||
|
|
||
|
|
||
|
testArraySplitWithNameNoSeparators() {
|
||
|
cat >test.yml <<EOL
|
||
|
- name: test_fred
|
||
|
age: 35
|
||
|
- name: test_catherine
|
||
|
age: 37
|
||
|
EOL
|
||
|
|
||
|
./yq e --no-doc -s ".name" ".[]" test.yml
|
||
|
|
||
|
doc1=$(cat test_fred.yml)
|
||
|
read -r -d '' expectedDoc1 << EOM
|
||
|
name: test_fred
|
||
|
age: 35
|
||
|
EOM
|
||
|
|
||
|
assertEquals "$expectedDoc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_catherine.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
name: test_catherine
|
||
|
age: 37
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
}
|
||
|
|
||
|
testArraySplitWithNameNoSeparatorsEvalAll() {
|
||
|
cat >test.yml <<EOL
|
||
|
- name: test_fred
|
||
|
age: 35
|
||
|
- name: test_catherine
|
||
|
age: 37
|
||
|
EOL
|
||
|
|
||
|
cat >test2.yml <<EOL
|
||
|
- name: test_mike
|
||
|
age: 564
|
||
|
EOL
|
||
|
|
||
|
./yq ea --no-doc -s ".name" ".[]" test.yml test2.yml
|
||
|
|
||
|
doc1=$(cat test_fred.yml)
|
||
|
read -r -d '' expectedDoc1 << EOM
|
||
|
name: test_fred
|
||
|
age: 35
|
||
|
EOM
|
||
|
|
||
|
assertEquals "$expectedDoc1" "$doc1"
|
||
|
|
||
|
doc2=$(cat test_catherine.yml)
|
||
|
read -r -d '' expectedDoc2 << EOM
|
||
|
name: test_catherine
|
||
|
age: 37
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc2" "$doc2"
|
||
|
|
||
|
|
||
|
doc3=$(cat test_mike.yml)
|
||
|
read -r -d '' expectedDoc3 << EOM
|
||
|
name: test_mike
|
||
|
age: 564
|
||
|
EOM
|
||
|
assertEquals "$expectedDoc3" "$doc3"
|
||
|
}
|
||
|
|
||
|
source ./scripts/shunit2
|