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

Commit 6acca0e

Browse files
committed
now testing api calls with four id values
1 parent 604d2bd commit 6acca0e

File tree

1 file changed

+87
-14
lines changed

1 file changed

+87
-14
lines changed

CloudFlare/tests/test_rulesets.py

Lines changed: 87 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def test_find_zone(domain_name=None):
4747
ruleset_content = None
4848

4949
def test_ruleset_create_values():
50-
""" test_ruleset_create_values """
50+
""" test_accounts_ruleset_create_values """
5151
global ruleset_name, ruleset_ref, ruleset_content
5252
ruleset_name = str(uuid.uuid1())
5353
ruleset_ref = str(uuid.uuid1())
@@ -75,8 +75,8 @@ def test_ruleset_create_values():
7575

7676
ruleset_id = None
7777

78-
def test_rulesets_get():
79-
""" test_rulesets_get """
78+
def test_zones_rulesets_get():
79+
""" test_zones_rulesets_get """
8080
# GET
8181
ruleset_results = cf.zones.rulesets.get(zone_id)
8282
assert isinstance(ruleset_results, list)
@@ -89,8 +89,8 @@ def test_rulesets_get():
8989
print('ruleset: %s: name=%s kind=%s phase=%s' % (ruleset['id'], ruleset['name'], ruleset['kind'], ruleset['phase']), file=sys.stderr)
9090
assert True
9191

92-
def test_ruleset_post():
93-
""" test_rulesets_post """
92+
def test_zones_ruleset_post():
93+
""" test_zones_rulesets_post """
9494
global ruleset_id
9595
# POST
9696
ruleset = cf.zones.rulesets.post(zone_id, data=ruleset_content)
@@ -106,8 +106,8 @@ def test_ruleset_post():
106106
ruleset_id = ruleset['id']
107107
print('ruleset: %s: name=%s kind=%s phase=%s' % (ruleset['id'], ruleset['name'], ruleset['kind'], ruleset['phase']), file=sys.stderr)
108108

109-
def test_rulesets_get_specific():
110-
""" test_rulesets_get_specific """
109+
def test_zones_rulesets_get_specific():
110+
""" test_zones_rulesets_get_specific """
111111
# GET
112112
ruleset = cf.zones.rulesets.get(zone_id, ruleset_id)
113113
assert isinstance(ruleset, dict)
@@ -119,21 +119,94 @@ def test_rulesets_get_specific():
119119
assert ruleset['id'] == ruleset_id
120120
print('ruleset: %s: name=%s kind=%s phase=%s' % (ruleset['id'], ruleset['name'], ruleset['kind'], ruleset['phase']), file=sys.stderr)
121121

122-
def test_ruleset_delete():
123-
""" test_rulesets_delete """
122+
def test_zones_ruleset_delete():
123+
""" test_zones_rulesets_delete """
124124
# DELETE
125125
ruleset_response = cf.zones.rulesets.delete(zone_id, ruleset_id)
126126
# None is returned - not quite the same response as other delete's in the API
127127
assert ruleset_response is None
128128

129+
account_name = None
130+
account_id = None
131+
132+
def test_find_account(find_name=None):
133+
""" test_find_account """
134+
global account_name, account_id
135+
# grab a random account identifier from the first 10 accounts
136+
if find_name:
137+
params = {'per_page':1, 'name':find_name}
138+
else:
139+
params = {'per_page':10}
140+
try:
141+
accounts = cf.accounts.get(params=params)
142+
except CloudFlare.exceptions.CloudFlareAPIError as e:
143+
print('%s: Error %d=%s' % (find_name, int(e), str(e)), file=sys.stderr)
144+
assert False
145+
assert len(accounts) > 0 and len(accounts) <= 10
146+
# n = random.randrange(len(accounts))
147+
# stop using a random account - use the primary account (i.e. the zero'th one)
148+
n = 0
149+
account_name = accounts[n]['name']
150+
account_id = accounts[n]['id']
151+
assert len(account_id) == 32
152+
print('account: %s %s' % (account_id, account_name), file=sys.stderr)
153+
154+
ruleset_id = None
155+
ruleset_version = None
156+
157+
def test_accounts_ruleset():
158+
""" test_accounts_ruleset """
159+
global ruleset_id, ruleset_version
160+
ruleset_results = results = cf.accounts.rulesets(account_id)
161+
assert isinstance(ruleset_results, list)
162+
for ruleset in ruleset_results:
163+
assert isinstance(ruleset, dict)
164+
assert 'id' in ruleset
165+
assert 'version' in ruleset
166+
ruleset_id = ruleset['id']
167+
ruleset_version = ruleset['version']
168+
# we only need one!
169+
break
170+
print('account ruleset: %s %s' % (ruleset_id, ruleset_name), file=sys.stderr)
171+
172+
def test_accounts_rulesets_versions():
173+
""" test_accounts_ruleset_versions """
174+
ruleset = cf.accounts.rulesets.versions(account_id, ruleset_id, ruleset_version)
175+
assert isinstance(ruleset, dict)
176+
assert 'id' in ruleset
177+
assert 'version' in ruleset
178+
assert ruleset['id'] == ruleset_id
179+
assert ruleset['version'] == ruleset_version
180+
181+
def test_accounts_rulesets_versions_by_tag():
182+
""" test_accounts_rulesets_versions_by_tag """
183+
# List an account ruleset version's rules by tag
184+
# /accounts/{account_id}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}
185+
# four id's passed on call!
186+
rule_tag = 'QWERTYUIOP'
187+
try:
188+
results = cf.accounts.rulesets.versions.by_tag(account_id, ruleset_id, ruleset_version, rule_tag)
189+
print('results=', results, file=sys.stderr)
190+
assert False
191+
except CloudFlare.exceptions.CloudFlareAPIError as e:
192+
print('Error expected: %d %s' % (int(e), str(e)), file=sys.stderr)
193+
assert True
194+
129195
if __name__ == '__main__':
130-
test_cloudflare(debug=true)
196+
test_cloudflare(debug=True)
131197
if len(sys.argv) > 1:
132198
test_find_zone(sys.argv[1])
133199
else:
134200
test_find_zone()
135201
test_ruleset_create_values()
136-
test_rulesets_get()
137-
test_ruleset_post()
138-
test_rulesets_get_specific()
139-
test_ruleset_delete()
202+
test_zones_rulesets_get()
203+
test_zones_ruleset_post()
204+
test_zones_rulesets_get_specific()
205+
test_zones_ruleset_delete()
206+
if len(sys.argv) > 2:
207+
test_find_account(sys.argv[2])
208+
else:
209+
test_find_account()
210+
test_accounts_ruleset()
211+
test_accounts_rulesets_versions()
212+
test_accounts_rulesets_versions_by_tag()

0 commit comments

Comments
 (0)