-
Notifications
You must be signed in to change notification settings - Fork 0
/
conftest.py
66 lines (49 loc) · 1.74 KB
/
conftest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import pytest
import logging
import os
import fnmatch
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.DEBUG)
class TSFilesReader(object):
def __init__(self, test_suite_folder):
self.__ts_files_list = [os.path.abspath(os.path.join(test_suite_folder, item))
for item in os.listdir(test_suite_folder) if fnmatch.fnmatch(item, '*.py')]
@property
def ts_files_list(self):
return self.__ts_files_list
def get_file_item(self):
for file_item in self.ts_files_list:
yield file_item
def get_len_of_list(self):
return len(self.ts_files_list)
class TSTestsResults(object):
def __init__(self):
self.__succeed_tests = list()
self.__failed_tests = list()
@property
def succeed_tests(self):
return self.__succeed_tests
@property
def faield_tests(self):
return self.__failed_tests
def add_succeed(self, test_file):
self.__succeed_tests.append(test_file)
return self
def add_failed(self, test_file):
self.__failed_tests.append(test_file)
return self
def count_of_succeed_tests(self):
return len(self.__succeed_tests)
def count_of_failed_tests(self):
return len(self.__failed_tests)
@pytest.yield_fixture(scope="session", params=['test-suite'])
def ts_provider(request):
"""Read files absolute paths into a list from test-suite directory"""
logger.info("Getting list of paths of the test suite files")
yield TSFilesReader(request.param)
@pytest.yield_fixture(scope="function")
def ts_results():
"""Initializing TS test results store"""
logger.info("Initializing TS test results store")
yield TSTestsResults()