diff --git a/.travis.yml b/.travis.yml index 867a6d2..72b9903 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,22 @@ addons: packages: - shellcheck -script: - - bash -c 'shopt -s globstar; shellcheck getssl' +env: + global: + - CF_DOMAIN=test.org + - CF_EMAIL=getssl_test_account@mailinator.com + - CF_KEY=845830354648e4317e1541002f4b778d07b41 + +before_script: + - wget -O test/assert.sh https://raw.github.com/lehmannro/assert.sh/v1.1/assert.sh + - chmod +x test/assert.sh + - curl -X POST 'https://api.cloudflare.com/client/v4/zones' -H "X-Auth-Email:\ $CF_EMAIL" -H "X-Auth-Key:\ $CF_KEY" -H "Content-Type:\ application/json" --data "{\"name\":\"$CF_DOMAIN\",\"jump_start\":false}" +script: + - shellcheck getssl + - shellcheck dns_scripts/dns_add_cloudflare + - shellcheck dns_scripts/dns_del_cloudflare + - cd test && ./test.sh + matrix: fast_finish: true diff --git a/test/test.sh b/test/test.sh new file mode 100755 index 0000000..9573b45 --- /dev/null +++ b/test/test.sh @@ -0,0 +1,37 @@ +#! /usr/bin/env bash +. assert.sh + +P=../dns_scripts + +assert_raises $P/dns_add_cloudflare 1 +assert_raises "$P/dns_add_cloudflare ''" 1 +assert_raises "$P/dns_add_cloudflare '' ''" 1 +assert_raises "$P/dns_add_cloudflare only_one" 1 + +assert "CF_EMAIL=w@e.org $P/dns_add_cloudflare a.$CF_DOMAIN a" 'domain name not found on your cloudflare account' +assert_raises "CF_EMAIL=w@e.org $P/dns_add_cloudflare a.$CF_DOMAIN a" 1 + +assert "CF_KEY= $P/dns_add_cloudflare a.$CF_DOMAIN a" 'domain name not found on your cloudflare account' +assert_raises "CF_KEY= $P/dns_add_cloudflare a.$CF_DOMAIN a" 1 + +assert_end dns_add_cloudflare params + +assert "$P/dns_add_cloudflare a a" 'domain name not found on your cloudflare account' +assert_raises "$P/dns_add_cloudflare a a" 1 + +assert "$P/dns_add_cloudflare t1.$CF_DOMAIN t1" '' +assert_raises "$P/dns_add_cloudflare t1.$CF_DOMAIN t1" 0 + +assert "$P/dns_add_cloudflare t2.subdomain.$CF_DOMAIN t2" '' +assert_raises "$P/dns_add_cloudflare t2.subdomain.$CF_DOMAIN t2" 0 + +assert "$P/dns_add_cloudflare t3.sub\(domain.$CF_DOMAIN t3" 'Error: DNS challenge not added: DNS Validation Error' +assert_raises "$P/dns_add_cloudflare t3.sub\(domain.$CF_DOMAIN t3" 2 + +assert_end dns_add_cloudflare API + +assert_raises $P/dns_del_cloudflare 1 +assert_raises "$P/dns_del_cloudflare ''" 1 +assert_raises "$P/dns_del_cloudflare '' ''" 1 + +assert_end dns_del_cloudflare params