Skip to content

Commit 01e4ec4

Browse files
committed
chore: wip on using test containers on examples
1 parent 882f4a2 commit 01e4ec4

File tree

4 files changed

+41
-5
lines changed

4 files changed

+41
-5
lines changed

examples/e2e/run_pytest.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@ sleep 3
1919

2020
pytest
2121

22-
teardown()
23-
22+
teardown()

examples/e2e/tests/broker_container.py

Whitespace-only changes.

examples/e2e/tests/consumer/test_user_consumer.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import os
55
import atexit
66

7+
from testcontainers.compose import DockerCompose
8+
79
import pytest
810
from pact import Consumer, Like, Provider, Term, Format
911

@@ -30,6 +32,25 @@ def consumer():
3032
.format(host=PACT_MOCK_HOST, port=PACT_MOCK_PORT)
3133
)
3234

35+
@pytest.fixture(scope='session')
36+
def broker(request):
37+
version = request.config.getoption('--publish-pact')
38+
publish = True if version else False
39+
40+
if not publish:
41+
return
42+
43+
print('Starting broker')
44+
with DockerCompose("../broker",
45+
compose_file_name=["docker-compose.yml"],
46+
pull=True) as compose:
47+
48+
stdout, stderr = compose.get_logs()
49+
if stderr:
50+
print("Errors\\n:{}".format(stderr))
51+
print(stdout)
52+
yield
53+
3354

3455
@pytest.fixture(scope='session')
3556
def pact(request):
@@ -43,13 +64,13 @@ def pact(request):
4364

4465
print('start service')
4566
pact.start_service()
46-
atexit.register(pact.stop_service)
67+
# atexit.register(pact.stop_service)
4768

4869
yield pact
4970
print('stop service')
5071
pact.stop_service()
5172

52-
def test_get_user_non_admin(pact, consumer):
73+
def test_get_user_non_admin(broker, pact, consumer):
5374
expected = {
5475
'name': 'UserA',
5576
'id': Format().uuid,
@@ -72,7 +93,7 @@ def test_get_user_non_admin(pact, consumer):
7293
assert user.name == 'UserA'
7394

7495

75-
def test_get_non_existing_user(pact, consumer):
96+
def test_get_non_existing_user(broker, pact, consumer):
7697
(pact
7798
.given('UserA does not exist')
7899
.upon_receiving('a request for UserA')

examples/e2e/tests/provider/test_provider.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import logging
44
import os
5+
from testcontainers.compose import DockerCompose
56

67
from pact import Verifier
8+
import pytest
79

810
log = logging.getLogger(__name__)
911
logging.basicConfig(level=logging.INFO)
@@ -33,3 +35,17 @@ def test_get_user_non_admin():
3335
provider_states_setup_url="{}/_pact/provider_states".format(PACT_URL))
3436

3537
assert (output == 0)
38+
39+
40+
# @pytest.fixture(scope='session')
41+
# def broker():
42+
# print('Starting broker')
43+
# with DockerCompose("../broker",
44+
# compose_file_name=["docker-compose.yml"],
45+
# pull=True) as compose:
46+
47+
# stdout, stderr = compose.get_logs()
48+
# if stderr:
49+
# print("Errors\\n:{}".format(stderr))
50+
# print(stdout)
51+
# yield

0 commit comments

Comments
 (0)