diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 1942bbc0..f40d4410 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -118,6 +118,7 @@ list(APPEND TEST_LIST
test_41_reconnect_with_clients
test_42_server_reconnect_with_clients
test_43_complex_reconnect
+ test_44_fast_discovery_server_tool_reconnect
)
# The above TEST_LIST has tests that spawn multiple test cases, we need a new variable to enumerate them
diff --git a/test/configuration/test_cases/test_44_fast_discovery_server_tool_reconnect.xml b/test/configuration/test_cases/test_44_fast_discovery_server_tool_reconnect.xml
new file mode 100644
index 00000000..5a1b679b
--- /dev/null
+++ b/test/configuration/test_cases/test_44_fast_discovery_server_tool_reconnect.xml
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C1 and C2 know each other and Server
+ C1 and C2 know only each other
+ C1 and C4 do not know each other
+ C1 and C4 know each other and Server
+ C4 only knows Server
+ C3 and C4 know each other and Server+
+
+
+
+
+
+ 63.6c.69.65.6e.74.31.5f.73.31.5f.5f
+
+
+ CLIENT
+
+
+
+
+
+ 127.0.0.1
+ 44811
+
+
+
+
+
+
+
+
+
+
+
+
+ 63.6c.69.65.6e.74.32.5f.73.31.5f.5f
+
+
+ CLIENT
+
+
+
+
+
+ 127.0.0.1
+ 44811
+
+
+
+
+
+
+
+
+
+
+
+
+ 63.6c.69.65.6e.74.33.5f.73.31.5f.5f
+
+
+ CLIENT
+
+
+
+
+
+ 127.0.0.1
+ 44811
+
+
+
+
+
+
+
+
+
+
+
+
+ 63.6c.69.65.6e.74.34.5f.73.31.5f.5f
+
+
+ CLIENT
+
+
+
+
+
+ 127.0.0.1
+ 44811
+
+
+
+
+
+
+
+
+
+
+
+ topic_1
+ sample_type_1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/configuration/test_solutions/test_44_fast_discovery_server_tool_reconnect.snapshot b/test/configuration/test_solutions/test_44_fast_discovery_server_tool_reconnect.snapshot
new file mode 100644
index 00000000..2754d18e
--- /dev/null
+++ b/test/configuration/test_solutions/test_44_fast_discovery_server_tool_reconnect.snapshot
@@ -0,0 +1,113 @@
+
+
+
+ C1 and C2 know each other and Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C1 and C2 know only each other
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C1 and C4 do not know each other
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C1 and C4 know each other and Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C4 only knows Server
+
+
+
+
+
+
+
+
+ C3 and C4 know each other and Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/configuration/tests_params.json b/test/configuration/tests_params.json
index 79f129c1..00e66d01 100644
--- a/test/configuration/tests_params.json
+++ b/test/configuration/tests_params.json
@@ -1984,6 +1984,79 @@
}
},
+ "test_44_fast_discovery_server_tool_reconnect":
+ {
+ "processes":
+ {
+ "main":
+ {
+ "xml_config_file": "/test_cases/test_44_fast_discovery_server_tool_reconnect.xml",
+ "validation":
+ {
+ "count_lines_validation":
+ {
+ "file_path": "/test_solutions/test_44_fast_discovery_server_tool_reconnect.snapshot"
+ },
+ "exit_code_validation":
+ {
+ "expected_exit_code": 0
+ },
+ "stderr_validation":
+ {
+ "err_expected_lines": 0
+ },
+ "ground_truth_validation":
+ {
+ "file_path": "/test_solutions/test_44_fast_discovery_server_tool_reconnect.snapshot"
+ }
+ }
+ },
+ "fastddstool_0":
+ {
+ "kill_time": 4,
+ "tool_config":
+ {
+ "id" : 0,
+ "address": "127.0.0.1",
+ "port": 44811
+ },
+ "validation":
+ {
+ "exit_code_validation":
+ {
+ "expected_exit_code": 0
+ },
+ "stderr_validation":
+ {
+ "err_expected_lines": 0
+ }
+ }
+ },
+ "fastddstool_reconnect":
+ {
+ "creation_time": 9,
+ "kill_time": 19,
+ "tool_config":
+ {
+ "id" : 0,
+ "address": "127.0.0.1",
+ "port": 44811
+ },
+ "validation":
+ {
+ "exit_code_validation":
+ {
+ "expected_exit_code": 0
+ },
+ "stderr_validation":
+ {
+ "err_expected_lines": 0
+ }
+ }
+ }
+ }
+ },
+
"test_99_tcp":
{
"processes":