1
0
mirror of https://github.com/Tarrasch/zsh-autoenv.git synced 2024-11-05 01:10:59 +02:00
zsh-autoenv/tests/autoenv.t
Daniel Hahler 4676713bc6 Various improvements
- Support for leave event, via DOTENV_FILE_LEAVE and _dotenv_event (can
   use DOTENV_FILE_LEAVE=$DOTENV_FILE_ENTER).
 - Support for searching upwards for $DOTENV_FILE_ENTER (#3).
 - Source .env only once per session, but re-source when leave events
   are enabled (#1).
 - Trigger the machinery when the script gets sourced, for the current
   dir (#2).
2014-11-15 15:08:52 +01:00

95 lines
2.0 KiB
Perl

Ensure we have our mocked out ENV_AUTHORIZATION_FILE
$ [[ $ENV_AUTHORIZATION_FILE[0,4] == '/tmp' ]] || return 1
Lets set a simple .env action
$ echo 'echo ENTERED' >> .env
Manually create auth file
$ echo "$PWD/.env:$(echo echo ENTERED | shasum)" > $ENV_AUTHORIZATION_FILE
$ cd .
ENTERED
Now try to make it accept it
$ unset _dotenv_stack_entered
$ rm $ENV_AUTHORIZATION_FILE
$ _dotenv_read_answer() { echo 'y' }
$ cd .
Attempting to load unauthorized env file: /tmp/cramtests-??????/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? [y/N]
ENTERED
The last "ENTERED" is because it executed the command
Now lets see that it actually checks the shasum value
$ unset _dotenv_stack_entered
$ cd .
ENTERED
$ unset _dotenv_stack_entered
$ rm $ENV_AUTHORIZATION_FILE
$ echo "$PWD/.env:$(echo mischief | shasum)" > $ENV_AUTHORIZATION_FILE
$ cd .
Attempting to load unauthorized env file: /tmp/cramtests-??????/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? [y/N]
ENTERED
Now, will it take no for an answer?
$ unset _dotenv_stack_entered
$ rm $ENV_AUTHORIZATION_FILE
$ _dotenv_read_answer() { echo 'n' }
$ cd .
Attempting to load unauthorized env file: /tmp/cramtests-??????/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? [y/N]
Lets also try one more time to ensure it didnt add it
$ cd .
Attempting to load unauthorized env file: /tmp/cramtests-??????/autoenv.t/.env (glob)
**********************************************
echo ENTERED
**********************************************
Would you like to authorize it? [y/N]