@@ -47,7 +47,7 @@ def test_find_zone(domain_name=None):
4747ruleset_content = None
4848
4949def 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
7676ruleset_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+
129195if __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