1- import pytest
21import secrets
2+ import random
3+ import string
4+ import pytest
35
46from tests .integration import asserts
57
@@ -36,12 +38,12 @@ def test_application_can_be_read_by_name(api, application_params, application):
3638@pytest .fixture (scope = "module" )
3739def application_plan_params2 ():
3840 suffix = secrets .token_urlsafe (8 )
39- return dict (
40- name = f"test-{ suffix } " ,
41- setup_fee = "1.00" ,
42- state_event = "publish" ,
43- cost_per_month = "3.00" ,
44- )
41+ return {
42+ " name" : f"test-{ suffix } " ,
43+ " setup_fee" : "1.00" ,
44+ " state_event" : "publish" ,
45+ " cost_per_month" : "3.00" ,
46+ }
4547
4648
4749@pytest .fixture (scope = "module" )
@@ -55,7 +57,7 @@ def application_plan2(service, application_plan_params2):
5557def update_application_params (application_plan2 ):
5658 suffix = secrets .token_urlsafe (8 )
5759 name = f"updated-{ suffix } "
58- return dict ( name = name , description = name , plan_id = application_plan2 ["id" ])
60+ return { " name" : name , " description" : name , " plan_id" : application_plan2 ["id" ]}
5961
6062
6163def test_application_update (update_application_params , application ):
@@ -74,3 +76,38 @@ def test_application_set_state(application):
7476 assert application ["state" ] == "suspended"
7577 application = application .set_state ("resume" )
7678 assert application ["state" ] == "live"
79+
80+
81+ # Application Atuhentication - Application keys
82+
83+
84+ def test_application_key_list (application , app_key ):
85+ keys = application .keys .list ()
86+ assert len (keys ) > 0
87+
88+
89+ def test_application_key_can_be_created (app_key , app_key_params ):
90+ asserts .assert_resource (app_key )
91+ asserts .assert_resource_params (app_key , app_key_params )
92+
93+
94+ def test_application_autogenerated_key_can_be_created (application , app_key_params ):
95+ keys_len = len (application .keys .list ())
96+ key_params = app_key_params .copy ()
97+ key_params .pop ("key" , None )
98+ key_params ["generateSecret" ] = True
99+ new_key = application .keys .create (params = key_params )
100+ asserts .assert_resource (new_key )
101+ asserts .assert_resource_params (new_key , key_params )
102+ assert new_key ["value" ]
103+ assert len (application .keys .list ()) == keys_len + 1
104+
105+
106+ def test_application_update_userkey (application ):
107+ new_key = "" .join (
108+ random .choices (string .ascii_letters + string .digits + "-_." , k = 100 )
109+ )
110+ application .update (params = {"user_key" : new_key })
111+ application .read ()
112+ asserts .assert_resource (application )
113+ assert application ["user_key" ] == new_key
0 commit comments