diff --git a/tests/testflows/ldap/authentication/__init__.py b/tests/testflows/ldap/authentication/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/tests/testflows/ldap/configs/CA/ca.crt b/tests/testflows/ldap/authentication/configs/CA/ca.crt
similarity index 100%
rename from tests/testflows/ldap/configs/CA/ca.crt
rename to tests/testflows/ldap/authentication/configs/CA/ca.crt
diff --git a/tests/testflows/ldap/configs/CA/ca.key b/tests/testflows/ldap/authentication/configs/CA/ca.key
similarity index 100%
rename from tests/testflows/ldap/configs/CA/ca.key
rename to tests/testflows/ldap/authentication/configs/CA/ca.key
diff --git a/tests/testflows/ldap/configs/CA/ca.srl b/tests/testflows/ldap/authentication/configs/CA/ca.srl
similarity index 100%
rename from tests/testflows/ldap/configs/CA/ca.srl
rename to tests/testflows/ldap/authentication/configs/CA/ca.srl
diff --git a/tests/testflows/ldap/configs/CA/dhparam.pem b/tests/testflows/ldap/authentication/configs/CA/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/CA/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/CA/dhparam.pem
diff --git a/tests/testflows/ldap/configs/CA/passphrase.txt b/tests/testflows/ldap/authentication/configs/CA/passphrase.txt
similarity index 100%
rename from tests/testflows/ldap/configs/CA/passphrase.txt
rename to tests/testflows/ldap/authentication/configs/CA/passphrase.txt
diff --git a/tests/testflows/ldap/configs/clickhouse/common.xml b/tests/testflows/ldap/authentication/configs/clickhouse/common.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/common.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/common.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/logs.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/logs.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/logs.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/logs.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/ports.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/ports.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/ports.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/ports.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/remote.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/remote.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/remote.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/remote.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/ssl.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/ssl.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/ssl.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/ssl.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/storage.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/storage.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/storage.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/storage.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.d/zookeeper.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.d/zookeeper.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/config.d/zookeeper.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.d/zookeeper.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/config.xml b/tests/testflows/ldap/authentication/configs/clickhouse/config.xml
similarity index 97%
rename from tests/testflows/ldap/configs/clickhouse/config.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/config.xml
index d34d2c35253..80c3150d326 100644
--- a/tests/testflows/ldap/configs/clickhouse/config.xml
+++ b/tests/testflows/ldap/authentication/configs/clickhouse/config.xml
@@ -120,6 +120,18 @@
/var/lib/clickhouse/access/
+
+
+
+
+ users.xml
+
+
+
+ /var/lib/clickhouse/access/
+
+
+
users.xml
diff --git a/tests/testflows/ldap/configs/clickhouse/ssl/dhparam.pem b/tests/testflows/ldap/authentication/configs/clickhouse/ssl/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/ssl/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/clickhouse/ssl/dhparam.pem
diff --git a/tests/testflows/ldap/configs/clickhouse/ssl/server.crt b/tests/testflows/ldap/authentication/configs/clickhouse/ssl/server.crt
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/ssl/server.crt
rename to tests/testflows/ldap/authentication/configs/clickhouse/ssl/server.crt
diff --git a/tests/testflows/ldap/configs/clickhouse/ssl/server.key b/tests/testflows/ldap/authentication/configs/clickhouse/ssl/server.key
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/ssl/server.key
rename to tests/testflows/ldap/authentication/configs/clickhouse/ssl/server.key
diff --git a/tests/testflows/ldap/configs/clickhouse/users.xml b/tests/testflows/ldap/authentication/configs/clickhouse/users.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse/users.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse/users.xml
diff --git a/tests/testflows/ldap/configs/clickhouse1/config.d/macros.xml b/tests/testflows/ldap/authentication/configs/clickhouse1/config.d/macros.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse1/config.d/macros.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse1/config.d/macros.xml
diff --git a/tests/testflows/ldap/configs/clickhouse2/config.d/macros.xml b/tests/testflows/ldap/authentication/configs/clickhouse2/config.d/macros.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse2/config.d/macros.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse2/config.d/macros.xml
diff --git a/tests/testflows/ldap/configs/clickhouse3/config.d/macros.xml b/tests/testflows/ldap/authentication/configs/clickhouse3/config.d/macros.xml
similarity index 100%
rename from tests/testflows/ldap/configs/clickhouse3/config.d/macros.xml
rename to tests/testflows/ldap/authentication/configs/clickhouse3/config.d/macros.xml
diff --git a/tests/testflows/ldap/configs/ldap1/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap1/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap1/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap1/config/export.ldif
diff --git a/tests/testflows/ldap/configs/ldap2/certs/ca.crt b/tests/testflows/ldap/authentication/configs/ldap2/certs/ca.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/certs/ca.crt
rename to tests/testflows/ldap/authentication/configs/ldap2/certs/ca.crt
diff --git a/tests/testflows/ldap/configs/ldap2/certs/dhparam.pem b/tests/testflows/ldap/authentication/configs/ldap2/certs/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/certs/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/ldap2/certs/dhparam.pem
diff --git a/tests/testflows/ldap/configs/ldap2/certs/ldap.crt b/tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/certs/ldap.crt
rename to tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.crt
diff --git a/tests/testflows/ldap/configs/ldap2/certs/ldap.csr b/tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.csr
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/certs/ldap.csr
rename to tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.csr
diff --git a/tests/testflows/ldap/configs/ldap2/certs/ldap.key b/tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.key
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/certs/ldap.key
rename to tests/testflows/ldap/authentication/configs/ldap2/certs/ldap.key
diff --git a/tests/testflows/ldap/configs/ldap2/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap2/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap2/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap2/config/export.ldif
diff --git a/tests/testflows/ldap/configs/ldap3/certs/ca.crt b/tests/testflows/ldap/authentication/configs/ldap3/certs/ca.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/certs/ca.crt
rename to tests/testflows/ldap/authentication/configs/ldap3/certs/ca.crt
diff --git a/tests/testflows/ldap/configs/ldap3/certs/dhparam.pem b/tests/testflows/ldap/authentication/configs/ldap3/certs/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/certs/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/ldap3/certs/dhparam.pem
diff --git a/tests/testflows/ldap/configs/ldap3/certs/ldap.crt b/tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/certs/ldap.crt
rename to tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.crt
diff --git a/tests/testflows/ldap/configs/ldap3/certs/ldap.csr b/tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.csr
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/certs/ldap.csr
rename to tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.csr
diff --git a/tests/testflows/ldap/configs/ldap3/certs/ldap.key b/tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.key
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/certs/ldap.key
rename to tests/testflows/ldap/authentication/configs/ldap3/certs/ldap.key
diff --git a/tests/testflows/ldap/configs/ldap3/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap3/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap3/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap3/config/export.ldif
diff --git a/tests/testflows/ldap/configs/ldap4/certs/ca.crt b/tests/testflows/ldap/authentication/configs/ldap4/certs/ca.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/certs/ca.crt
rename to tests/testflows/ldap/authentication/configs/ldap4/certs/ca.crt
diff --git a/tests/testflows/ldap/configs/ldap4/certs/dhparam.pem b/tests/testflows/ldap/authentication/configs/ldap4/certs/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/certs/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/ldap4/certs/dhparam.pem
diff --git a/tests/testflows/ldap/configs/ldap4/certs/ldap.crt b/tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/certs/ldap.crt
rename to tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.crt
diff --git a/tests/testflows/ldap/configs/ldap4/certs/ldap.csr b/tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.csr
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/certs/ldap.csr
rename to tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.csr
diff --git a/tests/testflows/ldap/configs/ldap4/certs/ldap.key b/tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.key
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/certs/ldap.key
rename to tests/testflows/ldap/authentication/configs/ldap4/certs/ldap.key
diff --git a/tests/testflows/ldap/configs/ldap4/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap4/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap4/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap4/config/export.ldif
diff --git a/tests/testflows/ldap/configs/ldap5/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap5/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap5/config/export.ldif
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/certs/ca.crt b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ca.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/certs/ca.crt
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ca.crt
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/certs/dhparam.pem b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/dhparam.pem
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/certs/dhparam.pem
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/dhparam.pem
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.crt b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.crt
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.crt
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.crt
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.csr b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.csr
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.csr
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.csr
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.key b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.key
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/certs/ldap.key
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/certs/ldap.key
diff --git a/tests/testflows/ldap/configs/ldap5/ldap2/config/export.ldif b/tests/testflows/ldap/authentication/configs/ldap5/ldap2/config/export.ldif
similarity index 100%
rename from tests/testflows/ldap/configs/ldap5/ldap2/config/export.ldif
rename to tests/testflows/ldap/authentication/configs/ldap5/ldap2/config/export.ldif
diff --git a/tests/testflows/ldap/docker-compose/clickhouse-service.yml b/tests/testflows/ldap/authentication/docker-compose/clickhouse-service.yml
similarity index 100%
rename from tests/testflows/ldap/docker-compose/clickhouse-service.yml
rename to tests/testflows/ldap/authentication/docker-compose/clickhouse-service.yml
diff --git a/tests/testflows/ldap/docker-compose/docker-compose.yml b/tests/testflows/ldap/authentication/docker-compose/docker-compose.yml
similarity index 100%
rename from tests/testflows/ldap/docker-compose/docker-compose.yml
rename to tests/testflows/ldap/authentication/docker-compose/docker-compose.yml
diff --git a/tests/testflows/ldap/docker-compose/openldap-service.yml b/tests/testflows/ldap/authentication/docker-compose/openldap-service.yml
similarity index 100%
rename from tests/testflows/ldap/docker-compose/openldap-service.yml
rename to tests/testflows/ldap/authentication/docker-compose/openldap-service.yml
diff --git a/tests/testflows/ldap/docker-compose/zookeeper-service.yml b/tests/testflows/ldap/authentication/docker-compose/zookeeper-service.yml
similarity index 100%
rename from tests/testflows/ldap/docker-compose/zookeeper-service.yml
rename to tests/testflows/ldap/authentication/docker-compose/zookeeper-service.yml
diff --git a/tests/testflows/ldap/authentication/regression.py b/tests/testflows/ldap/authentication/regression.py
new file mode 100755
index 00000000000..9d0a5ca743f
--- /dev/null
+++ b/tests/testflows/ldap/authentication/regression.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python3
+import sys
+from testflows.core import *
+
+append_path(sys.path, "..", "..")
+
+from helpers.cluster import Cluster
+from helpers.argparser import argparser
+from ldap.authentication.requirements import *
+
+# Cross-outs of known fails
+xfails = {
+ "connection protocols/tls/tls_require_cert='try'":
+ [(Fail, "can't be tested with self-signed certificates")],
+ "connection protocols/tls/tls_require_cert='demand'":
+ [(Fail, "can't be tested with self-signed certificates")],
+ "connection protocols/starttls/tls_require_cert='try'":
+ [(Fail, "can't be tested with self-signed certificates")],
+ "connection protocols/starttls/tls_require_cert='demand'":
+ [(Fail, "can't be tested with self-signed certificates")],
+ "connection protocols/tls require cert default demand":
+ [(Fail, "can't be tested with self-signed certificates")],
+ "connection protocols/starttls with custom port":
+ [(Fail, "it seems that starttls is not enabled by default on custom plain-text ports in LDAP server")],
+ "connection protocols/tls cipher suite":
+ [(Fail, "can't get it to work")]
+}
+
+@TestFeature
+@Name("authentication")
+@ArgumentParser(argparser)
+@Requirements(
+ RQ_SRS_007_LDAP_Authentication("1.0")
+)
+@XFails(xfails)
+def regression(self, local, clickhouse_binary_path):
+ """ClickHouse integration with LDAP regression module.
+ """
+ nodes = {
+ "clickhouse": ("clickhouse1", "clickhouse2", "clickhouse3"),
+ }
+
+ with Cluster(local, clickhouse_binary_path, nodes=nodes) as cluster:
+ self.context.cluster = cluster
+
+ Scenario(run=load("ldap.authentication.tests.sanity", "scenario"))
+ Scenario(run=load("ldap.authentication.tests.multiple_servers", "scenario"))
+ Feature(run=load("ldap.authentication.tests.connections", "feature"))
+ Feature(run=load("ldap.authentication.tests.server_config", "feature"))
+ Feature(run=load("ldap.authentication.tests.user_config", "feature"))
+ Feature(run=load("ldap.authentication.tests.authentications", "feature"))
+
+if main():
+ regression()
diff --git a/tests/testflows/ldap/requirements/__init__.py b/tests/testflows/ldap/authentication/requirements/__init__.py
similarity index 100%
rename from tests/testflows/ldap/requirements/__init__.py
rename to tests/testflows/ldap/authentication/requirements/__init__.py
diff --git a/tests/testflows/ldap/requirements/requirements.md b/tests/testflows/ldap/authentication/requirements/requirements.md
similarity index 100%
rename from tests/testflows/ldap/requirements/requirements.md
rename to tests/testflows/ldap/authentication/requirements/requirements.md
diff --git a/tests/testflows/ldap/requirements/requirements.py b/tests/testflows/ldap/authentication/requirements/requirements.py
similarity index 100%
rename from tests/testflows/ldap/requirements/requirements.py
rename to tests/testflows/ldap/authentication/requirements/requirements.py
diff --git a/tests/testflows/ldap/tests/authentications.py b/tests/testflows/ldap/authentication/tests/authentications.py
similarity index 99%
rename from tests/testflows/ldap/tests/authentications.py
rename to tests/testflows/ldap/authentication/tests/authentications.py
index a1fb27bd51a..1b21dce7cc1 100644
--- a/tests/testflows/ldap/tests/authentications.py
+++ b/tests/testflows/ldap/authentication/tests/authentications.py
@@ -4,8 +4,8 @@ import random
from multiprocessing.dummy import Pool
from testflows.core import *
from testflows.asserts import error
-from ldap.tests.common import *
-from ldap.requirements import *
+from ldap.authentication.tests.common import *
+from ldap.authentication.requirements import *
servers = {
"openldap1": {
diff --git a/tests/testflows/ldap/tests/common.py b/tests/testflows/ldap/authentication/tests/common.py
similarity index 99%
rename from tests/testflows/ldap/tests/common.py
rename to tests/testflows/ldap/authentication/tests/common.py
index eb21923e930..1e382f8942c 100644
--- a/tests/testflows/ldap/tests/common.py
+++ b/tests/testflows/ldap/authentication/tests/common.py
@@ -172,7 +172,7 @@ def create_ldap_users_config_content(*users, config_d_dir="/etc/clickhouse-serve
return Config(content, path, name, uid, "users.xml")
def add_users_identified_with_ldap(*users):
- """Add one or more users that are identified via
+ """Add one or more users that are identified via
an ldap server using RBAC.
"""
node = current().context.node
diff --git a/tests/testflows/ldap/tests/connections.py b/tests/testflows/ldap/authentication/tests/connections.py
similarity index 98%
rename from tests/testflows/ldap/tests/connections.py
rename to tests/testflows/ldap/authentication/tests/connections.py
index 8de4b3f4d01..f16f6c29b0e 100644
--- a/tests/testflows/ldap/tests/connections.py
+++ b/tests/testflows/ldap/authentication/tests/connections.py
@@ -1,8 +1,8 @@
from testflows.core import *
from testflows.asserts import error
-from ldap.tests.common import login
-from ldap.requirements import *
+from ldap.authentication.tests.common import login
+from ldap.authentication.requirements import *
@TestScenario
@Requirements(
diff --git a/tests/testflows/ldap/tests/multiple_servers.py b/tests/testflows/ldap/authentication/tests/multiple_servers.py
similarity index 88%
rename from tests/testflows/ldap/tests/multiple_servers.py
rename to tests/testflows/ldap/authentication/tests/multiple_servers.py
index aefc0116fa2..6e906023b0a 100644
--- a/tests/testflows/ldap/tests/multiple_servers.py
+++ b/tests/testflows/ldap/authentication/tests/multiple_servers.py
@@ -1,8 +1,8 @@
from testflows.core import *
from testflows.asserts import error
-from ldap.tests.common import login
-from ldap.requirements import RQ_SRS_007_LDAP_Authentication_MultipleServers
+from ldap.authentication.tests.common import login
+from ldap.authentication.requirements import RQ_SRS_007_LDAP_Authentication_MultipleServers
@TestScenario
@Name("multiple servers")
diff --git a/tests/testflows/ldap/tests/sanity.py b/tests/testflows/ldap/authentication/tests/sanity.py
similarity index 95%
rename from tests/testflows/ldap/tests/sanity.py
rename to tests/testflows/ldap/authentication/tests/sanity.py
index 9e5d8a2ddd7..542fa2a48b1 100644
--- a/tests/testflows/ldap/tests/sanity.py
+++ b/tests/testflows/ldap/authentication/tests/sanity.py
@@ -1,7 +1,7 @@
from testflows.core import *
from testflows.asserts import error
-from ldap.tests.common import add_user_to_ldap, delete_user_from_ldap
+from ldap.authentication.tests.common import add_user_to_ldap, delete_user_from_ldap
@TestScenario
@Name("sanity")
diff --git a/tests/testflows/ldap/tests/server_config.py b/tests/testflows/ldap/authentication/tests/server_config.py
similarity index 99%
rename from tests/testflows/ldap/tests/server_config.py
rename to tests/testflows/ldap/authentication/tests/server_config.py
index f3d03434afe..5658f7a9399 100644
--- a/tests/testflows/ldap/tests/server_config.py
+++ b/tests/testflows/ldap/authentication/tests/server_config.py
@@ -1,7 +1,7 @@
from testflows.core import *
-from ldap.tests.common import *
-from ldap.requirements import *
+from ldap.authentication.tests.common import *
+from ldap.authentication.requirements import *
@TestScenario
@Requirements(
diff --git a/tests/testflows/ldap/tests/user_config.py b/tests/testflows/ldap/authentication/tests/user_config.py
similarity index 98%
rename from tests/testflows/ldap/tests/user_config.py
rename to tests/testflows/ldap/authentication/tests/user_config.py
index edc85a5877e..7927d72b510 100644
--- a/tests/testflows/ldap/tests/user_config.py
+++ b/tests/testflows/ldap/authentication/tests/user_config.py
@@ -2,8 +2,8 @@ import xml.etree.ElementTree as xmltree
from testflows.core import *
-from ldap.tests.common import *
-from ldap.requirements import *
+from ldap.authentication.tests.common import *
+from ldap.authentication.requirements import *
@TestScenario
@Requirements(
diff --git a/tests/testflows/ldap/regression.py b/tests/testflows/ldap/regression.py
index 567807fc0a8..8520941ed0b 100755
--- a/tests/testflows/ldap/regression.py
+++ b/tests/testflows/ldap/regression.py
@@ -2,53 +2,19 @@
import sys
from testflows.core import *
-append_path(sys.path, "..")
+append_path(sys.path, "..")
-from helpers.cluster import Cluster
from helpers.argparser import argparser
-from ldap.requirements import *
-# Cross-outs of known fails
-xfails = {
- "connection protocols/tls/tls_require_cert='try'":
- [(Fail, "can't be tested with self-signed certificates")],
- "connection protocols/tls/tls_require_cert='demand'":
- [(Fail, "can't be tested with self-signed certificates")],
- "connection protocols/starttls/tls_require_cert='try'":
- [(Fail, "can't be tested with self-signed certificates")],
- "connection protocols/starttls/tls_require_cert='demand'":
- [(Fail, "can't be tested with self-signed certificates")],
- "connection protocols/tls require cert default demand":
- [(Fail, "can't be tested with self-signed certificates")],
- "connection protocols/starttls with custom port":
- [(Fail, "it seems that starttls is not enabled by default on custom plain-text ports in LDAP server")],
- "connection protocols/tls cipher suite":
- [(Fail, "can't get it to work")]
-}
-
-@TestFeature
-@Name("ldap authentication")
+@TestModule
+@Name("ldap")
@ArgumentParser(argparser)
-@Requirements(
- RQ_SRS_007_LDAP_Authentication("1.0")
-)
-@XFails(xfails)
def regression(self, local, clickhouse_binary_path):
- """ClickHouse integration with LDAP regression module.
+ """ClickHouse LDAP integration regression module.
"""
- nodes = {
- "clickhouse": ("clickhouse1", "clickhouse2", "clickhouse3"),
- }
-
- with Cluster(local, clickhouse_binary_path, nodes=nodes) as cluster:
- self.context.cluster = cluster
+ args = {"local": local, "clickhouse_binary_path": clickhouse_binary_path}
- Scenario(run=load("ldap.tests.sanity", "scenario"))
- Scenario(run=load("ldap.tests.multiple_servers", "scenario"))
- Feature(run=load("ldap.tests.connections", "feature"))
- Feature(run=load("ldap.tests.server_config", "feature"))
- Feature(run=load("ldap.tests.user_config", "feature"))
- Feature(run=load("ldap.tests.authentications", "feature"))
+ Feature(test=load("ldap.authentication.regression", "regression"))(**args)
if main():
regression()