diff --git a/tests/test_simple_api.py b/tests/test_simple_api.py
index 11da63ee7a1b2a601cd0d2757c4c5e7a73737a2f..12aa24c45c4c7816fafd0d682a416803e94a036c 100644
--- a/tests/test_simple_api.py
+++ b/tests/test_simple_api.py
@@ -17,6 +17,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+import json
 import unittest
 from unittest import mock
 
@@ -49,6 +50,8 @@ class TestApi(unittest.TestCase):
                 return self.json_data
 
         print(f"Calling mocked 'requests.get' with '{args[0]}'")
+        if args[0] == "http://aura.test.available":
+            return MockResponse({"foo": "bar"}, 200)
         if args[0] == "http://aura.test.available/bad-request":
             return MockResponse({}, 400)
         if args[0] == "http://aura.test.available/connection-error":
@@ -57,6 +60,28 @@ class TestApi(unittest.TestCase):
             raise requests.exceptions.Timeout
         if args[0] == "http://aura.test.available/exception":
             raise Exception
+        if args[0] == "http://aura.test.available/not-found":
+            return MockResponse({}, 404)
+        if args[0] == "https://some.website.no.api":
+            return MockResponse({}, 405)
+
+        return MockResponse(None, 404)
+
+    # Mock `requests.put` in `SimpleRestApi`
+    def mocked_requests_put(*args, **kwargs):
+        class MockResponse:
+            def __init__(self, json_data, status_code):
+                self.json_data = json_data
+                self.status_code = status_code
+
+            def json(self):
+                return self.json_data
+
+        print(f"Calling mocked 'requests.put' with '{args[0]}'")
+        if args[0] == "http://aura.test.available/bad-request":
+            return MockResponse({}, 400)
+        if args[0] == "http://aura.test.available/not-found":
+            return MockResponse({}, 404)
 
         return MockResponse(None, 404)
 
@@ -108,12 +133,14 @@ class TestApi(unittest.TestCase):
         except ValueError:
             self.assertTrue("Value not found in dict")
 
-    def test_get(self):
+    @mock.patch("aura_engine.base.api.requests.get", side_effect=mocked_requests_get)
+    def test_get(self, mock_get):
         print(self._testMethodName)
-        result = self.api.get("https://o94.at/")
+        result = self.api.get("http://aura.test.available")
 
         # Success
         self.assertEqual(200, result.response.status_code)
+        self.assertEqual("bar", result.json["foo"])
 
     @mock.patch("aura_engine.base.api.requests.get", side_effect=mocked_requests_get)
     def test_get_bad_request(self, mock_get):
@@ -131,43 +158,57 @@ class TestApi(unittest.TestCase):
         # Bad Request
         self.assertEqual(400, result.response.status_code)
 
-    @mock.patch("aura_engine.base.api.requests.get", side_effect=mocked_requests_get)
-    def test_get_exception(self, mock_get):
+    @mock.patch("aura_engine.base.api.requests.post")
+    def test_post_success(self, mock_post):
+        mock_post.return_value.status_code = 201
+        mock_post.return_value.json.return_value = "mock response"
+
         print(self._testMethodName)
-        result = self.api.get("http://aura.test.available/exception")
+        data = {"foo": "bar"}
 
-        # Bad Request
-        self.assertEqual(400, result.response.status_code)
+        result = self.api.post("http://aura.test.available/api", data=data)
 
-    @mock.patch("aura_engine.base.api.requests.get", side_effect=mocked_requests_get)
-    def test_get_timeout(self, mock_get):
-        print(self._testMethodName)
-        result = self.api.get("http://aura.test.available/timeout")
+        mock_post.assert_called_once_with(
+            "http://aura.test.available/api",
+            data=json.dumps({"foo": "bar"}, indent=4, sort_keys=True, default=str),
+            headers={"content-type": "application/json"},
+        )
 
-        # Bad Request
-        self.assertEqual(400, result.response.status_code)
+        # print(result)
+        self.assertEqual(201, result.response.status_code)
+
+    @mock.patch("aura_engine.base.api.requests.put")
+    def test_put_success(self, mock_post):
+        mock_post.return_value.status_code = 200
+        mock_post.return_value.json.return_value = "mock response"
 
-    def test_post(self):
         print(self._testMethodName)
         data = {"foo": "bar"}
 
-        # Not allowed
-        result = self.api.post("https://o94.at/", data=data)
-        print(result)
-        self.assertEqual(405, result.response.status_code)
+        result = self.api.put("http://aura.test.available/api", data=data)
+
+        mock_post.assert_called_once_with(
+            "http://aura.test.available/api",
+            data=json.dumps({"foo": "bar"}, indent=4, sort_keys=True, default=str),
+            headers={"content-type": "application/json"},
+        )
+
+        # print(result)
+        self.assertEqual(200, result.response.status_code)
 
-    def test_put(self):
+    @mock.patch("aura_engine.base.api.requests.put", side_effect=mocked_requests_put)
+    def test_put(self, mock_put):
         print(self._testMethodName)
         data = {"foo": "bar"}
 
         # Bad request: Invalid URL
-        result = self.api.put("http:/0.0.0.0/invalid-service", data=data)
-        print(result)
+        result = self.api.put("http://aura.test.available/bad-request", data=data)
+        # print(result)
         self.assertEqual(400, result.response.status_code)
 
         # Not found
-        result = self.api.put("https://o94.at/invalid-service", data=data)
-        print(result)
+        result = self.api.put("http://aura.test.available/not-found", data=data)
+        # print(result)
         self.assertEqual(404, result.response.status_code)