1
0
mirror of https://github.com/Tarrasch/zsh-autoenv.git synced 2024-12-01 18:31:00 +02:00
zsh-autoenv/tests/autoenv.t
Daniel Hahler 63740e8ba1 Remember non-yes answer for the current shell session
This basically caches $_autoenv_check_authorized_env_file in
$_autoenv_asked_already.  This should also improve the case for
authorized files.

Ref: https://github.com/Tarrasch/zsh-autoenv/issues/29
2015-05-10 13:45:00 +02:00

124 lines
2.8 KiB
Perl

$ source $TESTDIR/setup.zsh || return 1
Lets set a simple .env action
$ echo 'echo ENTERED' > .env
Manually create auth file
$ test_autoenv_add_to_env $PWD/.env
$ cd .
ENTERED
Now try to make it accept it
$ _autoenv_stack_entered=()
$ rm $AUTOENV_ENV_FILENAME
$ _autoenv_asked_already=()
$ _autoenv_ask_for_yes() { echo "yes" }
$ cd .
Attempting to load unauthorized env file!
-* /tmp/cramtests-*/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? (type 'yes') yes
ENTERED
The last "ENTERED" is because it executed the command.
Now lets see that it actually checks the shasum value.
$ _autoenv_stack_entered=()
$ cd .
ENTERED
$ rm $AUTOENV_ENV_FILENAME
$ _autoenv_stack_entered=()
$ _autoenv_asked_already=()
$ test_autoenv_add_to_env $PWD/.env mischief
$ cd .
Attempting to load unauthorized env file!
-* /tmp/cramtests-*/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? (type 'yes') yes
ENTERED
Now, will it take no for an answer?
$ rm $AUTOENV_ENV_FILENAME
$ _autoenv_stack_entered=()
$ _autoenv_asked_already=()
$ _autoenv_ask_for_yes() { echo "no"; return 1 }
$ cd .
Attempting to load unauthorized env file!
-* /tmp/cramtests-*/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? (type 'yes') no
Lets also try one more time to ensure it didn't add it.
$ _autoenv_asked_already=()
$ _autoenv_ask_for_yes() { echo "no"; return 1 }
$ cd .
Attempting to load unauthorized env file!
-* /tmp/cramtests-*/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? (type 'yes') no
And now see if we're not being asked again after not allowing it.
$ _autoenv_ask_for_yes() { echo "should_not_be_used"; return 1 }
$ cd .
Reloading the script should keep the current state, e.g. when reloading your
~/.zshrc.
But it should re-ask for unauthorized files.
$ cd ..
$ $TEST_SOURCE_AUTOENV
$ _autoenv_ask_for_yes() { echo "yes"; return 0 }
$ cd -
Attempting to load unauthorized env file!
-* /tmp/cramtests-*/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? (type 'yes') yes
ENTERED
With an authorized file, it should not re-ask you.
$ $TEST_SOURCE_AUTOENV
$ cd .