From 232306d0c75a055f2e487f98b3c6acf65de2ad7e Mon Sep 17 00:00:00 2001
From: Davanum Srinivas <davanum@gmail.com>
Date: Sun, 3 Apr 2016 22:06:46 -0400
Subject: [PATCH] Skip tests when Kubernetes is not running

---
 k8sclient/tests/test_k8sclient.py | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/k8sclient/tests/test_k8sclient.py b/k8sclient/tests/test_k8sclient.py
index 0400711..517c8fa 100644
--- a/k8sclient/tests/test_k8sclient.py
+++ b/k8sclient/tests/test_k8sclient.py
@@ -22,13 +22,25 @@ http://kubernetes.io/docs/getting-started-guides/docker/
 and then run this test.
 """
 
+from testtools.testcase import unittest
+import urllib3
+
 from k8sclient.client import api_client
 from k8sclient.client.apis import apiv_api
 from k8sclient.tests import base
 
 
-class TestK8sclient(base.TestCase):
+def _is_k8s_running():
+    try:
+        urllib3.PoolManager().request('GET', '127.0.0.1:8080')
+        return True
+    except urllib3.exceptions.HTTPError:
+        return False
 
+
+class TestK8sclient(base.TestCase):
+    @unittest.skipUnless(
+            _is_k8s_running(), "Kubernetes is not available")
     def test_list_nodes_and_endpoints(self):
         client = api_client.ApiClient('http://127.0.0.1:8080/')
         api = apiv_api.ApivApi(client)
@@ -37,4 +49,4 @@ class TestK8sclient(base.TestCase):
         self.assertEquals(3, len(pod.items))
 
         endpoints = api.list_endpoints()
-        self.assertEquals(1, len(endpoints.items))
\ No newline at end of file
+        self.assertEquals(1, len(endpoints.items))