Browse Source

Merge 845be28526 into bb85f9f052

pull/165/merge
tslodki 9 years ago
committed by GitHub
parent
commit
35ece7274e
3 changed files with 54 additions and 3 deletions
  1. +16
    -2
      .travis.yml
  2. +1
    -1
      dns_scripts/dns_add_cloudflare
  3. +37
    -0
      test/test.sh

+ 16
- 2
.travis.yml View File

@ -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

+ 1
- 1
dns_scripts/dns_add_cloudflare View File

@ -36,7 +36,7 @@ domain_id=${ids[i]}
resp=$(curl --silent "${PARAMS[@]}" -X POST "$API/$domain_id/dns_records" \
--data "{\"type\":\"TXT\",\"name\":\"_acme-challenge.${fulldomain%.$domain}\",\"content\":\"$token\",\"ttl\":300}")
# code 81057 = The record already exists.
if [[ "${resp// }" == *'"success":false'* && ! "${resp// }" == *'"code":81057[^0-9]'* ]]; then
if [[ "${resp// }" == *'"success":false'* && ! "${resp// }" == *'"code":81057'[^0-9]* ]]; then
re='"message":"([^"]+)"'; [[ "$resp" =~ $re ]]
echo "Error: DNS challenge not added: ${BASH_REMATCH[1]:-unknown error}"; exit 2
fi

+ 37
- 0
test/test.sh View File

@ -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

Loading…
Cancel
Save