mirror of
https://github.com/Tarrasch/zsh-autoenv.git
synced 2024-11-25 16:31:00 +02:00
Add tests
This commit is contained in:
parent
b849670591
commit
08fec15f31
7
.travis.yml
Normal file
7
.travis.yml
Normal file
@ -0,0 +1,7 @@
|
||||
language: python
|
||||
python:
|
||||
- "3.3"
|
||||
before_script:
|
||||
- "sudo apt-get install zsh"
|
||||
install: "sudo pip install cram"
|
||||
script: "make tests"
|
7
Makefile
Normal file
7
Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
.PHONY: itests tests
|
||||
|
||||
itests:
|
||||
ZDOTDIR="${PWD}/tests" cram -i --shell=zsh tests
|
||||
|
||||
tests:
|
||||
ZDOTDIR="${PWD}/tests" cram --shell=zsh tests
|
@ -39,6 +39,11 @@ _dotenv_print_unauthorized_message() {
|
||||
echo "Would you like to authorize it? (y/n)"
|
||||
}
|
||||
|
||||
# This function can be mocked in tests
|
||||
_dotenv_read_answer() {
|
||||
read answer
|
||||
}
|
||||
|
||||
_dotenv_source_env() {
|
||||
local env_file="$PWD/.env"
|
||||
|
||||
@ -52,7 +57,7 @@ _dotenv_source_env() {
|
||||
|
||||
_dotenv_print_unauthorized_message $env_file
|
||||
|
||||
read answer
|
||||
_dotenv_read_answer
|
||||
|
||||
if [[ $answer == 'y' ]]
|
||||
then
|
||||
|
4
tests/.zshenv
Normal file
4
tests/.zshenv
Normal file
@ -0,0 +1,4 @@
|
||||
test -f "$TESTDIR/.zcompdump" && rm "$TESTDIR/.zcompdump"
|
||||
|
||||
source "$TESTDIR/../autoenv.plugin.zsh"
|
||||
export ENV_AUTHORIZATION_FILE="$PWD/.env_auth"
|
77
tests/autoenv.t
Normal file
77
tests/autoenv.t
Normal file
@ -0,0 +1,77 @@
|
||||
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 blah' >> .env
|
||||
|
||||
Manually create auth file
|
||||
|
||||
$ echo "$PWD/.env:$(echo echo blah | shasum)" > $ENV_AUTHORIZATION_FILE
|
||||
$ cd .
|
||||
blah
|
||||
|
||||
Now try to make it accept it
|
||||
|
||||
$ rm $ENV_AUTHORIZATION_FILE
|
||||
$ _dotenv_read_answer() { answer='y' }
|
||||
$ cd .
|
||||
Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
|
||||
|
||||
**********************************************
|
||||
|
||||
echo blah
|
||||
|
||||
**********************************************
|
||||
|
||||
Would you like to authorize it? (y/n)
|
||||
blah
|
||||
|
||||
The last "blah" is because it executed the command
|
||||
|
||||
Now lets see that it actually checks the shasum value
|
||||
|
||||
$ 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)
|
||||
|
||||
**********************************************
|
||||
|
||||
echo blah
|
||||
|
||||
**********************************************
|
||||
|
||||
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' }
|
||||
$ cd .
|
||||
Attempting to load unauthorized env: /tmp/cramtests-??????/autoenv.t/.env (glob)
|
||||
|
||||
**********************************************
|
||||
|
||||
echo blah
|
||||
|
||||
**********************************************
|
||||
|
||||
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: /tmp/cramtests-??????/autoenv.t/.env (glob)
|
||||
|
||||
**********************************************
|
||||
|
||||
echo blah
|
||||
|
||||
**********************************************
|
||||
|
||||
Would you like to authorize it? (y/n)
|
Loading…
Reference in New Issue
Block a user