@@ -65,6 +65,7 @@ def webapp_info(domain):
6565 "password_protection_password" : "bar"
6666 }
6767
68+ # WEBAPP CLASS
6869
6970def test_init (base_url , domain , domain_url , webapp ):
7071 assert webapp .domain == domain
@@ -79,6 +80,8 @@ def test_compare_equal():
7980def test_compare_not_equal ():
8081 assert Webapp ("www.my-domain.com" ) != Webapp ("www.other-domain.com" )
8182
83+ # SANITY CHECKS
84+ ## /api/v0/user/{username}/webapps/{domain_name}/ : GET
8285
8386def test_does_not_complain_if_api_token_exists (api_token , api_responses , domain_url , webapp ):
8487 api_responses .add (responses .GET , domain_url , status = 404 )
@@ -120,6 +123,10 @@ def test_nuke_option_overrides_all_but_token_check(
120123 webapp .sanity_checks (nuke = True ) # should not raise
121124
122125
126+ # CREATE
127+ ## /api/v0/user/{username}/webapps/ : POST
128+ ## /api/v0/user/{username}/webapps/{domain_name} : PATCH
129+
123130def test_does_post_to_create_webapp (api_responses , api_token , base_url , domain , domain_url , webapp ):
124131 api_responses .add (
125132 responses .POST ,
@@ -208,6 +215,9 @@ def test_raises_if_patch_does_not_20x(api_responses, api_token, base_url, domain
208215 assert "an error" in str (e .value )
209216
210217
218+ ## /api/v0/user/{username}/webapps/{domain_name}/
219+ ## DELETE (for nuke functionality in CREATE)
220+
211221def test_does_delete_first_for_nuke_call (api_responses , api_token , base_url , domain_url , webapp ):
212222 api_responses .add (responses .DELETE , domain_url , status = 200 )
213223 api_responses .add (responses .POST , base_url , status = 201 , body = json .dumps ({"status" : "OK" }))
@@ -229,6 +239,9 @@ def test_ignores_404_from_delete_call_when_nuking(api_responses, api_token, base
229239 webapp .create ("3.10" , "/virtualenv/path" , "/project/path" , nuke = True )
230240
231241
242+ # CREATE STATIC FILE MAPPING
243+ ## /api/v0/user/{username}/webapps/{domain_name}/static_files/ : POST
244+
232245def test_create_static_file_mapping_posts_correctly (api_token , api_responses , domain_url , webapp ):
233246 static_files_url = f"{ domain_url } static_files/"
234247 api_responses .add (responses .POST , static_files_url , status = 201 )
@@ -259,6 +272,9 @@ def test_adds_default_static_files_mappings(mocker, webapp):
259272 )
260273
261274
275+ # RELOAD
276+ ## /api/v0/user/{username}/webapps/{domain_name}/reload/ : POST
277+
262278def test_does_post_to_reload_url (api_responses , api_token , domain_url , webapp ):
263279 reload_url = f"{ domain_url } reload/"
264280 api_responses .add (responses .POST , reload_url , status = 200 )
@@ -294,6 +310,9 @@ def test_does_not_raise_if_post_responds_with_a_cname_error(api_responses, api_t
294310 webapp .reload () # Should not raise
295311
296312
313+ # SET SSL
314+ ## /api/v0/user/{username}/webapps/{domain_name}/ssl/ : POST
315+
297316def test_does_post_to_ssl_url (api_responses , api_token , domain_url , webapp ):
298317 ssl_url = f"{ domain_url } ssl/"
299318 api_responses .add (responses .POST , ssl_url , status = 200 )
@@ -321,6 +340,9 @@ def test_raises_if_post_to_ssl_does_not_20x(api_responses, api_token, ssl_url, w
321340 assert "nope" in str (e .value )
322341
323342
343+ # GET SSL INFO
344+ ## /api/v0/user/{username}/webapps/{domain_name}/ssl/ : GET
345+
324346def test_returns_json_from_server_having_parsed_expiry_with_z_for_utc_and_no_separators (
325347 api_responses , api_token , ssl_url , webapp
326348):
@@ -391,6 +413,9 @@ def test_raises_if_get_does_not_return_200(api_responses, api_token, ssl_url, we
391413 assert "nope" in str (e .value )
392414
393415
416+ # DELETE LOG
417+ ## /api/v0/user/{username}/files/path{path} : DELETE
418+
394419def test_delete_current_access_log (api_responses , api_token , base_log_url , webapp ):
395420 expected_url = f"{ base_log_url } .access.log/"
396421 api_responses .add (responses .DELETE , expected_url , status = 200 )
@@ -426,6 +451,9 @@ def test_raises_if_log_delete_does_not_20x(api_responses, api_token, base_log_ur
426451 assert "nope" in str (e .value )
427452
428453
454+ # GET LOG INFO
455+ ## /api/v0/user/{username}/files/tree/?path={path} : GET
456+
429457def test_get_list_of_logs (api_responses , api_token , base_file_url , domain , webapp ):
430458 expected_url = f"{ base_file_url } tree/?path=/var/log/"
431459 api_responses .add (
@@ -467,6 +495,9 @@ def test_raises_if_get_does_not_20x(api_responses, api_token, base_file_url, web
467495 assert "nope" in str (e .value )
468496
469497
498+ # LIST WEBAPPS
499+ ## /api/v0/user/{username}/webapps/ : GET
500+
470501def test_list_webapps_returns_list (api_responses , api_token , base_url ):
471502 # Simulate API response for listing webapps
472503 webapps_data = [
@@ -497,9 +528,8 @@ def test_list_webapps_raises_on_error(api_responses, api_token, base_url):
497528 assert "server error" in str (e .value )
498529
499530
500- # /api/v0/user/{username}/webapps/{domain_name}/
501- ## GET
502-
531+ # GET
532+ ## /api/v0/user/{username}/webapps/{domain_name}/
503533
504534def test_get_to_domain_name_endpoint_returns_200_with_webapp_info_when_domain_name_exists (
505535 api_responses , api_token , domain_url , webapp , webapp_info
@@ -534,8 +564,8 @@ def test_get_to_domain_name_endpoint_returns_403_for_not_authorized_user(
534564 assert '{"detail":"You do not have permission to perform this action."}' in str (e .value )
535565
536566
537- # /api/v0/user/{username}/webapps/{domain_name}/
538- ## DELETE
567+ # DELETE
568+ ## /api/v0/user/{username}/webapps/{domain_name}/
539569
540570def test_delete_to_domain_name_endpoint_returns_204_for_authorized_user_and_existing_webapp (
541571 api_responses , api_token , domain_url , webapp
@@ -572,9 +602,8 @@ def test_delete_to_domain_name_endpoint_returns_403_for_authorized_user_and_non_
572602 assert message in str (e .value )
573603
574604
575- # /api/v0/user/{username}/webapps/{domain_name}/
576- ## PATCH
577-
605+ # PATCH
606+ ## /api/v0/user/{username}/webapps/{domain_name}/
578607
579608def test_patch_to_domain_name_endpoint_returns_200_for_authorized_user_and_existing_webapp (
580609 api_responses , api_token , domain_url , webapp , webapp_info
0 commit comments