Skip to content

Commit e4dbf65

Browse files
committed
Fix tests
1 parent dcff1be commit e4dbf65

File tree

5 files changed

+22
-60
lines changed

5 files changed

+22
-60
lines changed

pytest_reportportal/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def __init__(self, pytest_config: Config) -> None:
164164
pytest_config, 'rp_launch_uuid_print'
165165
) or 'False'))
166166
print_output = self.find_option(pytest_config, 'rp_launch_uuid_print_output')
167-
self.rp_launch_uuid_print_output = OutputType[print_output] if print_output else None
167+
self.rp_launch_uuid_print_output = OutputType[print_output.upper()] if print_output else None
168168
client_type = self.find_option(pytest_config, 'rp_client_type')
169169
self.rp_client_type = ClientType[client_type.upper()] if client_type else ClientType.SYNC
170170

pytest_reportportal/plugin.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import requests
2424
from reportportal_client import RPLogHandler
2525
from reportportal_client.errors import ResponseError
26-
from reportportal_client.logs.log_manager import MAX_LOG_BATCH_PAYLOAD_SIZE
26+
from reportportal_client.logs import MAX_LOG_BATCH_PAYLOAD_SIZE
2727

2828
from pytest_reportportal import LAUNCH_WAIT_TIMEOUT
2929
from .config import AgentConfig
@@ -402,13 +402,11 @@ def add_shared_option(name, help_str, default=None, action='store'):
402402
)
403403
add_shared_option(
404404
name='rp_launch_uuid_print',
405-
help_str='Enables printing Launch UUID on test run start. Possible values: [True, False]',
406-
default='False'
405+
help_str='Enables printing Launch UUID on test run start. Possible values: [True, False]'
407406
)
408407
add_shared_option(
409408
name='rp_launch_uuid_print_output',
410-
help_str='Launch UUID print output. Default `stdout`. Possible values: [stderr, stdout]',
411-
default='stdout'
409+
help_str='Launch UUID print output. Default `stdout`. Possible values: [stderr, stdout]'
412410
)
413411

414412
parser.addini(
@@ -500,3 +498,8 @@ def add_shared_option(name, help_str, default=None, action='store'):
500498
help='Maximum time to wait for child processes finish, default value: '
501499
'86400 seconds (1 day)'
502500
)
501+
parser.addini(
502+
'rp_client_type',
503+
help='Type of the under-the-hood ReportPortal client implementation. Possible values: [SYNC, ASYNC_THREAD, '
504+
'ASYNC_BATCHED]'
505+
)

tests/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,4 @@
1414
limitations under the License
1515
"""
1616

17-
REPORT_PORTAL_PACKAGE = 'pytest_reportportal'
18-
19-
REPORT_PORTAL_SERVICE = REPORT_PORTAL_PACKAGE + '.service.RPClient'
17+
REPORT_PORTAL_SERVICE = 'reportportal_client.RPClient'

tests/helpers/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def attributes_to_tuples(attributes):
138138
# noinspection PyProtectedMember
139139
def run_tests_with_client(client, tests, args=None, variables=None):
140140
def test_func():
141-
from reportportal_client._local import set_current
141+
from reportportal_client import set_current
142142
set_current(client)
143143
return run_pytest_tests(tests, args, variables)
144144

tests/integration/test_config_handling.py

Lines changed: 11 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
import sys
1616
import warnings
1717
from io import StringIO
18+
from unittest import mock
1819

1920
from delayed_assert import expect, assert_expectations
20-
from unittest import mock
2121

22+
from reportportal_client import OutputType
2223
from examples.test_rp_logging import LOG_MESSAGE
23-
from pytest_reportportal.config import OUTPUT_TYPES
2424
from tests import REPORT_PORTAL_SERVICE
2525
from tests.helpers import utils
2626

@@ -285,20 +285,11 @@ def test_launch_uuid_print(mock_client_init):
285285
print_uuid = True
286286
variables = utils.DEFAULT_VARIABLES.copy()
287287
variables.update({'rp_launch_uuid_print': str(print_uuid)}.items())
288-
289-
str_io = StringIO()
290-
stdout = sys.stdout
291-
try:
292-
OUTPUT_TYPES['stdout'] = str_io
293-
result = utils.run_pytest_tests(['examples/test_rp_logging.py'],
294-
variables=variables)
295-
finally:
296-
OUTPUT_TYPES['stdout'] = stdout
297-
288+
result = utils.run_pytest_tests(['examples/test_rp_logging.py'], variables=variables)
298289
assert int(result) == 0, 'Exit code should be 0 (no errors)'
299290
expect(mock_client_init.call_count == 1)
300291
expect(mock_client_init.call_args_list[0][1]['launch_uuid_print'] == print_uuid)
301-
expect(mock_client_init.call_args_list[0][1]['print_output'] is str_io)
292+
expect(mock_client_init.call_args_list[0][1]['print_output'] is None)
302293
assert_expectations()
303294

304295

@@ -307,20 +298,11 @@ def test_launch_uuid_print_stderr(mock_client_init):
307298
print_uuid = True
308299
variables = utils.DEFAULT_VARIABLES.copy()
309300
variables.update({'rp_launch_uuid_print': str(print_uuid), 'rp_launch_uuid_print_output': 'stderr'}.items())
310-
311-
str_io = StringIO()
312-
stderr = sys.stderr
313-
try:
314-
OUTPUT_TYPES['stderr'] = str_io
315-
result = utils.run_pytest_tests(['examples/test_rp_logging.py'],
316-
variables=variables)
317-
finally:
318-
OUTPUT_TYPES['stderr'] = stderr
319-
301+
result = utils.run_pytest_tests(['examples/test_rp_logging.py'], variables=variables)
320302
assert int(result) == 0, 'Exit code should be 0 (no errors)'
321303
expect(mock_client_init.call_count == 1)
322304
expect(mock_client_init.call_args_list[0][1]['launch_uuid_print'] == print_uuid)
323-
expect(mock_client_init.call_args_list[0][1]['print_output'] is str_io)
305+
expect(mock_client_init.call_args_list[0][1]['print_output'] is OutputType.STDERR)
324306
assert_expectations()
325307

326308

@@ -329,38 +311,17 @@ def test_launch_uuid_print_invalid_output(mock_client_init):
329311
print_uuid = True
330312
variables = utils.DEFAULT_VARIABLES.copy()
331313
variables.update({'rp_launch_uuid_print': str(print_uuid), 'rp_launch_uuid_print_output': 'something'}.items())
332-
333-
str_io = StringIO()
334-
stdout = sys.stdout
335-
try:
336-
OUTPUT_TYPES['stdout'] = str_io
337-
result = utils.run_pytest_tests(['examples/test_rp_logging.py'],
338-
variables=variables)
339-
finally:
340-
OUTPUT_TYPES['stdout'] = stdout
341-
342-
assert int(result) == 0, 'Exit code should be 0 (no errors)'
343-
expect(mock_client_init.call_count == 1)
344-
expect(mock_client_init.call_args_list[0][1]['launch_uuid_print'] == print_uuid)
345-
expect(mock_client_init.call_args_list[0][1]['print_output'] is str_io)
346-
assert_expectations()
314+
result = utils.run_pytest_tests(['examples/test_rp_logging.py'], variables=variables)
315+
assert int(result) == 3, 'Exit code should be 3 (INTERNALERROR)'
316+
assert mock_client_init.call_count == 0
347317

348318

349319
@mock.patch(REPORT_PORTAL_SERVICE)
350320
def test_no_launch_uuid_print(mock_client_init):
351321
variables = utils.DEFAULT_VARIABLES.copy()
352-
353-
str_io = StringIO()
354-
stdout = sys.stdout
355-
try:
356-
OUTPUT_TYPES['stdout'] = str_io
357-
result = utils.run_pytest_tests(['examples/test_rp_logging.py'],
358-
variables=variables)
359-
finally:
360-
OUTPUT_TYPES['stdout'] = stdout
361-
322+
result = utils.run_pytest_tests(['examples/test_rp_logging.py'], variables=variables)
362323
assert int(result) == 0, 'Exit code should be 0 (no errors)'
363324
expect(mock_client_init.call_count == 1)
364325
expect(mock_client_init.call_args_list[0][1]['launch_uuid_print'] is False)
365-
expect(mock_client_init.call_args_list[0][1]['print_output'] is str_io)
326+
expect(mock_client_init.call_args_list[0][1]['print_output'] is None)
366327
assert_expectations()

0 commit comments

Comments
 (0)