testit-adapter-pytest 2.3.1__tar.gz → 2.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/PKG-INFO +250 -246
  2. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/README.md +231 -231
  3. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/setup.cfg +4 -4
  4. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/setup.py +25 -25
  5. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest/fixture_context.py +33 -0
  6. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest/fixture_manager.py +60 -0
  7. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest/fixture_storage.py +40 -0
  8. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest/listener.py +323 -214
  9. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest/models/__init__.py +0 -0
  10. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest/models/fixture.py +24 -0
  11. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest/plugin.py +111 -111
  12. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest/utils.py +391 -364
  13. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest.egg-info/PKG-INFO +250 -246
  14. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest.egg-info/SOURCES.txt +6 -1
  15. testit-adapter-pytest-2.4.1/src/testit_adapter_pytest.egg-info/requires.txt +4 -0
  16. testit-adapter-pytest-2.3.1/src/testit_adapter_pytest.egg-info/requires.txt +0 -3
  17. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest/__init__.py +0 -0
  18. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest.egg-info/dependency_links.txt +0 -0
  19. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest.egg-info/entry_points.txt +0 -0
  20. {testit-adapter-pytest-2.3.1 → testit-adapter-pytest-2.4.1}/src/testit_adapter_pytest.egg-info/top_level.txt +0 -0
@@ -1,246 +1,250 @@
1
- Metadata-Version: 2.1
2
- Name: testit-adapter-pytest
3
- Version: 2.3.1
4
- Summary: Pytest adapter for Test IT
5
- Home-page: https://github.com/testit-tms/adapters-python/
6
- Author: Integration team
7
- Author-email: integrations@testit.software
8
- License: Apache-2.0
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.6
11
- Classifier: Programming Language :: Python :: 3.7
12
- Classifier: Programming Language :: Python :: 3.8
13
- Classifier: Programming Language :: Python :: 3.9
14
- Description-Content-Type: text/markdown
15
-
16
- # Test IT TMS adapter for Pytest
17
-
18
- ![Test IT](https://raw.githubusercontent.com/testit-tms/adapters-python/master/images/banner.png)
19
-
20
- ## Getting Started
21
-
22
- ### Installation
23
-
24
- ```
25
- pip install testit-adapter-pytest
26
- ```
27
-
28
- ##
29
-
30
- ### Configuration
31
-
32
- | Description | Property | Environment variable | CLI argument |
33
- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|-----------------------------------|-------------------------------|
34
- | Location of the TMS instance | url | TMS_URL | tmsUrl |
35
- | API secret key [How to getting API secret key?](https://github.com/testit-tms/.github/tree/main/configuration#privatetoken) | privateToken | TMS_PRIVATE_TOKEN | tmsPrivateToken |
36
- | ID of project in TMS instance [How to getting project ID?](https://github.com/testit-tms/.github/tree/main/configuration#projectid) | projectId | TMS_PROJECT_ID | tmsProjectId |
37
- | ID of configuration in TMS instance [How to getting configuration ID?](https://github.com/testit-tms/.github/tree/main/configuration#configurationid) | configurationId | TMS_CONFIGURATION_ID | tmsConfigurationId |
38
- | ID of the created test run in TMS instance.<br/>It's necessary for **adapterMode** 0 or 1 | testRunId | TMS_TEST_RUN_ID | tmsTestRunId |
39
- | Parameter for specifying the name of test run in TMS instance (**It's optional**). If it is not provided, it is created automatically | testRunName | TMS_TEST_RUN_NAME | tmsTestRunName |
40
- | Adapter mode. Default value - 0. The adapter supports following modes:<br/>0 - in this mode, the adapter filters tests by test run ID and configuration ID, and sends the results to the test run<br/>1 - in this mode, the adapter sends all results to the test run without filtering<br/>2 - in this mode, the adapter creates a new test run and sends results to the new test run | adapterMode | TMS_ADAPTER_MODE | tmsAdapterMode |
41
- | It enables/disables certificate validation (**It's optional**). Default value - true | certValidation | TMS_CERT_VALIDATION | tmsCertValidation |
42
- | Mode of automatic creation test cases (**It's optional**). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will create a test case linked to the created autotest (not to the updated autotest)<br/>false - in this mode, the adapter will not create a test case | automaticCreationTestCases | TMS_AUTOMATIC_CREATION_TEST_CASES | tmsAutomaticCreationTestCases |
43
- | Url of proxy server (**It's optional**) | tmsProxy | TMS_PROXY | tmsProxy |
44
- | Name of the configuration file If it is not provided, it is used default file name (**It's optional**) | - | TMS_CONFIG_FILE | tmsConfigFile |
45
-
46
- #### File
47
-
48
- Create **connection_config.ini** file in the root directory of the project:
49
- ```
50
- [testit]
51
- URL = URL
52
- privateToken = USER_PRIVATE_TOKEN
53
- projectId = PROJECT_ID
54
- configurationId = CONFIGURATION_ID
55
- testRunId = TEST_RUN_ID
56
- testRunName = TEST_RUN_NAME
57
- adapterMode = ADAPTER_MODE
58
- certValidation = CERT_VALIDATION
59
- automaticCreationTestCases = AUTOMATIC_CREATION_TEST_CASES
60
-
61
- # This section are optional. It enables debug mode.
62
- [debug]
63
- tmsProxy = TMS_PROXY
64
- ```
65
-
66
- #### Examples
67
-
68
- Launch with a connection_config.ini file in the root directory of the project:
69
-
70
- ```
71
- $ pytest --testit
72
- ```
73
-
74
- Launch with command-line parameters:
75
-
76
- ```
77
- $ pytest --testit --tmsUrl=URL --tmsPrivateToken=USER_PRIVATE_TOKEN --tmsProjectId=PROJECT_ID --tmsConfigurationId=CONFIGURATION_ID --tmsTestRunId=TEST_RUN_ID --tmsTestRunName=TEST_RUN_NAME --tmsAdapterMode=ADAPTER_MODE --tmsProxy='{"http":"http://localhost:8888","https":"http://localhost:8888"}' --tmsCertValidation=CERT_VALIDATION --tmsAutomaticCreationTestCases=AUTOMATIC_CREATION_TEST_CASES
78
- ```
79
-
80
- If you want to enable debug mode then
81
- see [How to enable debug logging?](https://github.com/testit-tms/adapters-python/tree/main/testit-python-commons)
82
-
83
- ### Decorators
84
-
85
- Decorators can be used to specify information about autotest.
86
-
87
- Description of decorators:
88
-
89
- - `testit.workItemIds` - linking an autotest to a test case
90
- - `testit.displayName` - name of the autotest in the TMS system (can be replaced with documentation strings)
91
- - `testit.externalId` - ID of the autotest within the project in the TMS system
92
- - `testit.title` - title in the autotest card
93
- - `testit.description` - description in the autotest card
94
- - `testit.labels` - tags in the work item
95
- - `testit.link` - links in the autotest card
96
- - `testit.step` - the designation of the step called in the body of the test or other step
97
- - `testit.nameSpace` - directory in the TMS system (default - file's name of test)
98
- - `testit.className` - subdirectory in the TMS system (default - class's name of test)
99
-
100
- All decorators support the use of parameterization attributes
101
-
102
- Description of methods:
103
-
104
- - `testit.addLinks` - links in the autotest result
105
- - `testit.addAttachments` - uploading files in the autotest result
106
- - `testit.addMessage` - information about autotest in the autotest result
107
- - `testit.step` - usage in the "with" construct to designation a step in the body of the test
108
-
109
- ### Examples
110
-
111
- #### Simple test
112
-
113
- ```py
114
- import pytest
115
- import testit
116
-
117
-
118
- # Test with a minimal set of decorators
119
- @testit.externalId('Simple_autotest2')
120
- def test_2():
121
- """Simple autotest 2"""
122
- assert oneStep()
123
- assert twoStep()
124
-
125
-
126
- @testit.step
127
- def oneStep():
128
- assert oneOneStep()
129
- assert oneTwoStep()
130
- return True
131
-
132
-
133
- @testit.step
134
- def twoStep():
135
- return True
136
-
137
-
138
- @testit.step('step 1.1', 'description')
139
- def oneOneStep():
140
- return True
141
-
142
-
143
- @testit.step('step 2')
144
- def oneTwoStep():
145
- return True
146
-
147
-
148
- @testit.externalId('Simple_test_skip')
149
- @testit.displayName('Simple test skip')
150
- @testit.links(url='https://dumps.example.com/module/JCP-777')
151
- @testit.links(url='https://dumps.example.com/module/JCP-777',
152
- title='JCP-777',
153
- type=testit.LinkType.RELATED,
154
- description='Description of JCP-777')
155
- @pytest.mark.skipif(True, reason='Because i can')
156
- def test_skip():
157
- assert True
158
- ```
159
-
160
- #### Parameterized test
161
-
162
- ```py
163
- # Parameterized test with a full set of decorators
164
- from os.path import join, dirname
165
-
166
- import pytest
167
- import testit
168
-
169
-
170
- @testit.workItemIds(627)
171
- @testit.displayName('Simple autotest 1 - {name}')
172
- @testit.externalId('Simple_autotest1_{name}')
173
- @testit.title('Authorization')
174
- @testit.description('E2E_autotest')
175
- @testit.labels('{labels}')
176
- @testit.links(links=[
177
- {'url': '{url}', 'type': '{link_type}', 'title': '{link_title}', 'description': '{link_desc}'},
178
- {'url': '{url}', 'type': '{link_type}', 'title': '{link_title}', 'description': '{link_desc}'}
179
- ])
180
- @pytest.mark.parametrize('name, labels, url, link_type, link_title, link_desc', [
181
- ('param 1', ['E2E', 'test'], 'https://dumps.example.com/module/JCP-777', testit.LinkType.DEFECT, 'JCP-777',
182
- 'Desc of JCP-777'),
183
- ('param 2', (), 'https://dumps.example.com/module/docs', testit.LinkType.RELATED, 'Documentation',
184
- 'Desc of JCP-777'),
185
- ('param 3', ('E2E', 'test'), 'https://dumps.example.com/module/projects', testit.LinkType.REQUIREMENT, 'Projects',
186
- 'Desc of Projects'),
187
- ('param 4', {'E2E', 'test'}, 'https://dumps.example.com/module/', testit.LinkType.BLOCKED_BY, '', ''),
188
- ('param 5', 'test', 'https://dumps.example.com/module/repository', testit.LinkType.REPOSITORY, 'Repository',
189
- 'Desc of Repository')
190
- ])
191
- def test_1(name, labels, url, link_type, link_title, link_desc):
192
- testit.addLinks(url='https://dumps.example.com/module/some_module_dump', title='component_dump.dmp',
193
- type=testit.LinkType.RELATED, description='Description')
194
- testit.addLinks(url='https://dumps.example.com/module/some_module_dump')
195
- testit.addLinks(links=[
196
- {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.BLOCKED_BY,
197
- 'title': 'component_dump.dmp', 'description': 'Description'},
198
- {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.DEFECT},
199
- {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.ISSUE,
200
- 'title': 'component_dump.dmp'},
201
- {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.REQUIREMENT,
202
- 'title': 'component_dump.dmp', 'description': 'Description'},
203
- {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.REPOSITORY,
204
- 'description': 'Description'},
205
- {'url': 'https://dumps.example.com/module/some_module_dump'}
206
- ])
207
- with testit.step('Log in the system', 'system authentication'):
208
- with testit.step('Enter the login', 'login was entered'):
209
- with testit.step('Enter the password', 'password was entered'):
210
- assert True
211
- with testit.step('Create a project', 'the project was created'):
212
- with testit.step('Enter the project', 'the contents of the project are displayed'):
213
- assert True
214
- with testit.step('Create a test case', 'test case was created'):
215
- assert True
216
- with testit.step('Attachments'):
217
- testit.addAttachments(
218
- join(dirname(__file__), 'docs/text_file.txt'),
219
- join(dirname(__file__), 'pictures/picture.jpg'),
220
- join(dirname(__file__), 'docs/document.docx')
221
- )
222
- testit.addAttachments(
223
- join(dirname(__file__), 'docs/document.doc'),
224
- join(dirname(__file__), 'docs/logs.log')
225
- )
226
- assert True
227
- ```
228
-
229
- # Contributing
230
-
231
- You can help to develop the project. Any contributions are **greatly appreciated**.
232
-
233
- * If you have suggestions for adding or removing projects, feel free
234
- to [open an issue](https://github.com/testit-tms/adapters-python/issues/new) to discuss it, or directly create a pull
235
- request after you edit the *README.md* file with necessary changes.
236
- * Please make sure you check your spelling and grammar.
237
- * Create individual PR for each suggestion.
238
- * Please also read through
239
- the [Code Of Conduct](https://github.com/testit-tms/adapters-python/blob/master/CODE_OF_CONDUCT.md) before posting
240
- your first idea as well.
241
-
242
- # License
243
-
244
- Distributed under the Apache-2.0 License.
245
- See [LICENSE](https://github.com/testit-tms/adapters-python/blob/master/LICENSE.md) for more information.
246
-
1
+ Metadata-Version: 2.1
2
+ Name: testit-adapter-pytest
3
+ Version: 2.4.1
4
+ Summary: Pytest adapter for Test IT
5
+ Home-page: https://github.com/testit-tms/adapters-python/
6
+ Author: Integration team
7
+ Author-email: integrations@testit.software
8
+ License: Apache-2.0
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.6
11
+ Classifier: Programming Language :: Python :: 3.7
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Description-Content-Type: text/markdown
15
+ Requires-Dist: pytest
16
+ Requires-Dist: pytest-xdist
17
+ Requires-Dist: attrs
18
+ Requires-Dist: testit-python-commons==2.4.1
19
+
20
+ # Test IT TMS adapter for Pytest
21
+
22
+ ![Test IT](https://raw.githubusercontent.com/testit-tms/adapters-python/master/images/banner.png)
23
+
24
+ ## Getting Started
25
+
26
+ ### Installation
27
+
28
+ ```
29
+ pip install testit-adapter-pytest
30
+ ```
31
+
32
+ ##
33
+
34
+ ### Configuration
35
+
36
+ | Description | Property | Environment variable | CLI argument |
37
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|-----------------------------------|-------------------------------|
38
+ | Location of the TMS instance | url | TMS_URL | tmsUrl |
39
+ | API secret key [How to getting API secret key?](https://github.com/testit-tms/.github/tree/main/configuration#privatetoken) | privateToken | TMS_PRIVATE_TOKEN | tmsPrivateToken |
40
+ | ID of project in TMS instance [How to getting project ID?](https://github.com/testit-tms/.github/tree/main/configuration#projectid) | projectId | TMS_PROJECT_ID | tmsProjectId |
41
+ | ID of configuration in TMS instance [How to getting configuration ID?](https://github.com/testit-tms/.github/tree/main/configuration#configurationid) | configurationId | TMS_CONFIGURATION_ID | tmsConfigurationId |
42
+ | ID of the created test run in TMS instance.<br/>It's necessary for **adapterMode** 0 or 1 | testRunId | TMS_TEST_RUN_ID | tmsTestRunId |
43
+ | Parameter for specifying the name of test run in TMS instance (**It's optional**). If it is not provided, it is created automatically | testRunName | TMS_TEST_RUN_NAME | tmsTestRunName |
44
+ | Adapter mode. Default value - 0. The adapter supports following modes:<br/>0 - in this mode, the adapter filters tests by test run ID and configuration ID, and sends the results to the test run<br/>1 - in this mode, the adapter sends all results to the test run without filtering<br/>2 - in this mode, the adapter creates a new test run and sends results to the new test run | adapterMode | TMS_ADAPTER_MODE | tmsAdapterMode |
45
+ | It enables/disables certificate validation (**It's optional**). Default value - true | certValidation | TMS_CERT_VALIDATION | tmsCertValidation |
46
+ | Mode of automatic creation test cases (**It's optional**). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will create a test case linked to the created autotest (not to the updated autotest)<br/>false - in this mode, the adapter will not create a test case | automaticCreationTestCases | TMS_AUTOMATIC_CREATION_TEST_CASES | tmsAutomaticCreationTestCases |
47
+ | Url of proxy server (**It's optional**) | tmsProxy | TMS_PROXY | tmsProxy |
48
+ | Name of the configuration file If it is not provided, it is used default file name (**It's optional**) | - | TMS_CONFIG_FILE | tmsConfigFile |
49
+
50
+ #### File
51
+
52
+ Create **connection_config.ini** file in the root directory of the project:
53
+ ```
54
+ [testit]
55
+ URL = URL
56
+ privateToken = USER_PRIVATE_TOKEN
57
+ projectId = PROJECT_ID
58
+ configurationId = CONFIGURATION_ID
59
+ testRunId = TEST_RUN_ID
60
+ testRunName = TEST_RUN_NAME
61
+ adapterMode = ADAPTER_MODE
62
+ certValidation = CERT_VALIDATION
63
+ automaticCreationTestCases = AUTOMATIC_CREATION_TEST_CASES
64
+
65
+ # This section are optional. It enables debug mode.
66
+ [debug]
67
+ tmsProxy = TMS_PROXY
68
+ ```
69
+
70
+ #### Examples
71
+
72
+ Launch with a connection_config.ini file in the root directory of the project:
73
+
74
+ ```
75
+ $ pytest --testit
76
+ ```
77
+
78
+ Launch with command-line parameters:
79
+
80
+ ```
81
+ $ pytest --testit --tmsUrl=URL --tmsPrivateToken=USER_PRIVATE_TOKEN --tmsProjectId=PROJECT_ID --tmsConfigurationId=CONFIGURATION_ID --tmsTestRunId=TEST_RUN_ID --tmsTestRunName=TEST_RUN_NAME --tmsAdapterMode=ADAPTER_MODE --tmsProxy='{"http":"http://localhost:8888","https":"http://localhost:8888"}' --tmsCertValidation=CERT_VALIDATION --tmsAutomaticCreationTestCases=AUTOMATIC_CREATION_TEST_CASES
82
+ ```
83
+
84
+ If you want to enable debug mode then
85
+ see [How to enable debug logging?](https://github.com/testit-tms/adapters-python/tree/main/testit-python-commons)
86
+
87
+ ### Decorators
88
+
89
+ Decorators can be used to specify information about autotest.
90
+
91
+ Description of decorators:
92
+
93
+ - `testit.workItemIds` - linking an autotest to a test case
94
+ - `testit.displayName` - name of the autotest in the TMS system (can be replaced with documentation strings)
95
+ - `testit.externalId` - ID of the autotest within the project in the TMS system
96
+ - `testit.title` - title in the autotest card
97
+ - `testit.description` - description in the autotest card
98
+ - `testit.labels` - tags in the work item
99
+ - `testit.link` - links in the autotest card
100
+ - `testit.step` - the designation of the step called in the body of the test or other step
101
+ - `testit.nameSpace` - directory in the TMS system (default - file's name of test)
102
+ - `testit.className` - subdirectory in the TMS system (default - class's name of test)
103
+
104
+ All decorators support the use of parameterization attributes
105
+
106
+ Description of methods:
107
+
108
+ - `testit.addLinks` - links in the autotest result
109
+ - `testit.addAttachments` - uploading files in the autotest result
110
+ - `testit.addMessage` - information about autotest in the autotest result
111
+ - `testit.step` - usage in the "with" construct to designation a step in the body of the test
112
+
113
+ ### Examples
114
+
115
+ #### Simple test
116
+
117
+ ```py
118
+ import pytest
119
+ import testit
120
+
121
+
122
+ # Test with a minimal set of decorators
123
+ @testit.externalId('Simple_autotest2')
124
+ def test_2():
125
+ """Simple autotest 2"""
126
+ assert oneStep()
127
+ assert twoStep()
128
+
129
+
130
+ @testit.step
131
+ def oneStep():
132
+ assert oneOneStep()
133
+ assert oneTwoStep()
134
+ return True
135
+
136
+
137
+ @testit.step
138
+ def twoStep():
139
+ return True
140
+
141
+
142
+ @testit.step('step 1.1', 'description')
143
+ def oneOneStep():
144
+ return True
145
+
146
+
147
+ @testit.step('step 2')
148
+ def oneTwoStep():
149
+ return True
150
+
151
+
152
+ @testit.externalId('Simple_test_skip')
153
+ @testit.displayName('Simple test skip')
154
+ @testit.links(url='https://dumps.example.com/module/JCP-777')
155
+ @testit.links(url='https://dumps.example.com/module/JCP-777',
156
+ title='JCP-777',
157
+ type=testit.LinkType.RELATED,
158
+ description='Description of JCP-777')
159
+ @pytest.mark.skipif(True, reason='Because i can')
160
+ def test_skip():
161
+ assert True
162
+ ```
163
+
164
+ #### Parameterized test
165
+
166
+ ```py
167
+ # Parameterized test with a full set of decorators
168
+ from os.path import join, dirname
169
+
170
+ import pytest
171
+ import testit
172
+
173
+
174
+ @testit.workItemIds(627)
175
+ @testit.displayName('Simple autotest 1 - {name}')
176
+ @testit.externalId('Simple_autotest1_{name}')
177
+ @testit.title('Authorization')
178
+ @testit.description('E2E_autotest')
179
+ @testit.labels('{labels}')
180
+ @testit.links(links=[
181
+ {'url': '{url}', 'type': '{link_type}', 'title': '{link_title}', 'description': '{link_desc}'},
182
+ {'url': '{url}', 'type': '{link_type}', 'title': '{link_title}', 'description': '{link_desc}'}
183
+ ])
184
+ @pytest.mark.parametrize('name, labels, url, link_type, link_title, link_desc', [
185
+ ('param 1', ['E2E', 'test'], 'https://dumps.example.com/module/JCP-777', testit.LinkType.DEFECT, 'JCP-777',
186
+ 'Desc of JCP-777'),
187
+ ('param 2', (), 'https://dumps.example.com/module/docs', testit.LinkType.RELATED, 'Documentation',
188
+ 'Desc of JCP-777'),
189
+ ('param 3', ('E2E', 'test'), 'https://dumps.example.com/module/projects', testit.LinkType.REQUIREMENT, 'Projects',
190
+ 'Desc of Projects'),
191
+ ('param 4', {'E2E', 'test'}, 'https://dumps.example.com/module/', testit.LinkType.BLOCKED_BY, '', ''),
192
+ ('param 5', 'test', 'https://dumps.example.com/module/repository', testit.LinkType.REPOSITORY, 'Repository',
193
+ 'Desc of Repository')
194
+ ])
195
+ def test_1(name, labels, url, link_type, link_title, link_desc):
196
+ testit.addLinks(url='https://dumps.example.com/module/some_module_dump', title='component_dump.dmp',
197
+ type=testit.LinkType.RELATED, description='Description')
198
+ testit.addLinks(url='https://dumps.example.com/module/some_module_dump')
199
+ testit.addLinks(links=[
200
+ {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.BLOCKED_BY,
201
+ 'title': 'component_dump.dmp', 'description': 'Description'},
202
+ {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.DEFECT},
203
+ {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.ISSUE,
204
+ 'title': 'component_dump.dmp'},
205
+ {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.REQUIREMENT,
206
+ 'title': 'component_dump.dmp', 'description': 'Description'},
207
+ {'url': 'https://dumps.example.com/module/some_module_dump', 'type': testit.LinkType.REPOSITORY,
208
+ 'description': 'Description'},
209
+ {'url': 'https://dumps.example.com/module/some_module_dump'}
210
+ ])
211
+ with testit.step('Log in the system', 'system authentication'):
212
+ with testit.step('Enter the login', 'login was entered'):
213
+ with testit.step('Enter the password', 'password was entered'):
214
+ assert True
215
+ with testit.step('Create a project', 'the project was created'):
216
+ with testit.step('Enter the project', 'the contents of the project are displayed'):
217
+ assert True
218
+ with testit.step('Create a test case', 'test case was created'):
219
+ assert True
220
+ with testit.step('Attachments'):
221
+ testit.addAttachments(
222
+ join(dirname(__file__), 'docs/text_file.txt'),
223
+ join(dirname(__file__), 'pictures/picture.jpg'),
224
+ join(dirname(__file__), 'docs/document.docx')
225
+ )
226
+ testit.addAttachments(
227
+ join(dirname(__file__), 'docs/document.doc'),
228
+ join(dirname(__file__), 'docs/logs.log')
229
+ )
230
+ assert True
231
+ ```
232
+
233
+ # Contributing
234
+
235
+ You can help to develop the project. Any contributions are **greatly appreciated**.
236
+
237
+ * If you have suggestions for adding or removing projects, feel free
238
+ to [open an issue](https://github.com/testit-tms/adapters-python/issues/new) to discuss it, or directly create a pull
239
+ request after you edit the *README.md* file with necessary changes.
240
+ * Please make sure you check your spelling and grammar.
241
+ * Create individual PR for each suggestion.
242
+ * Please also read through
243
+ the [Code Of Conduct](https://github.com/testit-tms/adapters-python/blob/master/CODE_OF_CONDUCT.md) before posting
244
+ your first idea as well.
245
+
246
+ # License
247
+
248
+ Distributed under the Apache-2.0 License.
249
+ See [LICENSE](https://github.com/testit-tms/adapters-python/blob/master/LICENSE.md) for more information.
250
+