#!/usr/bin/env bash set -ueo pipefail SCRIPT_DIR=$(dirname $(readlink -f "$0")) DB_FILE="test.db" oneTimeSetUp() { tag --db "$DB_FILE" init >/dev/null } oneTimeTearDown() { # need to check if file exists # because of bug in shunit2 that # runs one-time teardown two times # see https://github.com/kward/shunit2/issues/112 [ -f "$DB_FILE" ] && rm "$DB_FILE" } testDbCreated() { assertTrue "[[ -f \"$DB_FILE\" ]]" } testTagAdded() { tag --db "$DB_FILE" add tag hello >/dev/null RESULT=$(sqlite3 "$DB_FILE" "SELECT label from tags WHERE label = 'hello'") assertEquals $RESULT "hello" } testFilenameAdded() { local FILENAME="test.mp4" tag --db "$DB_FILE" add path "$FILENAME" >/dev/null RESULT=$(sqlite3 "$DB_FILE" "SELECT filename from files WHERE filename = '$FILENAME'") assertEquals "$RESULT" "$FILENAME" } testHashAdded() { local HASH="fbe2153ce0614d76a378b2e6fe07cc9e" tag --db "$DB_FILE" add hash "$HASH" >/dev/null RESULT=$(sqlite3 "$DB_FILE" "SELECT md5 from hashes WHERE hash = '$HASH'") assertEquals "$RESULT" "$HASH" } . ../shunit2/shunit2