diff --git a/beat/backend/python/test/test_algorithm.py b/beat/backend/python/test/test_algorithm.py
index 31c1197121ce457afe947af8317a77907c172673..a74092c97976120acc33b3d9a01e77e16f0553ca 100644
--- a/beat/backend/python/test/test_algorithm.py
+++ b/beat/backend/python/test/test_algorithm.py
@@ -325,6 +325,56 @@ class TestAutonomousAPI_Loading(unittest.TestCase):
 # ----------------------------------------------------------
 
 
+class TestLoopAPI_Loading(unittest.TestCase):
+    def test_load_valid_algorithm(self):
+        algorithm = Algorithm(prefix, "autonomous/loop/1")
+        self.assertEqual(algorithm.name, "autonomous/loop/1")
+        self.assertTrue(algorithm.valid)
+
+        self.assertFalse(algorithm.errors)
+        self.assertFalse(algorithm.results)  # it is not an analyzer
+        self.assertTrue(algorithm.parameters)
+        self.assertTrue(algorithm.input_map)
+        self.assertTrue(algorithm.output_map)
+        self.assertEqual(algorithm.schema_version, 3)
+        self.assertEqual(algorithm.api_version, 2)
+        self.assertEqual(algorithm.type, Algorithm.LOOP)
+
+        runnable = algorithm.runner()
+        self.assertFalse(runnable.ready)
+        self.assertTrue(
+            runnable.prepared
+        )  # loop/1 has no prepare method so is prepared
+
+
+# ----------------------------------------------------------
+
+
+class TestLoopUserAPI_Loading(unittest.TestCase):
+    def test_load_valid_algorithm(self):
+        algorithm = Algorithm(prefix, "autonomous/loop_user/1")
+        self.assertEqual(algorithm.name, "autonomous/loop_user/1")
+        self.assertTrue(algorithm.valid)
+
+        self.assertFalse(algorithm.errors)
+        self.assertFalse(algorithm.results)  # it is not an analyzer
+        self.assertFalse(algorithm.parameters)  # loop_user/1 has no parameter
+        self.assertTrue(algorithm.input_map)
+        self.assertTrue(algorithm.output_map)
+        self.assertEqual(algorithm.schema_version, 3)
+        self.assertEqual(algorithm.api_version, 2)
+        self.assertEqual(algorithm.type, Algorithm.AUTONOMOUS_LOOP_USER)
+
+        runnable = algorithm.runner()
+        self.assertTrue(runnable.ready)  # loop_user/1 has no setup method so is ready
+        self.assertTrue(
+            runnable.prepared
+        )  # loop/1 has no prepare method so is prepared
+
+
+# ----------------------------------------------------------
+
+
 class TestLegacyAPI_Setup(unittest.TestCase):
     def __init__(self, methodName="runTest"):
         super(TestLegacyAPI_Setup, self).__init__(methodName)