2020-06-29 12:55:27 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
from testflows.core import *
|
|
|
|
|
2020-10-15 20:23:49 +00:00
|
|
|
append_path(sys.path, "..")
|
2020-06-29 12:55:27 +00:00
|
|
|
|
|
|
|
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")
|
|
|
|
@ArgumentParser(argparser)
|
|
|
|
@Requirements(
|
|
|
|
RQ_SRS_007_LDAP_Authentication("1.0")
|
|
|
|
)
|
|
|
|
@XFails(xfails)
|
2020-10-15 20:23:49 +00:00
|
|
|
def regression(self, local, clickhouse_binary_path, stress=None, parallel=None):
|
2020-06-29 12:55:27 +00:00
|
|
|
"""ClickHouse integration with LDAP regression module.
|
|
|
|
"""
|
|
|
|
nodes = {
|
|
|
|
"clickhouse": ("clickhouse1", "clickhouse2", "clickhouse3"),
|
|
|
|
}
|
2020-10-15 20:23:49 +00:00
|
|
|
|
2020-06-29 12:55:27 +00:00
|
|
|
with Cluster(local, clickhouse_binary_path, nodes=nodes) as cluster:
|
|
|
|
self.context.cluster = cluster
|
|
|
|
|
|
|
|
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"))
|
|
|
|
|
|
|
|
if main():
|
|
|
|
regression()
|