13
13
from kaggle_secrets import (_KAGGLE_URL_BASE_ENV_VAR_NAME ,
14
14
_KAGGLE_USER_SECRETS_TOKEN_ENV_VAR_NAME ,
15
15
CredentialError , GcpTarget , UserSecretsClient ,
16
- BackendError , ValidationError )
16
+ BackendError , NotFoundError , ValidationError )
17
17
18
18
_TEST_JWT = 'test-secrets-key'
19
19
@@ -55,7 +55,7 @@ def get_response(self):
55
55
if success :
56
56
return {'result' : {'secret' : secret , 'secretType' : 'refreshToken' , 'secretProvider' : 'google' , 'expiresInSeconds' : 3600 }, 'wasSuccessful' : "true" }
57
57
else :
58
- return {'wasSuccessful' : "false" }
58
+ return {'wasSuccessful' : "false" , 'errors' : [ 'No user secrets exist for kernel' ] }
59
59
60
60
env = EnvironmentVarGuard ()
61
61
env .set (_KAGGLE_USER_SECRETS_TOKEN_ENV_VAR_NAME , _TEST_JWT )
@@ -95,7 +95,7 @@ def call_get_secret():
95
95
self ._test_client (call_get_secret ,
96
96
'/requests/GetUserSecretByLabelRequest' , {'Label' : "secret_label" , 'JWE' : _TEST_JWT },
97
97
secret = secret )
98
-
98
+
99
99
def test_get_secret_handles_unsuccessful (self ):
100
100
def call_get_secret ():
101
101
client = UserSecretsClient ()
@@ -112,7 +112,28 @@ def test_get_secret_validates_label(self):
112
112
client = UserSecretsClient ()
113
113
with self .assertRaises (ValidationError ):
114
114
secret_response = client .get_secret ("" )
115
-
115
+
116
+ def test_get_gcloud_secret_succeeds (self ):
117
+ secret = '{"client_id":"gcloud","type":"authorized_user"}'
118
+
119
+ def call_get_secret ():
120
+ client = UserSecretsClient ()
121
+ secret_response = client .get_gcloud_credential ()
122
+ self .assertEqual (secret_response , secret )
123
+ self ._test_client (call_get_secret ,
124
+ '/requests/GetUserSecretByLabelRequest' , {'Label' : "__gcloud_sdk_auth__" , 'JWE' : _TEST_JWT },
125
+ secret = secret )
126
+
127
+ def test_get_gcloud_secret_handles_unsuccessful (self ):
128
+ def call_get_secret ():
129
+ client = UserSecretsClient ()
130
+ with self .assertRaises (NotFoundError ):
131
+ secret_response = client .get_gcloud_credential ()
132
+ self ._test_client (call_get_secret ,
133
+ '/requests/GetUserSecretByLabelRequest' , {'Label' : "__gcloud_sdk_auth__" , 'JWE' : _TEST_JWT },
134
+ success = False )
135
+
136
+
116
137
@mock .patch ('kaggle_secrets.datetime' )
117
138
def test_get_access_token_succeeds (self , mock_dt ):
118
139
secret = '12345'
0 commit comments