From 887cbfd64c010a702f92b171ae3cac3fd48893ba Mon Sep 17 00:00:00 2001 From: Adrien Lecharpentier Date: Thu, 8 May 2014 12:15:50 +0200 Subject: [PATCH] Create method to know end-point connectivity --- .../java/com/offbytwo/jenkins/JenkinsServer.java | 14 ++++++++++++++ .../com/offbytwo/jenkins/JenkinsServerTest.java | 13 +++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/main/java/com/offbytwo/jenkins/JenkinsServer.java b/src/main/java/com/offbytwo/jenkins/JenkinsServer.java index efecdb55..dbe97330 100644 --- a/src/main/java/com/offbytwo/jenkins/JenkinsServer.java +++ b/src/main/java/com/offbytwo/jenkins/JenkinsServer.java @@ -55,6 +55,20 @@ public JenkinsServer(JenkinsHttpClient client) { this.client = client; } + /** + * Get the current status of the Jenkins end-point by pinging it. + * + * @return true if Jenkins is up and running, false otherwise + */ + public boolean isRunning() { + try { + client.get("/"); + return true; + } catch (IOException e) { + return false; + } + } + /** * Get a list of all the defined jobs on the server (at the summary level) * diff --git a/src/test/java/com/offbytwo/jenkins/JenkinsServerTest.java b/src/test/java/com/offbytwo/jenkins/JenkinsServerTest.java index 60d26d2d..e7109f8a 100644 --- a/src/test/java/com/offbytwo/jenkins/JenkinsServerTest.java +++ b/src/test/java/com/offbytwo/jenkins/JenkinsServerTest.java @@ -11,6 +11,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.io.IOException; import java.util.UUID; import org.junit.Before; @@ -80,4 +81,16 @@ public void testCreateJob() throws Exception { String xmlReturn = captureString.getValue(); assertEquals(xmlReturn, xmlString); } + + @Test + public void testJenkinsConnectivity() throws IOException { + Mockito.when(client.get("/")).thenReturn("not a real response"); + assertEquals(server.isRunning(), true); + } + + @Test + public void testJenkinsConnectivityBroken() throws IOException { + Mockito.when(client.get("/")).thenThrow(IOException.class); + assertEquals(server.isRunning(), false); + } }