diff options
Diffstat (limited to 'bin/core/imag-store/tests/001-create_test.sh')
-rw-r--r-- | bin/core/imag-store/tests/001-create_test.sh | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/bin/core/imag-store/tests/001-create_test.sh b/bin/core/imag-store/tests/001-create_test.sh new file mode 100644 index 00000000..591c15ba --- /dev/null +++ b/bin/core/imag-store/tests/001-create_test.sh @@ -0,0 +1,175 @@ +#!/usr/bin/env bash + +source $(dirname ${BASH_SOURCE[0]})/../../tests/utils.sh +source $(dirname ${BASH_SOURCE[0]})/utils.sh + +test_call() { + imag-store create -p test-call + if [[ ! $? -eq 0 ]]; then + err "Return value should be zero, was non-zero" + return 1; + fi +} + +test_call_id() { + imag-store create -i test-call + if [[ ! $? -eq 0 ]]; then + err "Return value should be zero, was non-zero" + return 1; + fi +} + +test_call_no_id() { + imag-store create + if [[ ! $? -eq 1 ]]; then + err "Return value should be zero, was non-zero" + return 1; + fi +} + +test_mkstore() { + imag-store create -p test-mkstore || { err "Calling imag failed"; return 1; } + if [[ -d ${STORE} ]]; then + out "Store exists." + else + err "No store created" + return 1 + fi +} + +test_std_header() { + local expected=$(cat <<EOS +--- +[imag] +links = [] +version = "0.4.0" +--- + +EOS +) + + imag-store create -p test-std-header + local result=$(cat ${STORE}/test-std-header) + if [[ "$expected" == "$result" ]]; then + out "Expected store entry == result" + else + err "${STORE}/test-std-header differs from expected" + return 1 + fi +} + +test_std_header_plus_custom() { + local expected=$(cat <<EOS +--- +[imag] +links = [] +version = "0.4.0" + +[zzz] +zzz = "z" +--- + +EOS +) + + imag-store create -p test-std-header-plus-custom entry -h zzz.zzz=z + local result=$(cat ${STORE}/test-std-header-plus-custom) + if [[ "$expected" == "$result" ]]; then + out "Expected store entry == result" + else + err "${STORE}/test differs from expected" + return 1 + fi +} + +test_std_header_plus_custom_multiheader() { + local expected=$(cat <<EOS +--- +[foo] +bar = "baz" + +[imag] +links = [] +version = "0.4.0" + +[zzz] +zzz = "z" +--- + +EOS +) + + local filename="test-std-header-plus-custom-multiheader" + imag-store create -p $filename entry -h zzz.zzz=z foo.bar=baz + local result=$(cat ${STORE}/$filename) + if [[ "$expected" == "$result" ]]; then + out "Expected store entry == result" + else + err "${STORE}/$filename differs from expected" + return 1 + fi +} + + +test_std_header_plus_custom_multiheader_same_section() { + local expected=$(cat <<EOS +--- +[imag] +links = [] +version = "0.4.0" + +[zzz] +bar = "baz" +zzz = "z" +--- + +EOS +) + + local filename="test-std-header-plus-custom-mutliheader-same-section" + imag-store create -p $filename entry -h zzz.zzz=z zzz.bar=baz + local result=$(cat ${STORE}/$filename) + if [[ "$expected" == "$result" ]]; then + out "Expected store entry == result" + else + err "${STORE}/$filename differs from expected" + return 1 + fi +} + +test_std_header_plus_custom_and_content() { + local expected=$(cat <<EOS +--- +[imag] +links = [] +version = "0.4.0" + +[zzz] +zzz = "z" +--- +content +EOS +) + + local name="test-std-header-plus-custom-and-content" + imag-store create -p $name entry -h zzz.zzz=z -c content + local result=$(cat ${STORE}/$name) + if [[ "$expected" == "$result" ]]; then + out "Expected store entry == result" + else + err "${STORE}/test differs from expected" + return 1 + fi +} + +invoke_tests \ + test_call \ + test_call_id \ + test_call_no_id \ + test_mkstore \ + test_std_header \ + test_std_header_plus_custom \ + test_std_header_plus_custom_multiheader \ + test_std_header_plus_custom_multiheader_same_section \ + test_std_header_plus_custom_and_content + |