ClickHouse/tests/testflows/kerberos/regression.py
2022-03-22 17:39:58 +01:00

52 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import os
import sys
from testflows.core import *
append_path(sys.path, "..")
from helpers.cluster import Cluster
from helpers.argparser import argparser
from kerberos.requirements.requirements import *
xfails = {
"config/principal and realm specified/:": [
(Fail, "https://github.com/ClickHouse/ClickHouse/issues/26197")
],
}
@TestModule
@Name("kerberos")
@ArgumentParser(argparser)
@Requirements(RQ_SRS_016_Kerberos("1.0"))
@XFails(xfails)
def regression(
self, local, clickhouse_binary_path, clickhouse_version=None, stress=None
):
"""ClickHouse Kerberos authentication test regression module."""
nodes = {
"clickhouse": ("clickhouse1", "clickhouse2", "clickhouse3"),
"kerberos": ("kerberos",),
}
if stress is not None:
self.context.stress = stress
self.context.clickhouse_version = clickhouse_version
with Cluster(
local,
clickhouse_binary_path,
nodes=nodes,
docker_compose_project_dir=os.path.join(current_dir(), "kerberos_env"),
) as cluster:
self.context.cluster = cluster
Feature(run=load("kerberos.tests.generic", "generic"), flags=TE)
Feature(run=load("kerberos.tests.config", "config"), flags=TE)
Feature(run=load("kerberos.tests.parallel", "parallel"), flags=TE)
if main():
regression()