diff --git a/rootfs/scheduler/mock.py b/rootfs/scheduler/mock.py
index 4bd2844ad..a97cb5772 100644
--- a/rootfs/scheduler/mock.py
+++ b/rootfs/scheduler/mock.py
@@ -80,7 +80,7 @@ def _acquire(self):
 resources = [
     'namespaces', 'nodes', 'pods', 'replicationcontrollers',
     'secrets', 'services', 'events', 'deployments', 'replicasets',
-    'horizontalpodautoscalers', 'scale', 'resourcequotas'
+    'horizontalpodautoscalers', 'scale', 'resourcequotas', 'ingresses'
 ]
 
 
diff --git a/rootfs/scheduler/resources/ingress.py b/rootfs/scheduler/resources/ingress.py
index 6db0aea23..3e2feacbe 100644
--- a/rootfs/scheduler/resources/ingress.py
+++ b/rootfs/scheduler/resources/ingress.py
@@ -55,7 +55,7 @@ def create(self, ingress, namespace, hostname):
         return response
 
     def delete(self, namespace, ingress):
-        url = self.api("/namespaces/{}/ingresses/{}", namespace, ingress)
+        url = "/apis/extensions/v1beta1/namespaces/%s/ingresses/%s" % (namespace, ingress)
         response = self.http_delete(url)
         if self.unhealthy(response.status_code):
             raise KubeHTTPException(response, 'delete Ingress "{}"', namespace)
diff --git a/rootfs/scheduler/tests/test_ingress.py b/rootfs/scheduler/tests/test_ingress.py
new file mode 100644
index 000000000..ec6a08364
--- /dev/null
+++ b/rootfs/scheduler/tests/test_ingress.py
@@ -0,0 +1,54 @@
+"""
+Unit tests for the Deis ingress module.
+
+Run the tests with './manage.py test ingress'
+"""
+from scheduler import KubeHTTPException
+from scheduler.tests import TestCase
+
+
+class IngressTest(TestCase):
+    """Tests scheduler ingress calls"""
+
+    def test_create_ingress(self):
+        # Ingress assumes that the namespace and ingress name are always the same
+        self.scheduler.ns.create("test-ingress")
+        self.scheduler.ingress.create("test-ingress", "test-ingress", "test-ingress")
+
+    def test_get_ingresses(self):
+        response = self.scheduler.ingress.get()
+        data = response.json()
+        self.assertEqual(response.status_code, 200, data)
+        self.assertIn('items', data)
+
+    def test_get_ingress(self):
+        with self.assertRaises(
+            KubeHTTPException,
+            msg="failed to get Ingress doesnotexist: 404 Not Found"
+        ):
+            self.scheduler.ingress.get('doesnotexist')
+
+        self.scheduler.ns.create("test-ingress-create")
+        self.scheduler.ingress.create("test-ingress-create",
+                                      "test-ingress-create", "test-ingress-create")
+        response = self.scheduler.ingress.get("test-ingress-create")
+        data = response.json()
+
+        self.assertEqual(response.status_code, 200, data)
+        self.assertEqual(data['apiVersion'], 'extensions/v1beta1')
+        self.assertEqual(data['kind'], 'Ingress')
+
+    def test_delete_failure(self):
+        # test failure
+        with self.assertRaises(
+            KubeHTTPException,
+            msg="failed to delete Ingress doesnotexist: 404 Not Found"
+        ):
+            self.scheduler.ns.delete('doesnotexist')
+
+    def test_delete_namespace(self):
+        self.scheduler.ns.create("test-ingress-delete")
+        self.scheduler.ingress.create("test-ingress-delete",
+                                      "test-ingress-delete", "test-ingress-delete")
+        response = self.scheduler.ingress.delete("test-ingress-delete", "test-ingress-delete")
+        self.assertEqual(response.status_code, 200, response.json())