Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

Commit edf9e51

Browse files
committed
complete rewrite - maybe better; maybe not; however, test runs are nicer to look at
1 parent 61ca2d6 commit edf9e51

1 file changed

Lines changed: 112 additions & 55 deletions

File tree

tests/test_issue114.py

Lines changed: 112 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,125 @@
22

33
import os
44
import sys
5-
sys.path.insert(0, os.path.abspath('..'))
65

6+
sys.path.insert(0, os.path.abspath('..'))
77
import CloudFlare
88

99
# CloudFlare(email=None, key=None, token=None, certtoken=None, debug=False, raw=False, use_sessions=True, profile=None, base_url=None, global_request_timeout=5, max_request_retries=5)
1010

1111
class TestCloudflare:
1212
""" TestCloudflare """
13-
def test_email_key_token(self):
14-
""" test_email_key_token """
15-
# Always clear environment
16-
self._setup()
17-
18-
profile = self._profile
19-
20-
assert self._email or self._key or self._token
21-
22-
# if not self._email and not self._key and not self._token:
23-
# assert 'EMAIL/KEY/TOKEN all needed in order to run this test' == ''
24-
25-
cf = None
26-
# loop over each combination
27-
for email in [None, self._email, 'example@example.com']:
28-
for key in [None, self._key, self._token]:
29-
for token in [None, self._token, self._key]:
30-
print('email = ', self._obfuscate(email), 'key = ', self._obfuscate(key), 'token = ', self._obfuscate(token))
31-
if cf:
32-
del cf
33-
cf = CloudFlare.CloudFlare(email=email, key=key, token=token, profile=profile)
34-
assert isinstance(cf, CloudFlare.CloudFlare)
35-
36-
try:
37-
r = cf.zones(params={'per_page':1})
38-
except:
39-
r = None
40-
41-
if email is None and key is None and token == self._token:
42-
assert isinstance(r, list)
43-
assert len(r) == 1
44-
assert isinstance(r[0], dict)
45-
continue
46-
47-
if email is None and key == self._token and token is None:
48-
assert isinstance(r, list)
49-
assert len(r) == 1
50-
assert isinstance(r[0], dict)
51-
continue
52-
53-
if email == self._email and key == self._key and token is None:
54-
assert isinstance(r, list)
55-
assert len(r) == 1
56-
assert isinstance(r[0], dict)
57-
continue
58-
59-
if email == self._email and key is None and token == self._key:
60-
assert isinstance(r, list)
61-
assert len(r) == 1
62-
assert isinstance(r[0], dict)
63-
continue
64-
65-
# Nothing else should work!
66-
assert r is None
13+
14+
def test_email_key_token000(self):
15+
self._run(0, 0, 0)
16+
def test_email_key_token001(self):
17+
self._run(0, 0, 1)
18+
def test_email_key_token002(self):
19+
self._run(0, 0, 2)
20+
def test_email_key_token010(self):
21+
self._run(0, 1, 0)
22+
def test_email_key_token011(self):
23+
self._run(0, 1, 1)
24+
def test_email_key_token012(self):
25+
self._run(0, 1, 2)
26+
def test_email_key_token020(self):
27+
self._run(0, 2, 0)
28+
def test_email_key_token021(self):
29+
self._run(0, 2, 1)
30+
def test_email_key_token022(self):
31+
self._run(0, 2, 2)
32+
33+
def test_email_key_token100(self):
34+
self._run(1, 1, 0)
35+
def test_email_key_token101(self):
36+
self._run(1, 1, 1)
37+
def test_email_key_token102(self):
38+
self._run(1, 1, 2)
39+
def test_email_key_token110(self):
40+
self._run(1, 1, 1)
41+
def test_email_key_token111(self):
42+
self._run(1, 1, 1)
43+
def test_email_key_token112(self):
44+
self._run(1, 1, 2)
45+
def test_email_key_token120(self):
46+
self._run(1, 2, 1)
47+
def test_email_key_token121(self):
48+
self._run(1, 2, 1)
49+
def test_email_key_token122(self):
50+
self._run(1, 2, 2)
51+
52+
def test_email_key_token200(self):
53+
self._run(2, 0, 0)
54+
def test_email_key_token201(self):
55+
self._run(2, 0, 1)
56+
def test_email_key_token202(self):
57+
self._run(2, 0, 2)
58+
def test_email_key_token210(self):
59+
self._run(2, 1, 2)
60+
def test_email_key_token211(self):
61+
self._run(2, 1, 1)
62+
def test_email_key_token212(self):
63+
self._run(2, 1, 2)
64+
def test_email_key_token220(self):
65+
self._run(2, 2, 2)
66+
def test_email_key_token221(self):
67+
self._run(2, 2, 1)
68+
def test_email_key_token222(self):
69+
self._run(2, 2, 2)
70+
71+
def _run(self, token_index, key_index, email_index):
72+
73+
try:
74+
profile = self._profile
75+
except AttributeError:
76+
# Always clear environment
77+
self._setup()
78+
assert self._email or self._key or self._token
79+
# if not self._email and not self._key and not self._token:
80+
# assert 'EMAIL/KEY/TOKEN all needed in order to run this test' == ''
81+
profile = self._profile
82+
83+
# select combination
84+
email = [None, self._email, 'example@example.com'][email_index]
85+
key = [None, self._key, self._token][key_index]
86+
token = [None, self._token, self._key][token_index]
87+
88+
print('email = ', self._obfuscate(email), 'key = ', self._obfuscate(key), 'token = ', self._obfuscate(token))
89+
90+
cf = CloudFlare.CloudFlare(email=email, key=key, token=token, profile=profile)
91+
assert isinstance(cf, CloudFlare.CloudFlare)
92+
93+
try:
94+
r = cf.zones(params={'per_page':1})
95+
except:
96+
r = None
97+
98+
if email is None and key is None and token == self._token:
99+
assert isinstance(r, list)
100+
assert len(r) == 1
101+
assert isinstance(r[0], dict)
102+
return
103+
104+
if email is None and key == self._token and token is None:
105+
assert isinstance(r, list)
106+
assert len(r) == 1
107+
assert isinstance(r[0], dict)
108+
return
109+
110+
if email == self._email and key == self._key and token is None:
111+
assert isinstance(r, list)
112+
assert len(r) == 1
113+
assert isinstance(r[0], dict)
114+
return
115+
116+
if email == self._email and key is None and token == self._key:
117+
assert isinstance(r, list)
118+
assert len(r) == 1
119+
assert isinstance(r[0], dict)
120+
return
121+
122+
# Nothing else should work!
123+
assert r is None
67124

68125
def _setup(self):
69126
""" setup """

0 commit comments

Comments
 (0)