Skip to content

Commit f383ab4

Browse files
authored
Merge pull request #1983 from cbuschka/issue1802_npex_when_server_not_set
#1802 Check if server is available from kubeconfig.
2 parents 8b29528 + ac47750 commit f383ab4

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

util/src/main/java/io/kubernetes/client/util/ClientBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,9 @@ public static ClientBuilder kubeconfig(KubeConfig config) throws IOException {
277277
final ClientBuilder builder = new ClientBuilder();
278278

279279
String server = config.getServer();
280+
if (server == null) {
281+
throw new IllegalArgumentException("No server in kubeconfig");
282+
}
280283
if (!server.contains("://")) {
281284
if (server.contains(":443")) {
282285
server = "https://" + server;

util/src/test/java/io/kubernetes/client/util/ClientBuilderTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.hamcrest.MatcherAssert.assertThat;
1919
import static org.hamcrest.core.Is.is;
2020
import static org.junit.Assert.assertEquals;
21+
import static org.junit.Assert.assertThrows;
2122
import static org.mockito.Mockito.mock;
2223
import static org.mockito.Mockito.verify;
2324

@@ -299,4 +300,16 @@ public void testSettingPassphraseForKubeConfigShouldWork() throws IOException {
299300
((ClientCertificateAuthentication) receivingAuthn.getDelegateAuthentication())
300301
.getPassphrase());
301302
}
303+
304+
@Test
305+
public void testDetectsServerNotSet() {
306+
assertThrows(
307+
"No server in kubeconfig",
308+
IllegalArgumentException.class,
309+
() -> {
310+
KubeConfig kubeConfigWithoutServer = mock(KubeConfig.class);
311+
312+
ClientBuilder.kubeconfig(kubeConfigWithoutServer);
313+
});
314+
}
302315
}

0 commit comments

Comments
 (0)