Skip to content

Commit 5f9db37

Browse files
committed
test: support running in both enviro
Signed-off-by: Vladislav Polyakov <[email protected]>
1 parent c1f67f6 commit 5f9db37

File tree

5 files changed

+38
-14
lines changed

5 files changed

+38
-14
lines changed

.devcontainer/compose.yml

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ services:
2828
- YDB_CONNECTION_STRING=grpc://ydb:2136/local
2929
- YDB_CONNECTION_STRING_SECURE=grpcs://ydb:2135/local
3030
- YDB_SSL_ROOT_CERTIFICATES_FILE=/ydb_certs/ca.pem
31+
- TEST_COMPOSE_FILE=compose.remote.yml
3132

3233
# Overrides default command so things don't shut down after the process ends.
3334
command: sleep infinity

compose.remote.yml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
networks:
2+
default:
3+
name: ydb-python-sdk_default
4+
external: true
5+
6+
services:
7+
py-sdk-ydb:
8+
image: ydbplatform/local-ydb:trunk
9+
restart: always
10+
hostname: py-sdk-ydb
11+
ports:
12+
- 2135
13+
- 2136
14+
- 8765
15+
volumes:
16+
- ./ydb_certs:/ydb_certs
17+
environment:
18+
- YDB_USE_IN_MEMORY_PDISKS=true
19+
- YDB_ENABLE_COLUMN_TABLES=true
20+
- GRPC_TLS_PORT=2135
21+
- GRPC_PORT=2136
22+
- MON_PORT=8765

compose.yml

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
networks:
2-
default:
3-
external: true
4-
name: ydb-python-sdk_default
5-
61
services:
72
py-sdk-ydb:
83
image: ydbplatform/local-ydb:trunk
94
restart: always
10-
hostname: py-sdk-ydb
5+
hostname: localhost
116
ports:
127
- 2135
138
- 2136

tests/conftest.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88

99
@pytest.fixture(scope="module")
1010
def docker_compose_file(pytestconfig):
11-
return os.path.join(str(pytestconfig.rootdir), "compose.yml")
11+
f = "compose.yml"
12+
if os.environ.get('REMOTE_CONTAINERS') is not None:
13+
f = "compose.remote.yml"
14+
15+
return os.path.join(str(pytestconfig.rootdir), f)
1216

1317

1418
def wait_container_ready(driver):

tox.ini

+9-7
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ install_command = pip install {opts} {packages}
1010
setenv =
1111
PYTHONPATH = {env:PYTHONPATH}{:}{toxinidir}
1212
REMOTE_CONTAINERS = {env:REMOTE_CONTAINERS}
13+
TEST_COMPOSE_FILE = {env:TEST_COMPOSE_FILE:compose.yml}
1314
deps =
1415
-r{toxinidir}/test-requirements.txt
1516

17+
1618
[testenv:dev-proto5]
1719
commands =
1820
deps =
@@ -33,14 +35,14 @@ deps =
3335

3436
[testenv:py]
3537
commands =
36-
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
38+
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
3739
deps =
3840
-r{toxinidir}/test-requirements.txt
3941
protobuf<6.0.0
4042

4143
[testenv:py-proto4]
4244
commands =
43-
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
45+
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
4446
deps =
4547
-r{toxinidir}/test-requirements.txt
4648
protobuf<5.0.0
@@ -49,35 +51,35 @@ deps =
4951
commands =
5052
pytest -v -m "not tls" \
5153
--cov-report html:cov_html --cov=ydb \
52-
--docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
54+
--docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
5355
deps =
5456
-r{toxinidir}/test-requirements.txt
5557
protobuf<5.0.0
5658

5759
[testenv:py-proto3]
5860
commands =
59-
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
61+
pytest -v -m "not tls" --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
6062
deps =
6163
-r{toxinidir}/test-requirements.txt
6264
protobuf<4.0.0
6365

6466
[testenv:py-tls]
6567
commands =
66-
pytest -v -m tls --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
68+
pytest -v -m tls --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
6769
deps =
6870
-r{toxinidir}/test-requirements.txt
6971
protobuf<6.0.0
7072

7173
[testenv:py-tls-proto4]
7274
commands =
73-
pytest -v -m tls --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
75+
pytest -v -m tls --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
7476
deps =
7577
-r{toxinidir}/test-requirements.txt
7678
protobuf<5.0.0
7779

7880
[testenv:py-tls-proto3]
7981
commands =
80-
pytest -v -m tls --docker-compose-remove-volumes --docker-compose=compose.yml {posargs}
82+
pytest -v -m tls --docker-compose-remove-volumes --docker-compose={env:TEST_COMPOSE_FILE} {posargs}
8183
deps =
8284
-r{toxinidir}/test-requirements.txt
8385
protobuf<4.0.0

0 commit comments

Comments
 (0)