-Ensure we have our mocked out ENV_AUTHORIZATION_FILE
+ $ source $TESTDIR/setup.zsh || return 1
- $ [[ $ENV_AUTHORIZATION_FILE[0,4] == '/tmp' ]] || return 1
+Lets set a simple .autoenv.zsh action
-Lets set a simple .env action
-
- $ echo 'echo blah' >> .env
+ $ echo 'echo ENTERED' > .autoenv.zsh
Manually create auth file
- $ echo "$PWD/.env:$(echo echo blah | shasum)" > $ENV_AUTHORIZATION_FILE
+ $ test_autoenv_add_to_env $PWD/.autoenv.zsh
$ cd .
- blah
+ ENTERED
Now try to make it accept it
- $ rm $ENV_AUTHORIZATION_FILE
- $ _dotenv_read_answer() { answer='y' }
+ $ _autoenv_stack_entered=()
+ $ rm $AUTOENV_AUTH_FILE
+ $ _autoenv_ask_for_yes() { echo "yes" }
$ cd .
- Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+ Attempting to load unauthorized env file!
+ -* /*/cramtests-*/autoenv.t/.autoenv.zsh (glob)
+
**********************************************
-
- echo blah
-
+
+ echo ENTERED
+
**********************************************
+
+ Would you like to authorize it? (type 'yes') yes
+ ENTERED
- Would you like to authorize it? (y/n)
- blah
-The last "blah" is because it executed the command
+The last "ENTERED" is because it executed the command.
-Now lets see that it actually checks the shasum value
+Now lets see that it actually checks the shasum value.
+ $ _autoenv_stack_entered=()
$ cd .
- blah
- $ rm $ENV_AUTHORIZATION_FILE
- $ echo "$PWD/.env:$(echo mischief | shasum)" > $ENV_AUTHORIZATION_FILE
- $ cd .
- Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
+ ENTERED
+ $ _autoenv_stack_entered=()
+ $ rm $AUTOENV_AUTH_FILE
+ $ test_autoenv_add_to_env $PWD/.autoenv.zsh mischief
+ $ cd .
+ Attempting to load unauthorized env file!
+ -* /*/cramtests-*/autoenv.t/.autoenv.zsh (glob)
+
**********************************************
-
- echo blah
-
+
+ echo ENTERED
+
**********************************************
+
+ Would you like to authorize it? (type 'yes') yes
+ ENTERED
- Would you like to authorize it? (y/n)
- blah
Now, will it take no for an answer?
- $ rm $ENV_AUTHORIZATION_FILE
- $ _dotenv_read_answer() { answer='n' }
+ $ _autoenv_stack_entered=()
+ $ rm $AUTOENV_AUTH_FILE
+ $ _autoenv_ask_for_yes() { echo "no"; return 1 }
$ cd .
- Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+ Attempting to load unauthorized env file!
+ -* /*/cramtests-*/autoenv.t/.autoenv.zsh (glob)
+
**********************************************
-
- echo blah
-
+
+ echo ENTERED
+
**********************************************
+
+ Would you like to authorize it? (type 'yes') no
- Would you like to authorize it? (y/n)
-Lets also try one more time to ensure it didnt add it
+Lets also try one more time to ensure it didn't add it.
+ $ _autoenv_ask_for_yes() { echo "yes"; return 0 }
$ cd .
- Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
-
+ Attempting to load unauthorized env file!
+ -* /*/cramtests-*/autoenv.t/.autoenv.zsh (glob)
+
**********************************************
-
- echo blah
-
+
+ echo ENTERED
+
**********************************************
+
+ Would you like to authorize it? (type 'yes') yes
+ ENTERED
- Would you like to authorize it? (y/n)
+Reloading the script should keep the current state, e.g. when reloading your
+~/.zshrc.
+
+ $ $TEST_SOURCE_AUTOENV
+ $ cd .