1313from kaggle_secrets import (_KAGGLE_URL_BASE_ENV_VAR_NAME ,
1414 _KAGGLE_USER_SECRETS_TOKEN_ENV_VAR_NAME ,
1515 CredentialError , GcpTarget , UserSecretsClient ,
16- BackendError , ValidationError )
16+ BackendError , NotFoundError , ValidationError )
1717
1818_TEST_JWT = 'test-secrets-key'
1919
@@ -55,7 +55,7 @@ def get_response(self):
5555 if success :
5656 return {'result' : {'secret' : secret , 'secretType' : 'refreshToken' , 'secretProvider' : 'google' , 'expiresInSeconds' : 3600 }, 'wasSuccessful' : "true" }
5757 else :
58- return {'wasSuccessful' : "false" }
58+ return {'wasSuccessful' : "false" , 'errors' : [ 'No user secrets exist for kernel' ] }
5959
6060 env = EnvironmentVarGuard ()
6161 env .set (_KAGGLE_USER_SECRETS_TOKEN_ENV_VAR_NAME , _TEST_JWT )
@@ -95,7 +95,7 @@ def call_get_secret():
9595 self ._test_client (call_get_secret ,
9696 '/requests/GetUserSecretByLabelRequest' , {'Label' : "secret_label" , 'JWE' : _TEST_JWT },
9797 secret = secret )
98-
98+
9999 def test_get_secret_handles_unsuccessful (self ):
100100 def call_get_secret ():
101101 client = UserSecretsClient ()
@@ -112,7 +112,28 @@ def test_get_secret_validates_label(self):
112112 client = UserSecretsClient ()
113113 with self .assertRaises (ValidationError ):
114114 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+
116137 @mock .patch ('kaggle_secrets.datetime' )
117138 def test_get_access_token_succeeds (self , mock_dt ):
118139 secret = '12345'
0 commit comments