[dpaste] Add system tests

This commit is contained in:
Roman Inflianskas 2014-11-25 23:47:58 +03:00 committed by Bruno Pinto
parent e957365d75
commit 36aa069f7b

View File

@ -1,4 +1,47 @@
#!/usr/bin/env fish #!/usr/bin/env fish
# vim: ai ts=2 sw=2 et sts=2
function echo_text
set -g __test_text 'Hello, tests! I am just testing suite for oh-my-fish plugin: https://github.com/bpinto/oh-my-fish/pull/170'
echo -e $__test_text
end
function curl
command curl --silent $argv
end
function curl_and_check
assert_equal $argv[2..-1] (curl $argv[1])
end
function curl_and_fail
assert_match '.*404 Not found.*' (curl $argv[1])
end
function test_dpaste_system
set url (eval $argv[1])/raw
# everything is correct:
# one time snippets are available twice if you use curl
curl_and_check $url (echo_text)
curl_and_check $url (echo_text)
# now it shouldn't be available
curl_and_fail $url
end
function dpaste_setup
set -g test_dir /tmp/dpaste_test
set -g test_file $test_dir/file
mkdir -p $test_dir
pushd
cd $test_dir
echo_text > $test_file
end
function dpaste_teardown
rm -rf $test_dir
popd
end
function suite_dpaste function suite_dpaste
function setup function setup
@ -16,11 +59,44 @@ function suite_dpaste
assert_equal "https://dpaste.de/api/?format=url&expires=3600" $__dpaste_send_url assert_equal "https://dpaste.de/api/?format=url&expires=3600" $__dpaste_send_url
set -g __dpaste_send_url $dpaste_url set -g __dpaste_send_url $dpaste_url
end end
function test_dpaste_system_file_redirect
function dpaste_file_redirect
dpaste -t onetime < /tmp/dpaste_test/file
end
test_dpaste_system dpaste_file_redirect
end
function test_dpaste_system_file
function dpaste_file
dpaste -t onetime /tmp/dpaste_test/file
end
test_dpaste_system dpaste_file
end
function test_dpaste_system_stdin
function dpaste_stdin
echo_text | dpaste -t onetime
end
test_dpaste_system dpaste_stdin
end
function test_dpaste_system_text
function dpaste_text
dpaste -t onetime "$__test_text"
end
test_dpaste_system dpaste_text
end
end end
if not set -q tank_running if not set -q tank_running
source (dirname (status -f))/helper.fish source (dirname (status -f))/helper.fish
set -g __dpaste_expires_choises set -g __dpaste_expires_choises
source (dirname (status -f))/../dpaste.fish source (dirname (status -f))/../dpaste.fish
dpaste_setup
tank_run tank_run
dpaste_teardown
end end