userver: samples/kafka_service/testsuite/conftest.py
Loading...
Searching...
No Matches
samples/kafka_service/testsuite/conftest.py
1import json
2
3import pytest
4
5# /// [Kafka service sample - kafka testsuite include]
6
7pytest_plugins = ['pytest_userver.plugins.kafka']
8
9# /// [Kafka service sample - kafka testsuite include]
10
11
12# /// [Kafka service sample - secdist]
13@pytest.fixture(scope='session')
14def kafka_components() -> list[str]:
15 return ['kafka-consumer', 'kafka-producer']
16
17
18@pytest.fixture(scope='session')
19def service_env(kafka_secdist) -> dict:
20 """
21 Note: kafka_secist fixture generates the secdist config
22
23 Expected secdist format is:
24 "kafka_settings": {
25 "<kafka-component-name>": {
26 "brokers": "<brokers comma-separated endpoint list>",
27 "username": "SASL2 username (may be empty if use PLAINTEXT)",
28 "password": "SASL2 password (may be empty if use PLAINTEXT)"
29 }
30 }
31 """
32
33 return {'SECDIST_CONFIG': json.dumps(kafka_secdist)}
34 # /// [Kafka service sample - secdist]
35
36
37@pytest.fixture(scope='session')
38def kafka_local(_patched_bootstrap_servers_internal):
39 """
40 Note: Should not be used, if using basic Kafka testsuite plugin.
41
42 kafka_local is testsuite's fixture that is redefined
43 to use custom Kafka cluster,
44 but with kafka_producer and kafka_consumer fixtures.
45 Here is only needed for internal testing purposes.
46 """
47 return _patched_bootstrap_servers_internal