bats/start_debian.bats (58 lines of code) (raw):
#!/usr/bin/env bats
load test_helper
setup() {
init_debian
stub_debian
}
teardown() {
unstub_debian
rm -fr "${TMP}"/*
}
@test "start td-agent successfully (debian)" {
rm -f "${TMP}/etc/default/td-agent"
rm -f "${TMP}/var/run/td-agent/td-agent.pid"
stub_path /sbin/start-stop-daemon "echo; echo start-stop-daemon; for arg; do echo \" \$arg\"; done"
stub log_success_msg "td-agent : true"
run_service start
assert_output <<EOS
Starting td-agent:
start-stop-daemon
--start
--quiet
--pidfile
${TMP}/var/run/td-agent/td-agent.pid
--exec
${TMP}/opt/td-agent/embedded/bin/ruby
-c
td-agent
--group
td-agent
--
${TMP}/usr/sbin/td-agent
--log
${TMP}/var/log/td-agent/td-agent.log
--use-v1-config
--daemon
${TMP}/var/run/td-agent/td-agent.pid
EOS
assert_success
unstub_path /sbin/start-stop-daemon
unstub log_success_msg
}
@test "start td-agent but it has already been started (debian)" {
echo 1234 > "${TMP}/var/run/td-agent/td-agent.pid"
stub kill "-0 1234 : true"
stub log_success_msg "td-agent : true"
run_service start
assert_success
unstub kill
unstub log_success_msg
}
@test "failed to start td-agent (debian)" {
rm -f "${TMP}/var/run/td-agent/td-agent.pid"
stub_path /sbin/start-stop-daemon "false"
stub log_failure_msg "td-agent : true"
run_service start
assert_failure
unstub_path /sbin/start-stop-daemon
unstub log_failure_msg
}