@@ -61,7 +61,7 @@ public class KubeConfigTest {
6161 @ Test
6262 public void testToken () {
6363 KubeConfig config = KubeConfig .loadKubeConfig (new StringReader (KUBECONFIG_TOKEN ));
64- assertEquals (config .getAccessToken ( ), "foobaz" );
64+ assertEquals (config .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ), "foobaz" );
6565 }
6666
6767 @ Test
@@ -73,7 +73,7 @@ public void testTokenFile() throws IOException {
7373 String replace = KUBECONFIG_TOKEN .replace ("foobaz" , tokenFile .getCanonicalPath ());
7474 replace = replace .replace ("token:" , "tokenFile:" );
7575 KubeConfig config = KubeConfig .loadKubeConfig (new StringReader (replace ));
76- assertEquals (config .getAccessToken ( ), token );
76+ assertEquals (config .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ), token );
7777 }
7878
7979 public static String GCP_CONFIG =
@@ -108,7 +108,7 @@ public void testGCPAuthProvider() {
108108 writer .close ();
109109
110110 KubeConfig kc = KubeConfig .loadKubeConfig (new FileReader (config ));
111- assertEquals ("fake-token" , kc .getAccessToken ( ));
111+ assertEquals ("fake-token" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
112112 } catch (Exception ex ) {
113113 ex .printStackTrace ();
114114 fail ("Unexpected exception: " + ex );
@@ -147,7 +147,7 @@ public void testGCPAuthProviderStringDate() {
147147 writer .close ();
148148
149149 KubeConfig kc = KubeConfig .loadKubeConfig (new FileReader (config ));
150- assertEquals ("fake-token" , kc .getAccessToken ( ));
150+ assertEquals ("fake-token" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
151151 } catch (Exception ex ) {
152152 ex .printStackTrace ();
153153 fail ("Unexpected exception: " + ex );
@@ -198,7 +198,7 @@ public void testGCPAuthProviderExpiredTokenWithinGCloud() {
198198 KubeConfig .registerAuthenticator (new GCPAuthenticator (mockPB , null ));
199199 try {
200200 KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (gcpConfigExpiredToken ));
201- assertEquals ("new-fake-token" , kc .getAccessToken ( ));
201+ assertEquals ("new-fake-token" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
202202 } catch (Exception ex ) {
203203 ex .printStackTrace ();
204204 fail ("Unexpected exception: " + ex );
@@ -233,7 +233,7 @@ public void testGCPAuthProviderExpiredTokenWithoutGCloud() {
233233 KubeConfig .registerAuthenticator (new GCPAuthenticator (null , mockGC ));
234234 try {
235235 KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (gcpConfigExpiredToken ));
236- assertEquals (fakeToken , kc .getAccessToken ( ));
236+ assertEquals (fakeToken , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
237237 } catch (Exception ex ) {
238238 ex .printStackTrace ();
239239 fail ("Unexpected exception: " + ex );
@@ -262,7 +262,7 @@ public void testAzureAuthProvider() {
262262 + " name: azure\n " ;
263263 try {
264264 KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (azureConfig ));
265- assertEquals ("fake-azure-token" , kc .getAccessToken ( ));
265+ assertEquals ("fake-azure-token" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
266266 } catch (Exception ex ) {
267267 ex .printStackTrace ();
268268 fail ("Unexpected exception: " + ex );
@@ -331,8 +331,8 @@ public void testRefreshToken() {
331331 fake .token = "someNewToken" ;
332332 fake .refresh = "refreshToken" ;
333333
334- String token = config .getAccessToken ();
335- assertEquals (token , fake .token );
334+ Map < String , String > credentials = config .getCredentials ();
335+ assertEquals (credentials . get ( KubeConfig . CRED_TOKEN_KEY ) , fake .token );
336336 }
337337
338338 private static final String KUBECONFIG_EXEC =
@@ -360,7 +360,7 @@ public void testExecCredentials() throws Exception {
360360 }
361361 KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (KUBECONFIG_EXEC ));
362362 kc .setFile (folder .newFile ()); // just making sure it is ignored
363- assertEquals ("abc123" , kc .getAccessToken ( ));
363+ assertEquals ("abc123" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
364364 }
365365
366366 @ Test
@@ -371,7 +371,7 @@ public void testExecCredentialsAlpha1() throws Exception {
371371 }
372372 KubeConfig kc =
373373 KubeConfig .loadKubeConfig (new StringReader (KUBECONFIG_EXEC .replace ("v1beta1" , "v1alpha1" )));
374- assertEquals ("abc123" , kc .getAccessToken ( ));
374+ assertEquals ("abc123" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
375375 }
376376
377377 private static final String KUBECONFIG_EXEC_ENV =
@@ -403,7 +403,7 @@ public void testExecCredentialsEnv() throws Exception {
403403 }
404404
405405 KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (KUBECONFIG_EXEC_ENV ));
406- assertEquals ("abc123" , kc .getAccessToken ( ));
406+ assertEquals ("abc123" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
407407 }
408408
409409 private static final String KUBECONFIG_EXEC_BASEDIR =
@@ -448,7 +448,36 @@ public void testExecCredentialsBasedir() throws Exception {
448448 try (FileReader reader = new FileReader (config )) {
449449 KubeConfig kc = KubeConfig .loadKubeConfig (reader );
450450 kc .setFile (config );
451- assertEquals ("abc123" , kc .getAccessToken ( ));
451+ assertEquals ("abc123" , kc .getCredentials (). get ( KubeConfig . CRED_TOKEN_KEY ));
452452 }
453453 }
454+
455+ private static final String KUBECONFIG_EXEC_CERTIFICATE =
456+ "apiVersion: v1\n "
457+ + "current-context: c\n "
458+ + "contexts:\n "
459+ + "- name: c\n "
460+ + " context:\n "
461+ + " user: u\n "
462+ + "users:\n "
463+ + "- name: u\n "
464+ + " user:\n "
465+ + " exec:\n "
466+ + " apiVersion: client.authentication.k8s.io/v1beta1\n "
467+ + " command: echo\n "
468+ + " args:\n "
469+ + " - >-\n "
470+ + " {\" kind\" :\" ExecCredential\" ,\" apiVersion\" :\" client.authentication.k8s.io/v1beta1\" , \" status\" :{\" clientCertificateData\" :\" cert\" ,\" clientKeyData\" :\" key\" }}" ;
471+
472+ @ Test
473+ public void testExecCredentialsCertificate () throws Exception {
474+ // TODO: test exec on Windows
475+ if (System .getProperty ("os.name" ).contains ("Windows" )) {
476+ return ;
477+ }
478+ KubeConfig kc = KubeConfig .loadKubeConfig (new StringReader (KUBECONFIG_EXEC_CERTIFICATE ));
479+ assertEquals ("cert" , kc .getCredentials ().get (KubeConfig .CRED_CLIENT_CERTIFICATE_DATA_KEY ));
480+ assertEquals ("key" , kc .getCredentials ().get (KubeConfig .CRED_CLIENT_KEY_DATA_KEY ));
481+ assertNull (kc .getCredentials ().get (KubeConfig .CRED_TOKEN_KEY ));
482+ }
454483}
0 commit comments