diff --git a/tests/e2e/batched_procedures/workloads.yaml b/tests/e2e/batched_procedures/workloads.yaml
index 3ec550770..f4a042c73 100644
--- a/tests/e2e/batched_procedures/workloads.yaml
+++ b/tests/e2e/batched_procedures/workloads.yaml
@@ -1,14 +1,32 @@
-template_cluster: &template_cluster
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "batched-procedures-e2e.log"
       setup_queries: []
       validation_queries: []
 
+disk_cluster: &disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "batched-procedures-disk-e2e.log"
+      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      validation_queries: []
+
 workloads:
   - name: "Batched procedures read"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/batched_procedures/procedures/"
     args: ["batched_procedures/simple_read.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+  - name: "Disk batched procedures read"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/batched_procedures/procedures/"
+    args: ["batched_procedures/simple_read.py"]
+    <<: *disk_cluster
diff --git a/tests/e2e/configuration/workloads.yaml b/tests/e2e/configuration/workloads.yaml
index edead4eef..7894b5ba3 100644
--- a/tests/e2e/configuration/workloads.yaml
+++ b/tests/e2e/configuration/workloads.yaml
@@ -1,25 +1,38 @@
-template_cluster: &template_cluster
+args: &args
+  - "--log-level=TRACE"
+  - "--storage-properties-on-edges=True"
+  - "--storage-snapshot-interval-sec"
+  - "300"
+  - "--storage-wal-enabled=True"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args:
-        [
-          "--log-level=TRACE",
-          "--storage-properties-on-edges=True",
-          "--storage-snapshot-interval-sec",
-          "300",
-          "--storage-wal-enabled=True",
-        ]
+      args: *args
       log_file: "configuration-check-e2e.log"
       setup_queries: []
       validation_queries: []
 
+disk_cluster: &disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "configuration-check-disk-e2e.log"
+      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      validation_queries: []
+
 workloads:
   - name: "Configuration check"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["configuration/configuration_check.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "SHOW STORAGE INFO check"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["configuration/storage_info.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
+  - name: "Disk configuration check"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["configuration/configuration_check.py"]
+    <<: *disk_cluster
diff --git a/tests/e2e/fine_grained_access/workloads.yaml b/tests/e2e/fine_grained_access/workloads.yaml
index aed6eb8bb..ad1dd43b2 100644
--- a/tests/e2e/fine_grained_access/workloads.yaml
+++ b/tests/e2e/fine_grained_access/workloads.yaml
@@ -1,135 +1,187 @@
-bolt_port: &bolt_port "7687"
-create_delete_filtering_cluster: &create_delete_filtering_cluster
-  cluster:
-    main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
-      log_file: "fine_grained_access.log"
-      setup_queries:
-        [
-          "CREATE USER admin IDENTIFIED BY 'test';",
-          "CREATE USER user IDENTIFIED BY 'test';",
-          "GRANT ALL PRIVILEGES TO admin;",
-          "GRANT DATABASE * TO admin;",
-          "GRANT ALL PRIVILEGES TO user;",
-          "GRANT DATABASE * TO user;",
-        ]
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
 
-edge_type_filtering_cluster: &edge_type_filtering_cluster
+create_delete_filtering_setup_queries: &create_delete_filtering_setup_queries
+  - "CREATE USER admin IDENTIFIED BY 'test';"
+  - "CREATE USER user IDENTIFIED BY 'test';"
+  - "GRANT ALL PRIVILEGES TO admin;"
+  - "GRANT DATABASE * TO admin;"
+  - "GRANT ALL PRIVILEGES TO user;"
+  - "GRANT DATABASE * TO user;"
+
+edge_type_filtering_setup_queries: &edge_type_filtering_setup_queries
+  - "CREATE USER admin IDENTIFIED BY 'test';"
+  - "CREATE USER user IDENTIFIED BY 'test';"
+  - "GRANT ALL PRIVILEGES TO admin;"
+  - "GRANT DATABASE * TO admin;"
+  - "GRANT ALL PRIVILEGES TO user;"
+  - "GRANT DATABASE * TO user;"
+  - "GRANT CREATE_DELETE ON LABELS * TO admin;"
+  - "GRANT CREATE_DELETE ON EDGE_TYPES * TO admin;"
+  - "MERGE (l1:label1 {name: 'test1'});"
+  - "MERGE (l2:label2  {name: 'test2'});"
+  - "MATCH (l1:label1),(l2:label2) WHERE l1.name = 'test1' AND l2.name = 'test2' CREATE (l1)-[r:edgeType1]->(l2);"
+  - "MERGE (l3:label3  {name: 'test3'});"
+  - "MATCH (l1:label1),(l3:label3) WHERE l1.name = 'test1' AND l3.name = 'test3' CREATE (l1)-[r:edgeType2]->(l3);"
+  - "MERGE (mix:label3:label1  {name: 'test4'});"
+  - "MATCH (l1:label1),(mix:label3) WHERE l1.name = 'test1' AND mix.name = 'test4' CREATE (l1)-[r:edgeType2]->(mix);"
+  - "CREATE DATABASE clean;"
+  - "USE DATABASE clean"
+  - "MATCH (n) DETACH DELETE n;"
+  - "MERGE (l1:label1 {name: 'test1'});"
+  - "MERGE (l2:label2  {name: 'test2'});"
+  - "MATCH (l1:label1),(l2:label2) WHERE l1.name = 'test1' AND l2.name = 'test2' CREATE (l1)-[r:edgeType1]->(l2);"
+  - "MERGE (l3:label3  {name: 'test3'});"
+  - "MATCH (l1:label1),(l3:label3) WHERE l1.name = 'test1' AND l3.name = 'test3' CREATE (l1)-[r:edgeType2]->(l3);"
+  - "MERGE (mix:label3:label1  {name: 'test4'});"
+  - "MATCH (l1:label1),(mix:label3) WHERE l1.name = 'test1' AND mix.name = 'test4' CREATE (l1)-[r:edgeType2]->(mix);"
+  - "USE DATABASE memgraph"
+
+path_filtering_setup_queries: &path_filtering_setup_queries
+  - "CREATE USER admin IDENTIFIED BY 'test';"
+  - "CREATE USER user IDENTIFIED BY 'test';"
+  - "GRANT ALL PRIVILEGES TO admin;"
+  - "GRANT DATABASE * TO admin;"
+  - "GRANT ALL PRIVILEGES TO user;"
+  - "GRANT DATABASE * TO user;"
+  - "MERGE (a:label0 {id: 0}) MERGE (b:label1 {id: 1}) CREATE (a)-[:edge_type_1 {weight: 6}]->(b);"
+  - "MERGE (a:label0 {id: 0}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_1 {weight: 14}]->(b);"
+  - "MERGE (a:label1 {id: 1}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_2 {weight: 1}]->(b);"
+  - "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_2 {weight: 10}]->(b);"
+  - "MERGE (a:label1 {id: 1}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 5}]->(b);"
+  - "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 7}]->(b);"
+  - "MERGE (a:label3 {id: 3}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);"
+  - "MERGE (a:label3 {id: 4}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);"
+  - "MERGE (a:label3 {id: 3}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 14}]->(b);"
+  - "MERGE (a:label3 {id: 4}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 8}]->(b);"
+  - "CREATE DATABASE clean;"
+  - "USE DATABASE clean"
+  - "MATCH (n) DETACH DELETE n;"
+  - "MERGE (a:label0 {id: 0}) MERGE (b:label1 {id: 1}) CREATE (a)-[:edge_type_1 {weight: 6}]->(b);"
+  - "MERGE (a:label0 {id: 0}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_1 {weight: 14}]->(b);"
+  - "MERGE (a:label1 {id: 1}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_2 {weight: 1}]->(b);"
+  - "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_2 {weight: 10}]->(b);"
+  - "MERGE (a:label1 {id: 1}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 5}]->(b);"
+  - "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 7}]->(b);"
+  - "MERGE (a:label3 {id: 3}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);"
+  - "MERGE (a:label3 {id: 4}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);"
+  - "MERGE (a:label3 {id: 3}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 14}]->(b);"
+  - "MERGE (a:label3 {id: 4}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 8}]->(b);"
+  - "USE DATABASE memgraph"
+
+show_databases_w_user_setup_queries: &show_databases_w_user_setup_queries
+  - "CREATE USER admin IDENTIFIED BY 'test';"
+  - "CREATE USER user IDENTIFIED BY 'test';"
+  - "CREATE USER user2 IDENTIFIED BY 'test';"
+  - "CREATE USER user3 IDENTIFIED BY 'test';"
+  - "CREATE DATABASE db1;"
+  - "CREATE DATABASE db2;"
+  - "GRANT ALL PRIVILEGES TO admin;"
+  - "GRANT DATABASE * TO admin;"
+  - "GRANT ALL PRIVILEGES TO user;"
+  - "GRANT DATABASE db1 TO user;"
+  - "GRANT ALL PRIVILEGES TO user2;"
+  - "GRANT DATABASE db2 TO user2;"
+  - "REVOKE DATABASE memgraph FROM user2;"
+  - "SET MAIN DATABASE db2 FOR user2"
+  - "GRANT ALL PRIVILEGES TO user3;"
+  - "GRANT DATABASE * TO user3;"
+  - "REVOKE DATABASE memgraph FROM user3;"
+  - "SET MAIN DATABASE db1 FOR user3"
+
+create_delete_filtering_in_memory_cluster: &create_delete_filtering_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "fine_grained_access.log"
-      setup_queries:
-        [
-          "CREATE USER admin IDENTIFIED BY 'test';",
-          "CREATE USER user IDENTIFIED BY 'test';",
-          "GRANT ALL PRIVILEGES TO admin;",
-          "GRANT DATABASE * TO admin;",
-          "GRANT ALL PRIVILEGES TO user;",
-          "GRANT DATABASE * TO user;",
-          "GRANT CREATE_DELETE ON LABELS * TO admin;",
-          "GRANT CREATE_DELETE ON EDGE_TYPES * TO admin;",
-          "MERGE (l1:label1 {name: 'test1'});",
-          "MERGE (l2:label2  {name: 'test2'});",
-          "MATCH (l1:label1),(l2:label2) WHERE l1.name = 'test1' AND l2.name = 'test2' CREATE (l1)-[r:edgeType1]->(l2);",
-          "MERGE (l3:label3  {name: 'test3'});",
-          "MATCH (l1:label1),(l3:label3) WHERE l1.name = 'test1' AND l3.name = 'test3' CREATE (l1)-[r:edgeType2]->(l3);",
-          "MERGE (mix:label3:label1  {name: 'test4'});",
-          "MATCH (l1:label1),(mix:label3) WHERE l1.name = 'test1' AND mix.name = 'test4' CREATE (l1)-[r:edgeType2]->(mix);",
-          "CREATE DATABASE clean;",
-          "USE DATABASE clean",
-          "MATCH (n) DETACH DELETE n;",
-          "MERGE (l1:label1 {name: 'test1'});",
-          "MERGE (l2:label2  {name: 'test2'});",
-          "MATCH (l1:label1),(l2:label2) WHERE l1.name = 'test1' AND l2.name = 'test2' CREATE (l1)-[r:edgeType1]->(l2);",
-          "MERGE (l3:label3  {name: 'test3'});",
-          "MATCH (l1:label1),(l3:label3) WHERE l1.name = 'test1' AND l3.name = 'test3' CREATE (l1)-[r:edgeType2]->(l3);",
-          "MERGE (mix:label3:label1  {name: 'test4'});",
-          "MATCH (l1:label1),(mix:label3) WHERE l1.name = 'test1' AND mix.name = 'test4' CREATE (l1)-[r:edgeType2]->(mix);",
-          "USE DATABASE memgraph",
-        ]
+      setup_queries: *create_delete_filtering_setup_queries
       validation_queries: []
 
-path_filtering_cluster: &path_filtering_cluster
+create_delete_filtering_disk_cluster: &create_delete_filtering_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
-      log_file: "fine_grained_access.log"
+      args: *args
+      log_file: "disk_fine_grained_access.log"
       setup_queries:
-        [
-          "CREATE USER admin IDENTIFIED BY 'test';",
-          "CREATE USER user IDENTIFIED BY 'test';",
-          "GRANT ALL PRIVILEGES TO admin;",
-          "GRANT DATABASE * TO admin;",
-          "GRANT ALL PRIVILEGES TO user;",
-          "GRANT DATABASE * TO user;",
-          "MERGE (a:label0 {id: 0}) MERGE (b:label1 {id: 1}) CREATE (a)-[:edge_type_1 {weight: 6}]->(b);",
-          "MERGE (a:label0 {id: 0}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_1 {weight: 14}]->(b);",
-          "MERGE (a:label1 {id: 1}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_2 {weight: 1}]->(b);",
-          "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_2 {weight: 10}]->(b);",
-          "MERGE (a:label1 {id: 1}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 5}]->(b);",
-          "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 7}]->(b);",
-          "MERGE (a:label3 {id: 3}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);",
-          "MERGE (a:label3 {id: 4}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);",
-          "MERGE (a:label3 {id: 3}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 14}]->(b);",
-          "MERGE (a:label3 {id: 4}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 8}]->(b);",
-          "CREATE DATABASE clean;",
-          "USE DATABASE clean",
-          "MATCH (n) DETACH DELETE n;",
-          "MERGE (a:label0 {id: 0}) MERGE (b:label1 {id: 1}) CREATE (a)-[:edge_type_1 {weight: 6}]->(b);",
-          "MERGE (a:label0 {id: 0}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_1 {weight: 14}]->(b);",
-          "MERGE (a:label1 {id: 1}) MERGE (b:label2 {id: 2}) CREATE (a)-[:edge_type_2 {weight: 1}]->(b);",
-          "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_2 {weight: 10}]->(b);",
-          "MERGE (a:label1 {id: 1}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 5}]->(b);",
-          "MERGE (a:label2 {id: 2}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_3 {weight: 7}]->(b);",
-          "MERGE (a:label3 {id: 3}) MERGE (b:label3 {id: 4}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);",
-          "MERGE (a:label3 {id: 4}) MERGE (b:label3 {id: 3}) CREATE (a)-[:edge_type_4 {weight: 1}]->(b);",
-          "MERGE (a:label3 {id: 3}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 14}]->(b);",
-          "MERGE (a:label3 {id: 4}) MERGE (b:label4 {id: 5}) CREATE (a)-[:edge_type_4 {weight: 8}]->(b);",
-          "USE DATABASE memgraph",
-        ]
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *create_delete_filtering_setup_queries
+      validation_queries: []
+
+edge_type_filtering_in_memory_cluster: &edge_type_filtering_in_memory_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "fine_grained_access.log"
+      setup_queries: *edge_type_filtering_setup_queries
+      validation_queries: []
+
+edge_type_filtering_disk_cluster: &edge_type_filtering_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "disk_fine_grained_access.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *edge_type_filtering_setup_queries
+      validation_queries: []
+
+path_filtering_in_memory_cluster: &path_filtering_in_memory_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "fine_grained_access.log"
+      setup_queries: *path_filtering_setup_queries
+
+path_filtering_disk_cluster: &path_filtering_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "disk_fine_grained_access.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *path_filtering_setup_queries
 
 show_databases_w_user: &show_databases_w_user
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "fine_grained_access.log"
-      setup_queries:
-        [
-          "CREATE USER admin IDENTIFIED BY 'test';",
-          "CREATE USER user IDENTIFIED BY 'test';",
-          "CREATE USER user2 IDENTIFIED BY 'test';",
-          "CREATE USER user3 IDENTIFIED BY 'test';",
-          "CREATE DATABASE db1;",
-          "CREATE DATABASE db2;",
-          "GRANT ALL PRIVILEGES TO admin;",
-          "GRANT DATABASE * TO admin;",
-          "GRANT ALL PRIVILEGES TO user;",
-          "GRANT DATABASE db1 TO user;",
-          "GRANT ALL PRIVILEGES TO user2;",
-          "GRANT DATABASE db2 TO user2;",
-          "REVOKE DATABASE memgraph FROM user2;",
-          "SET MAIN DATABASE db2 FOR user2",
-          "GRANT ALL PRIVILEGES TO user3;",
-          "GRANT DATABASE * TO user3;",
-          "REVOKE DATABASE memgraph FROM user3;",
-          "SET MAIN DATABASE db1 FOR user3",
-        ]
+      setup_queries: *show_databases_w_user_setup_queries
 
 workloads:
   - name: "Create delete filtering"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["fine_grained_access/create_delete_filtering_tests.py"]
-    <<: *create_delete_filtering_cluster
+    <<: *create_delete_filtering_in_memory_cluster
+
+  - name: "Create delete filtering on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["fine_grained_access/create_delete_filtering_tests.py"]
+    <<: *create_delete_filtering_disk_cluster
+
   - name: "EdgeType filtering"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["fine_grained_access/edge_type_filtering_tests.py"]
-    <<: *edge_type_filtering_cluster
+    <<: *edge_type_filtering_in_memory_cluster
+
+  - name: "EdgeType filtering on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["fine_grained_access/edge_type_filtering_tests.py"]
+    <<: *edge_type_filtering_disk_cluster
+
   - name: "Path filtering"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["fine_grained_access/path_filtering_tests.py"]
-    <<: *path_filtering_cluster
+    <<: *path_filtering_in_memory_cluster
+
   - name: "Show databases with users"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["fine_grained_access/show_db.py"]
     <<: *show_databases_w_user
+
+  - name: "Path filtering on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["fine_grained_access/path_filtering_tests.py"]
+    <<: *path_filtering_disk_cluster
diff --git a/tests/e2e/init_file_flags/workloads.yaml b/tests/e2e/init_file_flags/workloads.yaml
index 85ae169fa..35ac28c1a 100644
--- a/tests/e2e/init_file_flags/workloads.yaml
+++ b/tests/e2e/init_file_flags/workloads.yaml
@@ -1,22 +1,26 @@
-init_file_cluster: &init_file_cluster
+init_file_args: &init_file_args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+  - "--init-file=init_file_flags/init_file.cypherl"
+
+init_data_file_args: &init_data_file_args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+  - "--init-data-file=init_file_flags/init_file.cypherl"
+
+init_file_in_memory_cluster: &init_file_in_memory_cluster
   cluster:
     main:
-      args: [
-        "--bolt-port", "7687",
-        "--log-level=TRACE",
-        "--init-file=init_file_flags/init_file.cypherl"
-      ]
+      args: *init_file_args
       log_file: "init-file-flags-e2e.log"
       validation_queries: []
 
-init_data_file_cluster: &init_data_file_cluster
+init_data_file_in_memory_cluster: &init_data_file_in_memory_cluster
   cluster:
     main:
-      args: [
-        "--bolt-port", "7687",
-        "--log-level=TRACE",
-        "--init-data-file=init_file_flags/init_file.cypherl"
-      ]
+      args: *init_data_file_args
       log_file: "init-data-file-flags-e2e.log"
       validation_queries: []
 
@@ -24,9 +28,9 @@ workloads:
   - name: "Init file flags"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["init_file_flags/init_file_setup.py"]
-    <<: *init_file_cluster
+    <<: *init_file_in_memory_cluster
 
   - name: "Init data file flags"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["init_file_flags/init_data_file_setup.py"]
-    <<: *init_data_file_cluster
+    <<: *init_data_file_in_memory_cluster
diff --git a/tests/e2e/isolation_levels/workloads.yaml b/tests/e2e/isolation_levels/workloads.yaml
index cca4693ab..b1d04a9ff 100644
--- a/tests/e2e/isolation_levels/workloads.yaml
+++ b/tests/e2e/isolation_levels/workloads.yaml
@@ -1,24 +1,31 @@
 bolt_port: &bolt_port "7687"
-template_cluster: &template_cluster
+
+args: &args
+  - "--bolt-port"
+  - *bolt_port
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "isolation-levels-e2e.log"
       setup_queries: []
       validation_queries: []
+
 disk_cluster: &disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "isolation-levels-disk-e2e.log"
-      setup_queries: ["storage mode on_disk_transactional"]
+      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
       validation_queries: []
 
 workloads:
   - name: "Isolation levels"
     binary: "tests/e2e/isolation_levels/memgraph__e2e__isolation_levels"
     args: ["--bolt-port", *bolt_port]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Isolation levels for disk storage"
     binary: "tests/e2e/isolation_levels/memgraph__e2e__isolation_levels"
diff --git a/tests/e2e/lba_procedures/workloads.yaml b/tests/e2e/lba_procedures/workloads.yaml
index d7de0de2a..c6dce9ac3 100644
--- a/tests/e2e/lba_procedures/workloads.yaml
+++ b/tests/e2e/lba_procedures/workloads.yaml
@@ -1,108 +1,152 @@
-read_query_modules_cluster: &read_query_modules_cluster
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+
+query_modules_setup_queries: &query_modules_setup_queries
+  - "CREATE USER admin IDENTIFIED BY 'test';"
+  - "GRANT ALL PRIVILEGES TO admin"
+  - "GRANT DATABASE * TO admin"
+  - "CREATE USER user IDENTIFIED BY 'test';"
+  - "GRANT ALL PRIVILEGES TO user"
+  - "GRANT DATABASE * TO user"
+
+show_privileges_setup_queries: &show_privileges_setup_queries
+  - "Create User Josip;"
+  - "Grant Read On Labels :Label1 to Josip;"
+  - "Grant Nothing On Labels :Label2 to Josip;"
+  - "Grant Update On Labels :Label3 to Josip;"
+  - "Grant Read On Labels :Label4 to Josip;"
+  - "Grant Create_Delete On Labels :Label5 to Josip;"
+  - "Grant Update On Labels :Label6 to Josip;"
+  - "Grant Create_Delete On Labels :Label7 to Josip;"
+  - "Grant Nothing On Labels :Label7 to Josip;"
+  - "Create User Boris;"
+  - "Grant Auth to Boris;"
+  - "Grant Read On Labels :Label1 to Boris;"
+  - "Grant Nothing On Labels :Label2 to Boris;"
+  - "Grant Update On Labels :Label3 to Boris;"
+  - "Grant Read On Labels :Label4 to Boris;"
+  - "Grant Create_Delete On Labels :Label5 to Boris;"
+  - "Grant Update On Labels :Label6 to Boris;"
+  - "Grant Create_Delete On Labels :Label7 to Boris;"
+  - "Grant Nothing On Labels :Label7 to Boris;"
+  - "Create User Niko;"
+  - "Grant Auth to Niko;"
+  - "Grant Create_Delete On Labels * to Niko;"
+  - "Grant Read On Labels * to Niko;"
+  - "Create User Bruno;"
+  - "Grant Auth to Bruno;"
+  - "Grant Update On Labels * to Bruno;"
+
+
+read_query_modules_in_memory_cluster: &read_query_modules_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "lba-e2e.log"
-      setup_queries:
-        - "CREATE USER admin IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO admin"
-        - "GRANT DATABASE * TO admin"
-        - "CREATE USER user IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO user"
-        - "GRANT DATABASE * TO user"
+      setup_queries: *query_modules_setup_queries
       validation_queries: []
 
-update_query_modules_cluster: &update_query_modules_cluster
+read_query_modules_disk_cluster: &read_query_modules_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
-      log_file: "lba-e2e.log"
+      args: *args
+      log_file: "disk-lba-e2e.log"
       setup_queries:
-        - "CREATE USER admin IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO admin"
-        - "GRANT DATABASE * TO admin"
-        - "CREATE USER user IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO user"
-        - "GRANT DATABASE * TO user"
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *query_modules_setup_queries
       validation_queries: []
 
-show_privileges_cluster: &show_privileges_cluster
+update_query_modules_in_memory_cluster: &update_query_modules_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "lba-e2e.log"
-      setup_queries:
-        - "Create User Josip;"
-        - "Grant Read On Labels :Label1 to Josip;"
-        - "Grant Nothing On Labels :Label2 to Josip;"
-        - "Grant Update On Labels :Label3 to Josip;"
-        - "Grant Read On Labels :Label4 to Josip;"
-        - "Grant Create_Delete On Labels :Label5 to Josip;"
-        - "Grant Update On Labels :Label6 to Josip;"
-        - "Grant Create_Delete On Labels :Label7 to Josip;"
-        - "Grant Nothing On Labels :Label7 to Josip;"
-
-        - "Create User Boris;"
-        - "Grant Auth to Boris;"
-        - "Grant Read On Labels :Label1 to Boris;"
-        - "Grant Nothing On Labels :Label2 to Boris;"
-        - "Grant Update On Labels :Label3 to Boris;"
-        - "Grant Read On Labels :Label4 to Boris;"
-        - "Grant Create_Delete On Labels :Label5 to Boris;"
-        - "Grant Update On Labels :Label6 to Boris;"
-        - "Grant Create_Delete On Labels :Label7 to Boris;"
-        - "Grant Nothing On Labels :Label7 to Boris;"
-
-        - "Create User Niko;"
-        - "Grant Auth to Niko;"
-        - "Grant Create_Delete On Labels * to Niko"
-        - "Grant Read On Labels * to Niko"
-
-        - "Create User Bruno;"
-        - "Grant Auth to Bruno;"
-        - "Grant Update On Labels * to Bruno"
+      setup_queries: *query_modules_setup_queries
       validation_queries: []
 
-read_permission_queries: &read_permission_queries
+update_query_modules_disk_cluster: &update_query_modules_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
-      log_file: "lba-e2e.log"
+      args: *args
+      log_file: "disk-lba-e2e.log"
       setup_queries:
-        - "CREATE USER admin IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO admin"
-        - "GRANT DATABASE * TO admin"
-        - "CREATE USER user IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO user"
-        - "GRANT DATABASE * TO user"
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *query_modules_setup_queries
       validation_queries: []
 
-create_delete_query_modules_cluster: &create_delete_query_modules_cluster
+show_privileges_in_memory_cluster: &show_privileges_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "lba-e2e.log"
-      setup_queries:
-        - "CREATE USER admin IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO admin;"
-        - "GRANT DATABASE * TO admin"
-        - "CREATE USER user IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO user;"
-        - "GRANT DATABASE * TO user"
+      setup_queries: *show_privileges_setup_queries
       validation_queries: []
 
-update_permission_queries_cluster: &update_permission_queries_cluster
+show_privileges_disk_cluster: &show_privileges_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
-      log_file: "lba-e2e.log"
+      args: *args
+      log_file: "disk-lba-e2e.log"
       setup_queries:
-        - "CREATE USER admin IDENTIFIED BY 'test';"
-        - "GRANT ALL PRIVILEGES TO admin;"
-        - "GRANT DATABASE * TO admin"
-        - "CREATE USER user IDENTIFIED BY 'test'"
-        - "GRANT ALL PRIVILEGES TO user;"
-        - "GRANT DATABASE * TO user"
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *show_privileges_setup_queries
+      validation_queries: []
+
+read_permission_in_memory_queries: &read_permission_in_memory_queries
+  cluster:
+    main:
+      args: *args
+      log_file: "lba-e2e.log"
+      setup_queries: *query_modules_setup_queries
+      validation_queries: []
+
+read_permission_disk_queries: &read_permission_disk_queries
+  cluster:
+    main:
+      args: *args
+      log_file: "disk-lba-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *query_modules_setup_queries
+      validation_queries: []
+
+
+create_delete_query_modules_in_memory_cluster: &create_delete_query_modules_in_memory_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "lba-e2e.log"
+      setup_queries: *query_modules_setup_queries
+      validation_queries: []
+
+create_delete_query_modules_disk_cluster: &create_delete_query_modules_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "disk-lba-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *query_modules_setup_queries
+      validation_queries: []
+
+update_permission_queries_in_memory_cluster: &update_permission_queries_in_memory_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "lba-e2e.log"
+      setup_queries: *query_modules_setup_queries
+      validation_queries: []
+
+update_permission_queries_disk_cluster: &update_permission_queries_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "disk-lba-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *query_modules_setup_queries
       validation_queries: []
 
 workloads:
@@ -110,34 +154,70 @@ workloads:
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/read_query_modules.py"]
-    <<: *read_query_modules_cluster
+    <<: *read_query_modules_in_memory_cluster
+
+  - name: "read-query-modules on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/read_query_modules.py"]
+    <<: *read_query_modules_disk_cluster
 
   - name: "update-query-modules"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/update_query_modules.py"]
-    <<: *update_query_modules_cluster
+    <<: *update_query_modules_in_memory_cluster
+
+  - name: "update-query-modules on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/update_query_modules.py"]
+    <<: *update_query_modules_disk_cluster
 
   - name: "create-delete-query-modules"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/create_delete_query_modules.py"]
-    <<: *create_delete_query_modules_cluster
+    <<: *create_delete_query_modules_in_memory_cluster
+
+  - name: "create-delete-query-modules on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/create_delete_query_modules.py"]
+    <<: *create_delete_query_modules_disk_cluster
 
   - name: "show-privileges"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/show_privileges.py"]
-    <<: *show_privileges_cluster
+    <<: *show_privileges_in_memory_cluster
+
+  - name: "show-privileges on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/show_privileges.py"]
+    <<: *show_privileges_disk_cluster
 
   - name: "read-permission-queries"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/read_permission_queries.py"]
-    <<: *read_permission_queries
+    <<: *read_permission_in_memory_queries
+
+  - name: "read-permission-queries on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/read_permission_queries.py"]
+    <<: *read_permission_disk_queries
 
   - name: "update-permission-queries"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/lba_procedures/procedures/"
     args: ["lba_procedures/update_permission_queries.py"]
-    <<: *update_permission_queries_cluster
+    <<: *update_permission_queries_in_memory_cluster
+
+  - name: "update-permission-queries on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/lba_procedures/procedures/"
+    args: ["lba_procedures/update_permission_queries.py"]
+    <<: *update_permission_queries_disk_cluster
diff --git a/tests/e2e/load_csv/workloads.yaml b/tests/e2e/load_csv/workloads.yaml
index d07609699..15e615538 100644
--- a/tests/e2e/load_csv/workloads.yaml
+++ b/tests/e2e/load_csv/workloads.yaml
@@ -1,16 +1,42 @@
-nullif_cluster: &nullif_cluster
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+
+nullif_in_memory_cluster: &nullif_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "load_csv_log_file.txt"
+      setup_queries: []
       validation_queries: []
 
-load_csv_cluster: &load_csv_cluster
+nullif_disk_cluster: &nullif_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "load_csv_log_file.txt"
       setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+      validation_queries: []
+
+load_csv_in_memory_cluster: &load_csv_in_memory_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "load_csv_log_file.txt"
+      setup_queries:
+        - "CREATE (n {prop: 1});"
+        - "CREATE (n {prop: 2});"
+      validation_queries: []
+
+load_csv_disk_cluster: &load_csv_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "load_csv_log_file.txt"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
         - "CREATE (n {prop: 1});"
         - "CREATE (n {prop: 2});"
       validation_queries: []
@@ -19,8 +45,19 @@ workloads:
   - name: "LOAD CSV nullif"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["load_csv/load_csv_nullif.py"]
-    <<: *nullif_cluster
+    <<: *nullif_in_memory_cluster
+
+  - name: "LOAD CSV nullif on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["load_csv/load_csv_nullif.py"]
+    <<: *nullif_disk_cluster
+
   - name: "MATCH + LOAD CSV"
     binary: "tests/e2e/pytest_runner.sh"
     args: ["load_csv/load_csv.py"]
-    <<: *load_csv_cluster
+    <<: *load_csv_in_memory_cluster
+
+  - name: "MATCH + LOAD CSV on disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    args: ["load_csv/load_csv.py"]
+    <<: *load_csv_disk_cluster
diff --git a/tests/e2e/magic_functions/workloads.yaml b/tests/e2e/magic_functions/workloads.yaml
index a2346b373..36c7b9cc2 100644
--- a/tests/e2e/magic_functions/workloads.yaml
+++ b/tests/e2e/magic_functions/workloads.yaml
@@ -1,14 +1,20 @@
-template_cluster: &template_cluster
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "magic-functions-e2e.log"
       setup_queries: []
       validation_queries: []
+
 disk_cluster: &disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "magic-functions-e2e.log"
       setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
       validation_queries: []
@@ -18,7 +24,7 @@ workloads:
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/magic_functions/functions/"
     args: ["magic_functions/function_example.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Magic functions runner for disk storage"
     binary: "tests/e2e/pytest_runner.sh"
diff --git a/tests/e2e/memgraph.py b/tests/e2e/memgraph.py
index 2c7546292..dff0f1d49 100755
--- a/tests/e2e/memgraph.py
+++ b/tests/e2e/memgraph.py
@@ -70,8 +70,12 @@ class MemgraphInstanceRunner:
         conn = mgclient.connect(host=self.host, port=self.bolt_port, sslmode=self.ssl)
         conn.autocommit = True
         cursor = conn.cursor()
-        for query in setup_queries:
-            cursor.execute(query)
+        for query_coll in setup_queries:
+            if isinstance(query_coll, str):
+                cursor.execute(query_coll)
+            elif isinstance(query_coll, list):
+                for query in query_coll:
+                    cursor.execute(query)
         cursor.close()
         conn.close()
 
diff --git a/tests/e2e/memory/workloads.yaml b/tests/e2e/memory/workloads.yaml
index 64e45979d..667613114 100644
--- a/tests/e2e/memory/workloads.yaml
+++ b/tests/e2e/memory/workloads.yaml
@@ -1,17 +1,26 @@
 bolt_port: &bolt_port "7687"
-template_cluster: &template_cluster
+args: &args
+  - "--bolt-port"
+  - *bolt_port
+  - "--memory-limit=1000"
+  - "--storage-gc-cycle-sec=180"
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--memory-limit=1000", "--storage-gc-cycle-sec=180", "--log-level=TRACE"]
+      args: *args
       log_file: "memory-e2e.log"
       setup_queries: []
       validation_queries: []
+
 disk_cluster: &disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--memory-limit=1000", "--storage-gc-cycle-sec=180", "--log-level=TRACE"]
+      args: *args
       log_file: "memory-e2e.log"
-      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
 
 
@@ -19,33 +28,45 @@ workloads:
   - name: "Memory control"
     binary: "tests/e2e/memory/memgraph__e2e__memory__control"
     args: ["--bolt-port", *bolt_port, "--timeout", "180"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Memory control multi database"
     binary: "tests/e2e/memory/memgraph__e2e__memory__control"
     args: ["--bolt-port", *bolt_port, "--timeout", "180", "--multi-db", "true"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Memory limit for modules upon loading"
     binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc"
     args: ["--bolt-port", *bolt_port, "--timeout", "180"]
     proc: "tests/e2e/memory/procedures/"
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Memory limit for modules upon loading multi database"
     binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc"
     args: ["--bolt-port", *bolt_port, "--timeout", "180", "--multi-db", "true"]
     proc: "tests/e2e/memory/procedures/"
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Memory limit for modules inside a procedure"
     binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc_proc"
     args: ["--bolt-port", *bolt_port, "--timeout", "180"]
     proc: "tests/e2e/memory/procedures/"
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Memory limit for modules inside a procedure multi database"
     binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc_proc"
     args: ["--bolt-port", *bolt_port, "--timeout", "180", "--multi-db", "true"]
     proc: "tests/e2e/memory/procedures/"
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
+  - name: "Memory limit for modules upon loading for on-disk storage"
+    binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc"
+    args: ["--bolt-port", *bolt_port, "--timeout", "180"]
+    proc: "tests/e2e/memory/procedures/"
+    <<: *disk_cluster
+
+  - name: "Memory limit for modules inside a procedure for on-disk storage"
+    binary: "tests/e2e/memory/memgraph__e2e__memory__limit_global_alloc_proc"
+    args: ["--bolt-port", *bolt_port, "--timeout", "180"]
+    proc: "tests/e2e/memory/procedures/"
+    <<: *disk_cluster
diff --git a/tests/e2e/mock_api/workloads.yaml b/tests/e2e/mock_api/workloads.yaml
index f4b638a11..a3e0d8bb0 100644
--- a/tests/e2e/mock_api/workloads.yaml
+++ b/tests/e2e/mock_api/workloads.yaml
@@ -1,166 +1,108 @@
-compare_mock: &compare_mock
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+  - "--also-log-to-stderr"
+
+mock_setup_queries: &mock_setup_queries
+  - "CREATE INDEX ON :__mg_vertex__(__mg_id__);"
+  - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 0, `name`: 'Peter', `surname`: 'Yang'});"
+  - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 1, `name`: 'Engineering'});"
+  - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 2, `name`: 'Memgraph'});"
+  - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 3, `name`: 'MAGE'});"
+  - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 4, `name`: 'GQLAlchemy'});"
+  - "CREATE (:__mg_vertex__:`Company`:`Startup` {__mg_id__: 5, `name`: 'Memgraph'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 6, `name`: 'welcome_to_engineering.txt'});"
+  - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 7, `name`: 'Google Drive'});"
+  - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 8, `name`: 'Notion'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 9, `name`: 'welcome_to_memgraph.txt'});"
+  - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 10, `name`: 'Carl'});"
+  - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 11, `name`: 'engineering_folder'});"
+  - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 12, `name`: 'Anna'});"
+  - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 13, `name`: 'operations_folder'});"
+  - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 14, `name`: 'Operations'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 15, `name`: 'operations101.txt'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 16, `name`: 'expenses2022.csv'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 17, `name`: 'salaries2022.csv'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 18, `name`: 'engineering101.txt'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 19, `name`: 'working_with_github.txt'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 20, `name`: 'working_with_notion.txt'});"
+  - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 21, `name`: 'Marketing'});"
+  - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 22, `name`: 'Julie'});"
+  - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 23, `name`: 'Facebook'});"
+  - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 24, `name`: 'LinkedIn'});"
+  - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 25, `name`: 'HackerNews'});"
+  - "CREATE (:__mg_vertex__:`File` {__mg_id__: 26, `name`: 'welcome_to_marketing.txt'});"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 0}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 1}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 2}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 3}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 2 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 4}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 3 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 5}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 4 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 6}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 6 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 7}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 11 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 8}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 9}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 21 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 10}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 14 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 11}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 12}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 13}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 9 AND v.__mg_id__ = 12 CREATE (u)-[:`CREATED_BY` {`permanent_id`: 14}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 15}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 16}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 17}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 7 CREATE(u)-[:`IS_STORED_IN` {`permanent_id`: 18}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 18 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 19}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 19 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 20}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 20 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 21}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 12 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 22}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 15 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 23}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 16 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 24}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 17 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 25}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 26}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 14 AND v.__mg_id__ = 13 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 27}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 23 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 28}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 24 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 29}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 25 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 30}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 26 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 31}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 21 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 32}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 33}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 34}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 35}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 36}]->(v);"
+  - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM_2` {`importance`: 'HIGH', `permanent_id`: 37}]->(v);"
+  - "DROP INDEX ON :__mg_vertex__(__mg_id__);"
+  - "MATCH (u) SET u.permanent_id = u.__mg_id__;"
+  - "MATCH (u) REMOVE u:__mg_vertex__, u.__mg_id__;"
+
+
+compare_mock_in_memory_cluster: &compare_mock_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE", "--also-log-to-stderr"]
+      args: *args
       log_file: "test-compare-mock-e2e.log"
-      setup_queries:
-        - "CREATE INDEX ON :__mg_vertex__(__mg_id__);"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 0, `name`: 'Peter', `surname`: 'Yang'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 1, `name`: 'Engineering'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 2, `name`: 'Memgraph'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 3, `name`: 'MAGE'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 4, `name`: 'GQLAlchemy'});"
-        - "CREATE (:__mg_vertex__:`Company`:`Startup` {__mg_id__: 5, `name`: 'Memgraph'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 6, `name`: 'welcome_to_engineering.txt'});"
-        - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 7, `name`: 'Google Drive'});"
-        - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 8, `name`: 'Notion'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 9, `name`: 'welcome_to_memgraph.txt'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 10, `name`: 'Carl'});"
-        - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 11, `name`: 'engineering_folder'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 12, `name`: 'Anna'});"
-        - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 13, `name`: 'operations_folder'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 14, `name`: 'Operations'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 15, `name`: 'operations101.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 16, `name`: 'expenses2022.csv'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 17, `name`: 'salaries2022.csv'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 18, `name`: 'engineering101.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 19, `name`: 'working_with_github.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 20, `name`: 'working_with_notion.txt'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 21, `name`: 'Marketing'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 22, `name`: 'Julie'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 23, `name`: 'Facebook'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 24, `name`: 'LinkedIn'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 25, `name`: 'HackerNews'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 26, `name`: 'welcome_to_marketing.txt'});"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 0}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 1}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 2}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 3}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 2 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 4}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 3 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 5}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 4 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 6}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 6 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 7}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 11 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 8}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 9}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 21 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 10}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 14 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 11}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 12}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 13}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 9 AND v.__mg_id__ = 12 CREATE (u)-[:`CREATED_BY` {`permanent_id`: 14}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 15}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 16}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 17}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 7 CREATE(u)-[:`IS_STORED_IN` {`permanent_id`: 18}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 18 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 19}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 19 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 20}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 20 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 21}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 12 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 22}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 15 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 23}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 16 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 24}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 17 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 25}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 26}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 14 AND v.__mg_id__ = 13 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 27}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 23 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 28}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 24 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 29}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 25 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 30}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 26 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 31}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 21 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 32}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 33}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 34}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 35}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 36}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM_2` {`importance`: 'HIGH', `permanent_id`: 37}]->(v);"
-        - "DROP INDEX ON :__mg_vertex__(__mg_id__);"
-        - "MATCH (u) SET u.permanent_id = u.__mg_id__;"
-        - "MATCH (u) REMOVE u:__mg_vertex__, u.__mg_id__;"
+      setup_queries: *mock_setup_queries
       validation_queries: []
-disk_cluster: &disk_cluster
+
+compare_mock_disk_cluster: &compare_mock_disk_cluster
   cluster:
     main:
       args: ["--bolt-port", "7687", "--log-level=TRACE", "--also-log-to-stderr"]
       log_file: "test-compare-mock-e2e.log"
       setup_queries:
-        - "STORAGE MODE ON_DISK_TRANSACTIONAL;"
-        - "CREATE INDEX ON :__mg_vertex__(__mg_id__);"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 0, `name`: 'Peter', `surname`: 'Yang'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 1, `name`: 'Engineering'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 2, `name`: 'Memgraph'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 3, `name`: 'MAGE'});"
-        - "CREATE (:__mg_vertex__:`Repository` {__mg_id__: 4, `name`: 'GQLAlchemy'});"
-        - "CREATE (:__mg_vertex__:`Company`:`Startup` {__mg_id__: 5, `name`: 'Memgraph'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 6, `name`: 'welcome_to_engineering.txt'});"
-        - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 7, `name`: 'Google Drive'});"
-        - "CREATE (:__mg_vertex__:`Storage` {__mg_id__: 8, `name`: 'Notion'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 9, `name`: 'welcome_to_memgraph.txt'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 10, `name`: 'Carl'});"
-        - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 11, `name`: 'engineering_folder'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 12, `name`: 'Anna'});"
-        - "CREATE (:__mg_vertex__:`Folder` {__mg_id__: 13, `name`: 'operations_folder'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 14, `name`: 'Operations'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 15, `name`: 'operations101.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 16, `name`: 'expenses2022.csv'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 17, `name`: 'salaries2022.csv'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 18, `name`: 'engineering101.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 19, `name`: 'working_with_github.txt'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 20, `name`: 'working_with_notion.txt'});"
-        - "CREATE (:__mg_vertex__:`Team` {__mg_id__: 21, `name`: 'Marketing'});"
-        - "CREATE (:__mg_vertex__:`Person` {__mg_id__: 22, `name`: 'Julie'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 23, `name`: 'Facebook'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 24, `name`: 'LinkedIn'});"
-        - "CREATE (:__mg_vertex__:`Account` {__mg_id__: 25, `name`: 'HackerNews'});"
-        - "CREATE (:__mg_vertex__:`File` {__mg_id__: 26, `name`: 'welcome_to_marketing.txt'});"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 0}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 1}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 2}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 0 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 3}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 2 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 4}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 3 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 5}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 4 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 6}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 6 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 7}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 1 AND v.__mg_id__ = 11 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 8}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 9}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 21 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 10}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 14 CREATE (u)-[:`HAS_TEAM` {`permanent_id`: 11}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 12}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 6 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 13}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 9 AND v.__mg_id__ = 12 CREATE (u)-[:`CREATED_BY` {`permanent_id`: 14}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 1 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 15}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 16}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 10 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 17}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 7 CREATE(u)-[:`IS_STORED_IN` {`permanent_id`: 18}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 18 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 19}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 19 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 20}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 11 AND v.__mg_id__ = 20 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 21}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 12 AND v.__mg_id__ = 14 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 22}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 15 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 23}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 16 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 24}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 17 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 25}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 13 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 26}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 14 AND v.__mg_id__ = 13 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 27}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 23 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 28}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 24 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 29}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 25 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 30}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 21 AND v.__mg_id__ = 26 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 31}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 21 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 32}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 5 CREATE (u)-[:`IS_PART_OF` {`permanent_id`: 33}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 22 AND v.__mg_id__ = 9 CREATE (u)-[:`HAS_ACCESS_TO` {`permanent_id`: 34}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 7 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 35}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 26 AND v.__mg_id__ = 8 CREATE (u)-[:`IS_STORED_IN` {`permanent_id`: 36}]->(v);"
-        - "MATCH (u:__mg_vertex__), (v:__mg_vertex__) WHERE u.__mg_id__ = 5 AND v.__mg_id__ = 1 CREATE (u)-[:`HAS_TEAM_2` {`importance`: 'HIGH', `permanent_id`: 37}]->(v);"
-        - "DROP INDEX ON :__mg_vertex__(__mg_id__);"
-        - "MATCH (u) SET u.permanent_id = u.__mg_id__;"
-        - "MATCH (u) REMOVE u:__mg_vertex__, u.__mg_id__;"
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+        - *mock_setup_queries
       validation_queries: []
 
 workloads:
-  - name: "test-compare-mock on disk" # should be the same as the python file
+  - name: "test-compare-mock"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/mock_api/procedures/"
     args: ["mock_api/test_compare_mock.py"]
-    <<: *disk_cluster
+    <<: *compare_mock_in_memory_cluster
 
-  - name: "test-compare-mock" # should be the same as the python file
+  - name: "test-compare-mock on disk"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/mock_api/procedures/"
     args: ["mock_api/test_compare_mock.py"]
-    <<: *compare_mock
+    <<: *compare_mock_disk_cluster
diff --git a/tests/e2e/module_file_manager/workloads.yaml b/tests/e2e/module_file_manager/workloads.yaml
index b40242e21..f34de0fea 100644
--- a/tests/e2e/module_file_manager/workloads.yaml
+++ b/tests/e2e/module_file_manager/workloads.yaml
@@ -1,19 +1,38 @@
 bolt_port: &bolt_port "7687"
-template_cluster: &template_cluster
+args: &args
+  - "--bolt-port"
+  - *bolt_port
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "module-file-manager-e2e.log"
       setup_queries: []
       validation_queries: []
 
+disk_cluster: &disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "module-file-manager-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+      validation_queries: []
+
 workloads:
   - name: "Module File Manager"
     binary: "tests/e2e/module_file_manager/memgraph__e2e__module_file_manager"
     args: ["--bolt-port", *bolt_port]
-    <<: *template_cluster
+    <<: *in_memory_cluster
 
   - name: "Module File Manager multi database"
     binary: "tests/e2e/module_file_manager/memgraph__e2e__module_file_manager"
     args: ["--bolt-port", *bolt_port, "--multi-db", "true"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
+  - name: "Module File Manager on disk"
+    binary: "tests/e2e/module_file_manager/memgraph__e2e__module_file_manager"
+    args: ["--bolt-port", *bolt_port]
+    <<: *disk_cluster
diff --git a/tests/e2e/python_query_modules_reloading/workloads.yaml b/tests/e2e/python_query_modules_reloading/workloads.yaml
index 56cd65ff9..50fc35b96 100644
--- a/tests/e2e/python_query_modules_reloading/workloads.yaml
+++ b/tests/e2e/python_query_modules_reloading/workloads.yaml
@@ -1,27 +1,35 @@
-test_reload_query_module: &test_reload_query_module
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+  - "--also-log-to-stderr"
+
+test_reload_query_module_in_memory_cluster: &test_reload_query_module_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE", "--also-log-to-stderr"]
+      args: *args
       log_file: "py-query-modules-reloading-e2e.log"
       setup_queries: []
-      validation_queries: []
-disk_test_reload_query_module: &disk_test_reload_query_module
+      validation_querie: []
+
+disk_test_reload_query_module_disk_cluster: &disk_test_reload_query_module_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE", "--also-log-to-stderr"]
+      args: *args
       log_file: "py-query-modules-reloading-e2e.log"
-      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
 
-
 workloads:
-  - name: "test-reload-query-module" # should be the same as the python file
+  - name: "test-reload-query-module"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/python_query_modules_reloading/procedures/"
     args: ["python_query_modules_reloading/test_reload_query_module.py"]
-    <<: *test_reload_query_module
-  - name: "test-reload-query-module on disk" # should be the same as the python file
+    <<: *test_reload_query_module_in_memory_cluster
+
+  - name: "test-reload-query-module on disk"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/python_query_modules_reloading/procedures/"
     args: ["python_query_modules_reloading/test_reload_query_module.py"]
-    <<: *disk_test_reload_query_module
+    <<: *disk_test_reload_query_module_disk_cluster
diff --git a/tests/e2e/streams/workloads.yaml b/tests/e2e/streams/workloads.yaml
index 25a04c114..195fe834c 100644
--- a/tests/e2e/streams/workloads.yaml
+++ b/tests/e2e/streams/workloads.yaml
@@ -1,24 +1,62 @@
-template_cluster: &template_cluster
+stream_args: &stream_args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=DEBUG"
+  - "--kafka-bootstrap-servers=localhost:9092"
+  - "--query-execution-timeout-sec=0"
+  - "--pulsar-service-url=pulsar://127.0.0.1:6650"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=DEBUG", "--kafka-bootstrap-servers=localhost:9092", "--query-execution-timeout-sec=0", "--pulsar-service-url=pulsar://127.0.0.1:6650"]
+      args: *stream_args
       log_file: "streams-e2e.log"
       setup_queries: []
       validation_queries: []
 
+disk_cluster: &disk_cluster
+  cluster:
+    main:
+      args: *stream_args
+      log_file: "streams-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+      validation_queries: []
+
+
 workloads:
   - name: "Kafka streams start, stop and show"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/streams/transformations/"
     args: ["streams/kafka_streams_tests.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
   - name: "Streams with users"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/streams/transformations/"
     args: ["streams/streams_owner_tests.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
   - name: "Pulsar streams start, stop and show"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/streams/transformations/"
     args: ["streams/pulsar_streams_tests.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
+  - name: "Kafka streams start, stop and show for on-disk storage"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/streams/transformations/"
+    args: ["streams/kafka_streams_tests.py"]
+    <<: *disk_cluster
+
+  - name: "Streams with users for on-disk storage"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/streams/transformations/"
+    args: ["streams/streams_owner_tests.py"]
+    <<: *disk_cluster
+
+  - name: "Pulsar streams start, stop and show for on-disk storage"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/streams/transformations/"
+    args: ["streams/pulsar_streams_tests.py"]
+    <<: *disk_cluster
diff --git a/tests/e2e/temporal_types/workloads.yaml b/tests/e2e/temporal_types/workloads.yaml
index f4bccefae..9aeec5d4b 100644
--- a/tests/e2e/temporal_types/workloads.yaml
+++ b/tests/e2e/temporal_types/workloads.yaml
@@ -1,17 +1,24 @@
 bolt_port: &bolt_port "7687"
+args: &args
+  - "--bolt_port"
+  - *bolt_port
+  - "--log-level=TRACE"
+
 template_cluster: &template_cluster
   cluster:
     main:
-      args: ["--bolt_port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "temporal-types-e2e.log"
       setup_queries: []
       validation_queries: []
+
 disk_template_cluster: &disk_template_cluster
   cluster:
     main:
-      args: ["--bolt_port", *bolt_port, "--log-level=TRACE"]
+      args: *args
       log_file: "temporal-types-e2e.log"
-      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
 
 
@@ -20,6 +27,7 @@ workloads:
     binary: "tests/e2e/temporal_types/memgraph__e2e__temporal_roundtrip"
     args: ["--bolt_port", *bolt_port]
     <<: *template_cluster
+
   - name: "Temporal on disk"
     binary: "tests/e2e/temporal_types/memgraph__e2e__temporal_roundtrip"
     args: ["--bolt_port", *bolt_port]
diff --git a/tests/e2e/transaction_queue/workloads.yaml b/tests/e2e/transaction_queue/workloads.yaml
index b5f15facf..12f58c381 100644
--- a/tests/e2e/transaction_queue/workloads.yaml
+++ b/tests/e2e/transaction_queue/workloads.yaml
@@ -1,14 +1,34 @@
-test_transaction_queue: &test_transaction_queue
+args: &args
+  - "--bolt-port"
+  - "7687"
+  - "--log-level=TRACE"
+
+test_transaction_queue_in_memory_cluster: &test_transaction_queue_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE", "--also-log-to-stderr"]
+      args: *args
       log_file: "transaction_queue.log"
       setup_queries: []
       validation_queries: []
 
+test_transaction_queue_disk_cluster: &test_transaction_queue_disk_cluster
+  cluster:
+    main:
+      args: *args
+      log_file: "transaction_queue.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
+      validation_queries: []
+
 workloads:
-  - name: "test-transaction-queue" # should be the same as the python file
+  - name: "test-transaction-queue"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/transaction_queue/procedures/"
     args: ["transaction_queue/test_transaction_queue.py"]
-    <<: *test_transaction_queue
+    <<: *test_transaction_queue_in_memory_cluster
+
+  - name: "test-transaction-queue for on-disk"
+    binary: "tests/e2e/pytest_runner.sh"
+    proc: "tests/e2e/transaction_queue/procedures/"
+    args: ["transaction_queue/test_transaction_queue.py"]
+    <<: *test_transaction_queue_disk_cluster
diff --git a/tests/e2e/triggers/workloads.yaml b/tests/e2e/triggers/workloads.yaml
index efd658f2f..0aa138b25 100644
--- a/tests/e2e/triggers/workloads.yaml
+++ b/tests/e2e/triggers/workloads.yaml
@@ -1,80 +1,106 @@
 bolt_port: &bolt_port "7687"
-template_cluster: &template_cluster
+args_properties_false: &args_properties_false
+  - "--bolt-port"
+  - *bolt_port
+  - "--log-level=TRACE"
+  - "--storage-properties-on-edges=False"
+
+args_properties_true: &args_properties_true
+  - "--bolt-port"
+  - *bolt_port
+  - "--log-level=TRACE"
+  - "--storage-properties-on-edges=True"
+
+storage_properties_edges_true_in_memory_cluster: &storage_properties_edges_true_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE", "--storage-properties-on-edges=True"]
+      args: *args_properties_true
       log_file: "triggers-e2e.log"
       setup_queries: []
       validation_queries: []
-storage_properties_edges_false: &storage_properties_edges_false
+
+storage_properties_edges_false_in_memory_cluster: &storage_properties_edges_false_in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE", "--also-log-to-stderr", "--storage-properties-on-edges=False"]
+      args: *args_properties_false
       log_file: "triggers-e2e.log"
       setup_queries: []
       validation_queries: []
-disk_template_cluster: &disk_template_cluster
+
+storage_properties_edges_true_disk_cluster: &storage_properties_edges_true_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE", "--storage-properties-on-edges=True"]
-      log_file: "triggers-e2e-disk.log"
-      setup_queries: ["storage mode on_disk_transactional"]
+      args: *args_properties_true
+      log_file: "triggers-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
-disk_storage_properties_edges_false: &disk_storage_properties_edges_false
+
+storage_properties_edges_false_disk_cluster: &storage_properties_edges_false_disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", *bolt_port, "--log-level=TRACE", "--also-log-to-stderr", "--storage-properties-on-edges=False"]
-      log_file: "triggers-e2e-disk.log"
-      setup_queries: ["storage mode on_disk_transactional"]
+      args: *args_properties_false
+      log_file: "triggers-e2e.log"
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
 
+
 workloads:
   - name: "ON CREATE Triggers"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_create"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *template_cluster
+    <<: *storage_properties_edges_true_in_memory_cluster
+
   - name: "ON UPDATE Triggers"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_update"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *template_cluster
+    <<: *storage_properties_edges_true_in_memory_cluster
+
   - name: "ON DELETE Triggers Storage Properties On Edges True"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_delete"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *template_cluster
+    <<: *storage_properties_edges_true_in_memory_cluster
+
   - name: "Triggers privilege check"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__privileges"
     args: ["--bolt-port", *bolt_port]
-    <<: *template_cluster
-  - name: "ON DELETE Triggers Storage Properties On Edges False" # should be the same as the python file
+    <<: *storage_properties_edges_true_in_memory_cluster
+
+  - name: "ON DELETE Triggers Storage Properties On Edges False"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/triggers/procedures/"
     args: ["triggers/triggers_properties_false.py"]
-    <<: *storage_properties_edges_false
+    <<: *storage_properties_edges_false_in_memory_cluster
 
-  - name: "ON CREATE Triggers on disk"
+  - name: "ON CREATE Triggers for disk storage"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_create"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *disk_template_cluster
-  - name: "ON UPDATE Triggers on disk"
+    <<: *storage_properties_edges_true_disk_cluster
+
+  - name: "ON UPDATE Triggers for disk storage"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_update"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *disk_template_cluster
-  - name: "ON DELETE Triggers Storage Properties On Edges True On Disk"
+    <<: *storage_properties_edges_true_disk_cluster
+
+  - name: "ON DELETE Triggers Storage Properties On Edges True for disk storage"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__on_delete"
     args: ["--bolt-port", *bolt_port]
     proc: "tests/e2e/triggers/procedures/"
-    <<: *disk_template_cluster
-  - name: "Triggers privilege check on disk"
+    <<: *storage_properties_edges_true_disk_cluster
+
+  - name: "Triggers privilege check for disk storage"
     binary: "tests/e2e/triggers/memgraph__e2e__triggers__privileges"
     args: ["--bolt-port", *bolt_port]
-    <<: *disk_template_cluster
-  - name: "ON DELETE Triggers Storage Properties On Edges False On Disk" # should be the same as the python file
+    <<: *storage_properties_edges_true_disk_cluster
+
+  - name: "ON DELETE Triggers Storage Properties On Edges False for disk storage"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/triggers/procedures/"
     args: ["triggers/triggers_properties_false.py"]
-    <<: *disk_storage_properties_edges_false
+    <<: *storage_properties_edges_false_disk_cluster
diff --git a/tests/e2e/write_procedures/workloads.yaml b/tests/e2e/write_procedures/workloads.yaml
index be03d0cab..b0c411b8b 100644
--- a/tests/e2e/write_procedures/workloads.yaml
+++ b/tests/e2e/write_procedures/workloads.yaml
@@ -1,16 +1,24 @@
-template_cluster: &template_cluster
+bolt_port: &bolt_port "7687"
+args: &args
+  - "--bolt_port"
+  - *bolt_port
+  - "--log-level=TRACE"
+
+in_memory_cluster: &in_memory_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "write-procedures-e2e.log"
       setup_queries: []
       validation_queries: []
-disk_template_cluster: &disk_template_cluster
+
+disk_cluster: &disk_cluster
   cluster:
     main:
-      args: ["--bolt-port", "7687", "--log-level=TRACE"]
+      args: *args
       log_file: "write-procedures-e2e.log"
-      setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
+      setup_queries:
+        - "STORAGE MODE ON_DISK_TRANSACTIONAL"
       validation_queries: []
 
 workloads:
@@ -18,19 +26,22 @@ workloads:
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/write_procedures/procedures/"
     args: ["write_procedures/simple_write.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
   - name: "Graph projection procedures"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/write_procedures/procedures/"
     args: ["write_procedures/read_subgraph.py"]
-    <<: *template_cluster
+    <<: *in_memory_cluster
+
   - name: "Write procedures simple on disk"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/write_procedures/procedures/"
     args: ["write_procedures/simple_write.py"]
-    <<: *disk_template_cluster
+    <<: *disk_cluster
+
   - name: "Graph projection procedures on disk"
     binary: "tests/e2e/pytest_runner.sh"
     proc: "tests/e2e/write_procedures/procedures/"
     args: ["write_procedures/read_subgraph.py"]
-    <<: *disk_template_cluster
+    <<: *disk_cluster