From 07b31aa2f667d097ca9fb405ce8e2a5523c6540b Mon Sep 17 00:00:00 2001 From: "Yamashita, Yuu" Date: Thu, 5 Nov 2015 05:42:10 +0000 Subject: [PATCH] Add tests for `virtualenv-delete` --- test/delete.bats | 71 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 test/delete.bats diff --git a/test/delete.bats b/test/delete.bats new file mode 100644 index 0000000..304beec --- /dev/null +++ b/test/delete.bats @@ -0,0 +1,71 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + export PYENV_ROOT="${TMP}/pyenv" +} + +@test "delete virtualenv" { + mkdir -p "${PYENV_ROOT}/versions/venv27" + + stub pyenv-virtualenv-prefix "venv27 : true" + stub pyenv-rehash "true" + + run pyenv-virtualenv-delete -f "venv27" + + assert_success + + unstub pyenv-virtualenv-prefix + unstub pyenv-rehash + + [ ! -d "${PYENV_ROOT}/versions/venv27" ] +} + +@test "delete virtualenv by symlink" { + mkdir -p "${PYENV_ROOT}/versions/2.7.10/envs/venv27" + ln -fs "${PYENV_ROOT}/versions/2.7.10/envs/venv27" "${PYENV_ROOT}/versions/venv27" + + stub pyenv-rehash "true" + + run pyenv-virtualenv-delete -f "venv27" + + assert_success + + unstub pyenv-rehash + + [ ! -d "${PYENV_ROOT}/versions/2.7.10/envs/venv27" ] + [ ! -L "${PYENV_ROOT}/versions/venv27" ] +} + +@test "delete virtualenv with symlink" { + mkdir -p "${PYENV_ROOT}/versions/2.7.10/envs/venv27" + ln -fs "${PYENV_ROOT}/versions/2.7.10/envs/venv27" "${PYENV_ROOT}/versions/venv27" + + stub pyenv-rehash "true" + + run pyenv-virtualenv-delete -f "2.7.10/envs/venv27" + + assert_success + + unstub pyenv-rehash + + [ ! -d "${PYENV_ROOT}/versions/2.7.10/envs/venv27" ] + [ ! -L "${PYENV_ROOT}/versions/venv27" ] +} + +@test "not delete virtualenv with same name" { + mkdir -p "${PYENV_ROOT}/versions/2.7.10/envs/venv27" + mkdir -p "${PYENV_ROOT}/versions/venv27" + + stub pyenv-rehash "true" + + run pyenv-virtualenv-delete -f "2.7.10/envs/venv27" + + assert_success + + unstub pyenv-rehash + + [ ! -d "${PYENV_ROOT}/versions/2.7.10/envs/venv27" ] + [ -d "${PYENV_ROOT}/versions/venv27" ] +}