mirror of
https://github.com/Tarrasch/zsh-autoenv.git
synced 2024-11-26 00:40:59 +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)"
|
echo "Would you like to authorize it? (y/n)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# This function can be mocked in tests
|
||||||
|
_dotenv_read_answer() {
|
||||||
|
read answer
|
||||||
|
}
|
||||||
|
|
||||||
_dotenv_source_env() {
|
_dotenv_source_env() {
|
||||||
local env_file="$PWD/.env"
|
local env_file="$PWD/.env"
|
||||||
|
|
||||||
@ -52,7 +57,7 @@ _dotenv_source_env() {
|
|||||||
|
|
||||||
_dotenv_print_unauthorized_message $env_file
|
_dotenv_print_unauthorized_message $env_file
|
||||||
|
|
||||||
read answer
|
_dotenv_read_answer
|
||||||
|
|
||||||
if [[ $answer == 'y' ]]
|
if [[ $answer == 'y' ]]
|
||||||
then
|
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