savetest-cli 0.1.2__tar.gz → 0.1.3__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.
- {savetest_cli-0.1.2/savetest_cli.egg-info → savetest_cli-0.1.3}/PKG-INFO +26 -1
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/README.md +25 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/pyproject.toml +1 -1
- savetest_cli-0.1.3/savetest_cli/__init__.py +1 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli/cli.py +100 -3
- {savetest_cli-0.1.2 → savetest_cli-0.1.3/savetest_cli.egg-info}/PKG-INFO +26 -1
- savetest_cli-0.1.2/savetest_cli/__init__.py +0 -1
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/MANIFEST.in +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli/pwa-512x512.png +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli.egg-info/SOURCES.txt +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli.egg-info/dependency_links.txt +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli.egg-info/entry_points.txt +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli.egg-info/requires.txt +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/savetest_cli.egg-info/top_level.txt +0 -0
- {savetest_cli-0.1.2 → savetest_cli-0.1.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: savetest-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: CLI for SaveTest: zip Allure results and upload them to SaveTest
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -53,6 +53,14 @@ savetest upload --test-run-name "Smoke $(date +%Y-%m-%d)"
|
|
|
53
53
|
| `SAVETEST_BRANCH` | нет | Ветка Git, привязываемая к тест-рану |
|
|
54
54
|
| `SAVETEST_TEST_RUN_ID` | нет | ID существующего тест-рана (если не задан — создаётся новый) |
|
|
55
55
|
| `SAVETEST_TEST_RUN_NAME` | нет | Имя нового тест-рана |
|
|
56
|
+
| `SAVETEST_TEST_RUN_DESCRIPTION` | нет | Описание нового тест-рана |
|
|
57
|
+
| `SAVETEST_TEST_RUN_VERSION` | нет | Версия системы |
|
|
58
|
+
| `SAVETEST_TEST_RUN_REVISION` | нет | Ревизия / номер сборки |
|
|
59
|
+
| `SAVETEST_TEST_RUN_OBJECT` | нет | Объект тестирования |
|
|
60
|
+
| `SAVETEST_EPIC_ID` | нет | ID эпика для привязки тест-рана |
|
|
61
|
+
| `SAVETEST_EPIC_NAME` | нет | Наименование эпика в проекте (если ID неизвестен) |
|
|
62
|
+
| `SAVETEST_CONFIGURATION_ID` | нет | ID конфигурации тест-рана |
|
|
63
|
+
| `SAVETEST_CONFIGURATION_NAME` | нет | Наименование конфигурации в проекте |
|
|
56
64
|
| `SAVETEST_INCLUDE_ATTACHMENTS` | нет | `true` — включать вложения в ZIP, `false` — исключать (быстрее) |
|
|
57
65
|
|
|
58
66
|
---
|
|
@@ -103,6 +111,14 @@ savetest upload [OPTIONS]
|
|
|
103
111
|
| `--zip-file`, `-z` | — | `allure-results.zip` | Путь к ZIP-файлу |
|
|
104
112
|
| `--branch`, `-b` | `SAVETEST_BRANCH` | — | Ветка Git |
|
|
105
113
|
| `--test-run-name` | `SAVETEST_TEST_RUN_NAME` | — | Имя нового тест-рана |
|
|
114
|
+
| `--description` | `SAVETEST_TEST_RUN_DESCRIPTION` | — | Описание нового тест-рана |
|
|
115
|
+
| `--version` | `SAVETEST_TEST_RUN_VERSION` | — | Версия системы |
|
|
116
|
+
| `--revision` | `SAVETEST_TEST_RUN_REVISION` | — | Ревизия / номер сборки |
|
|
117
|
+
| `--test-object` | `SAVETEST_TEST_RUN_OBJECT` | — | Объект тестирования |
|
|
118
|
+
| `--epic-id` | `SAVETEST_EPIC_ID` | — | ID эпика |
|
|
119
|
+
| `--epic-name` | `SAVETEST_EPIC_NAME` | — | Наименование эпика в проекте |
|
|
120
|
+
| `--configuration-id` | `SAVETEST_CONFIGURATION_ID` | — | ID конфигурации |
|
|
121
|
+
| `--configuration-name` | `SAVETEST_CONFIGURATION_NAME` | — | Наименование конфигурации |
|
|
106
122
|
| `--test-run-id` | `SAVETEST_TEST_RUN_ID` | — | ID существующего тест-рана |
|
|
107
123
|
| `--include-attachments` | `SAVETEST_INCLUDE_ATTACHMENTS` | выключено | Сообщить серверу, что ZIP содержит вложения |
|
|
108
124
|
| `--chunk-size` | — | `50` | Размер чанка при загрузке (МБ) |
|
|
@@ -122,6 +138,15 @@ export SAVETEST_PROJECT_ID=42
|
|
|
122
138
|
|
|
123
139
|
savetest upload --branch main --test-run-name "Regression $(date +%Y-%m-%d)"
|
|
124
140
|
|
|
141
|
+
# Новый тест-ран с эпиком, конфигурацией и метаданными
|
|
142
|
+
savetest upload \
|
|
143
|
+
--branch main \
|
|
144
|
+
--test-run-name "Smoke $(date +%Y-%m-%d)" \
|
|
145
|
+
--epic-name "Release 2.4" \
|
|
146
|
+
--configuration-name "Chrome / Windows" \
|
|
147
|
+
--version "2.4.0" \
|
|
148
|
+
--description "Nightly smoke on staging"
|
|
149
|
+
|
|
125
150
|
# Загрузить в существующий тест-ран
|
|
126
151
|
savetest upload --branch main --test-run-id 17
|
|
127
152
|
|
|
@@ -43,6 +43,14 @@ savetest upload --test-run-name "Smoke $(date +%Y-%m-%d)"
|
|
|
43
43
|
| `SAVETEST_BRANCH` | нет | Ветка Git, привязываемая к тест-рану |
|
|
44
44
|
| `SAVETEST_TEST_RUN_ID` | нет | ID существующего тест-рана (если не задан — создаётся новый) |
|
|
45
45
|
| `SAVETEST_TEST_RUN_NAME` | нет | Имя нового тест-рана |
|
|
46
|
+
| `SAVETEST_TEST_RUN_DESCRIPTION` | нет | Описание нового тест-рана |
|
|
47
|
+
| `SAVETEST_TEST_RUN_VERSION` | нет | Версия системы |
|
|
48
|
+
| `SAVETEST_TEST_RUN_REVISION` | нет | Ревизия / номер сборки |
|
|
49
|
+
| `SAVETEST_TEST_RUN_OBJECT` | нет | Объект тестирования |
|
|
50
|
+
| `SAVETEST_EPIC_ID` | нет | ID эпика для привязки тест-рана |
|
|
51
|
+
| `SAVETEST_EPIC_NAME` | нет | Наименование эпика в проекте (если ID неизвестен) |
|
|
52
|
+
| `SAVETEST_CONFIGURATION_ID` | нет | ID конфигурации тест-рана |
|
|
53
|
+
| `SAVETEST_CONFIGURATION_NAME` | нет | Наименование конфигурации в проекте |
|
|
46
54
|
| `SAVETEST_INCLUDE_ATTACHMENTS` | нет | `true` — включать вложения в ZIP, `false` — исключать (быстрее) |
|
|
47
55
|
|
|
48
56
|
---
|
|
@@ -93,6 +101,14 @@ savetest upload [OPTIONS]
|
|
|
93
101
|
| `--zip-file`, `-z` | — | `allure-results.zip` | Путь к ZIP-файлу |
|
|
94
102
|
| `--branch`, `-b` | `SAVETEST_BRANCH` | — | Ветка Git |
|
|
95
103
|
| `--test-run-name` | `SAVETEST_TEST_RUN_NAME` | — | Имя нового тест-рана |
|
|
104
|
+
| `--description` | `SAVETEST_TEST_RUN_DESCRIPTION` | — | Описание нового тест-рана |
|
|
105
|
+
| `--version` | `SAVETEST_TEST_RUN_VERSION` | — | Версия системы |
|
|
106
|
+
| `--revision` | `SAVETEST_TEST_RUN_REVISION` | — | Ревизия / номер сборки |
|
|
107
|
+
| `--test-object` | `SAVETEST_TEST_RUN_OBJECT` | — | Объект тестирования |
|
|
108
|
+
| `--epic-id` | `SAVETEST_EPIC_ID` | — | ID эпика |
|
|
109
|
+
| `--epic-name` | `SAVETEST_EPIC_NAME` | — | Наименование эпика в проекте |
|
|
110
|
+
| `--configuration-id` | `SAVETEST_CONFIGURATION_ID` | — | ID конфигурации |
|
|
111
|
+
| `--configuration-name` | `SAVETEST_CONFIGURATION_NAME` | — | Наименование конфигурации |
|
|
96
112
|
| `--test-run-id` | `SAVETEST_TEST_RUN_ID` | — | ID существующего тест-рана |
|
|
97
113
|
| `--include-attachments` | `SAVETEST_INCLUDE_ATTACHMENTS` | выключено | Сообщить серверу, что ZIP содержит вложения |
|
|
98
114
|
| `--chunk-size` | — | `50` | Размер чанка при загрузке (МБ) |
|
|
@@ -112,6 +128,15 @@ export SAVETEST_PROJECT_ID=42
|
|
|
112
128
|
|
|
113
129
|
savetest upload --branch main --test-run-name "Regression $(date +%Y-%m-%d)"
|
|
114
130
|
|
|
131
|
+
# Новый тест-ран с эпиком, конфигурацией и метаданными
|
|
132
|
+
savetest upload \
|
|
133
|
+
--branch main \
|
|
134
|
+
--test-run-name "Smoke $(date +%Y-%m-%d)" \
|
|
135
|
+
--epic-name "Release 2.4" \
|
|
136
|
+
--configuration-name "Chrome / Windows" \
|
|
137
|
+
--version "2.4.0" \
|
|
138
|
+
--description "Nightly smoke on staging"
|
|
139
|
+
|
|
115
140
|
# Загрузить в существующий тест-ран
|
|
116
141
|
savetest upload --branch main --test-run-id 17
|
|
117
142
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.3"
|
|
@@ -4,7 +4,7 @@ import sys
|
|
|
4
4
|
import time
|
|
5
5
|
import zipfile
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import Any, Dict
|
|
7
|
+
from typing import Any, Dict, Optional
|
|
8
8
|
|
|
9
9
|
import click
|
|
10
10
|
import requests
|
|
@@ -128,6 +128,36 @@ def _print_import_result(host: str, project_id: str, status: Dict[str, Any]) ->
|
|
|
128
128
|
sys.exit(1)
|
|
129
129
|
|
|
130
130
|
|
|
131
|
+
def _append_new_test_run_fields(
|
|
132
|
+
data: Dict[str, str],
|
|
133
|
+
*,
|
|
134
|
+
test_run_name: Optional[str],
|
|
135
|
+
description: Optional[str],
|
|
136
|
+
version: Optional[str],
|
|
137
|
+
revision: Optional[str],
|
|
138
|
+
test_object: Optional[str],
|
|
139
|
+
epic_id: Optional[str],
|
|
140
|
+
epic_name: Optional[str],
|
|
141
|
+
configuration_id: Optional[str],
|
|
142
|
+
configuration_name: Optional[str],
|
|
143
|
+
) -> None:
|
|
144
|
+
"""Добавляет в form-data поля нового тест-рана (только непустые)."""
|
|
145
|
+
optional = {
|
|
146
|
+
"test_run_name": test_run_name,
|
|
147
|
+
"description": description,
|
|
148
|
+
"version": version,
|
|
149
|
+
"revision": revision,
|
|
150
|
+
"test_object": test_object,
|
|
151
|
+
"epic_id": epic_id,
|
|
152
|
+
"epic_name": epic_name,
|
|
153
|
+
"configuration_id": configuration_id,
|
|
154
|
+
"configuration_name": configuration_name,
|
|
155
|
+
}
|
|
156
|
+
for key, value in optional.items():
|
|
157
|
+
if value:
|
|
158
|
+
data[key] = value
|
|
159
|
+
|
|
160
|
+
|
|
131
161
|
def _check_response(resp: "requests.Response", step: str) -> None:
|
|
132
162
|
if not resp.ok:
|
|
133
163
|
click.echo(
|
|
@@ -239,6 +269,54 @@ def zip_report(path: str, output: str, include_attachments: bool) -> None:
|
|
|
239
269
|
envvar="SAVETEST_TEST_RUN_NAME",
|
|
240
270
|
help="Имя нового тест-рана (env: SAVETEST_TEST_RUN_NAME).",
|
|
241
271
|
)
|
|
272
|
+
@click.option(
|
|
273
|
+
"--description",
|
|
274
|
+
default=None,
|
|
275
|
+
envvar="SAVETEST_TEST_RUN_DESCRIPTION",
|
|
276
|
+
help="Описание нового тест-рана (env: SAVETEST_TEST_RUN_DESCRIPTION).",
|
|
277
|
+
)
|
|
278
|
+
@click.option(
|
|
279
|
+
"--version",
|
|
280
|
+
default=None,
|
|
281
|
+
envvar="SAVETEST_TEST_RUN_VERSION",
|
|
282
|
+
help="Версия системы (env: SAVETEST_TEST_RUN_VERSION).",
|
|
283
|
+
)
|
|
284
|
+
@click.option(
|
|
285
|
+
"--revision",
|
|
286
|
+
default=None,
|
|
287
|
+
envvar="SAVETEST_TEST_RUN_REVISION",
|
|
288
|
+
help="Ревизия / номер сборки (env: SAVETEST_TEST_RUN_REVISION).",
|
|
289
|
+
)
|
|
290
|
+
@click.option(
|
|
291
|
+
"--test-object",
|
|
292
|
+
default=None,
|
|
293
|
+
envvar="SAVETEST_TEST_RUN_OBJECT",
|
|
294
|
+
help="Объект тестирования (env: SAVETEST_TEST_RUN_OBJECT).",
|
|
295
|
+
)
|
|
296
|
+
@click.option(
|
|
297
|
+
"--epic-id",
|
|
298
|
+
default=None,
|
|
299
|
+
envvar="SAVETEST_EPIC_ID",
|
|
300
|
+
help="ID эпика (env: SAVETEST_EPIC_ID).",
|
|
301
|
+
)
|
|
302
|
+
@click.option(
|
|
303
|
+
"--epic-name",
|
|
304
|
+
default=None,
|
|
305
|
+
envvar="SAVETEST_EPIC_NAME",
|
|
306
|
+
help="Наименование эпика в проекте (env: SAVETEST_EPIC_NAME).",
|
|
307
|
+
)
|
|
308
|
+
@click.option(
|
|
309
|
+
"--configuration-id",
|
|
310
|
+
default=None,
|
|
311
|
+
envvar="SAVETEST_CONFIGURATION_ID",
|
|
312
|
+
help="ID конфигурации тест-рана (env: SAVETEST_CONFIGURATION_ID).",
|
|
313
|
+
)
|
|
314
|
+
@click.option(
|
|
315
|
+
"--configuration-name",
|
|
316
|
+
default=None,
|
|
317
|
+
envvar="SAVETEST_CONFIGURATION_NAME",
|
|
318
|
+
help="Наименование конфигурации в проекте (env: SAVETEST_CONFIGURATION_NAME).",
|
|
319
|
+
)
|
|
242
320
|
@click.option(
|
|
243
321
|
"--branch", "-b",
|
|
244
322
|
default=None,
|
|
@@ -286,6 +364,14 @@ def upload(
|
|
|
286
364
|
project_id: str,
|
|
287
365
|
test_run_id: str,
|
|
288
366
|
test_run_name: str,
|
|
367
|
+
description: str,
|
|
368
|
+
version: str,
|
|
369
|
+
revision: str,
|
|
370
|
+
test_object: str,
|
|
371
|
+
epic_id: str,
|
|
372
|
+
epic_name: str,
|
|
373
|
+
configuration_id: str,
|
|
374
|
+
configuration_name: str,
|
|
289
375
|
branch: str,
|
|
290
376
|
include_attachments: bool,
|
|
291
377
|
chunk_size: int,
|
|
@@ -318,8 +404,19 @@ def upload(
|
|
|
318
404
|
init_data["git_branch"] = branch
|
|
319
405
|
if test_run_id:
|
|
320
406
|
init_data["test_run_id"] = test_run_id
|
|
321
|
-
|
|
322
|
-
|
|
407
|
+
else:
|
|
408
|
+
_append_new_test_run_fields(
|
|
409
|
+
init_data,
|
|
410
|
+
test_run_name=test_run_name,
|
|
411
|
+
description=description,
|
|
412
|
+
version=version,
|
|
413
|
+
revision=revision,
|
|
414
|
+
test_object=test_object,
|
|
415
|
+
epic_id=epic_id,
|
|
416
|
+
epic_name=epic_name,
|
|
417
|
+
configuration_id=configuration_id,
|
|
418
|
+
configuration_name=configuration_name,
|
|
419
|
+
)
|
|
323
420
|
|
|
324
421
|
click.echo("\nИнициализация загрузки...")
|
|
325
422
|
resp = requests.post(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: savetest-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: CLI for SaveTest: zip Allure results and upload them to SaveTest
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -53,6 +53,14 @@ savetest upload --test-run-name "Smoke $(date +%Y-%m-%d)"
|
|
|
53
53
|
| `SAVETEST_BRANCH` | нет | Ветка Git, привязываемая к тест-рану |
|
|
54
54
|
| `SAVETEST_TEST_RUN_ID` | нет | ID существующего тест-рана (если не задан — создаётся новый) |
|
|
55
55
|
| `SAVETEST_TEST_RUN_NAME` | нет | Имя нового тест-рана |
|
|
56
|
+
| `SAVETEST_TEST_RUN_DESCRIPTION` | нет | Описание нового тест-рана |
|
|
57
|
+
| `SAVETEST_TEST_RUN_VERSION` | нет | Версия системы |
|
|
58
|
+
| `SAVETEST_TEST_RUN_REVISION` | нет | Ревизия / номер сборки |
|
|
59
|
+
| `SAVETEST_TEST_RUN_OBJECT` | нет | Объект тестирования |
|
|
60
|
+
| `SAVETEST_EPIC_ID` | нет | ID эпика для привязки тест-рана |
|
|
61
|
+
| `SAVETEST_EPIC_NAME` | нет | Наименование эпика в проекте (если ID неизвестен) |
|
|
62
|
+
| `SAVETEST_CONFIGURATION_ID` | нет | ID конфигурации тест-рана |
|
|
63
|
+
| `SAVETEST_CONFIGURATION_NAME` | нет | Наименование конфигурации в проекте |
|
|
56
64
|
| `SAVETEST_INCLUDE_ATTACHMENTS` | нет | `true` — включать вложения в ZIP, `false` — исключать (быстрее) |
|
|
57
65
|
|
|
58
66
|
---
|
|
@@ -103,6 +111,14 @@ savetest upload [OPTIONS]
|
|
|
103
111
|
| `--zip-file`, `-z` | — | `allure-results.zip` | Путь к ZIP-файлу |
|
|
104
112
|
| `--branch`, `-b` | `SAVETEST_BRANCH` | — | Ветка Git |
|
|
105
113
|
| `--test-run-name` | `SAVETEST_TEST_RUN_NAME` | — | Имя нового тест-рана |
|
|
114
|
+
| `--description` | `SAVETEST_TEST_RUN_DESCRIPTION` | — | Описание нового тест-рана |
|
|
115
|
+
| `--version` | `SAVETEST_TEST_RUN_VERSION` | — | Версия системы |
|
|
116
|
+
| `--revision` | `SAVETEST_TEST_RUN_REVISION` | — | Ревизия / номер сборки |
|
|
117
|
+
| `--test-object` | `SAVETEST_TEST_RUN_OBJECT` | — | Объект тестирования |
|
|
118
|
+
| `--epic-id` | `SAVETEST_EPIC_ID` | — | ID эпика |
|
|
119
|
+
| `--epic-name` | `SAVETEST_EPIC_NAME` | — | Наименование эпика в проекте |
|
|
120
|
+
| `--configuration-id` | `SAVETEST_CONFIGURATION_ID` | — | ID конфигурации |
|
|
121
|
+
| `--configuration-name` | `SAVETEST_CONFIGURATION_NAME` | — | Наименование конфигурации |
|
|
106
122
|
| `--test-run-id` | `SAVETEST_TEST_RUN_ID` | — | ID существующего тест-рана |
|
|
107
123
|
| `--include-attachments` | `SAVETEST_INCLUDE_ATTACHMENTS` | выключено | Сообщить серверу, что ZIP содержит вложения |
|
|
108
124
|
| `--chunk-size` | — | `50` | Размер чанка при загрузке (МБ) |
|
|
@@ -122,6 +138,15 @@ export SAVETEST_PROJECT_ID=42
|
|
|
122
138
|
|
|
123
139
|
savetest upload --branch main --test-run-name "Regression $(date +%Y-%m-%d)"
|
|
124
140
|
|
|
141
|
+
# Новый тест-ран с эпиком, конфигурацией и метаданными
|
|
142
|
+
savetest upload \
|
|
143
|
+
--branch main \
|
|
144
|
+
--test-run-name "Smoke $(date +%Y-%m-%d)" \
|
|
145
|
+
--epic-name "Release 2.4" \
|
|
146
|
+
--configuration-name "Chrome / Windows" \
|
|
147
|
+
--version "2.4.0" \
|
|
148
|
+
--description "Nightly smoke on staging"
|
|
149
|
+
|
|
125
150
|
# Загрузить в существующий тест-ран
|
|
126
151
|
savetest upload --branch main --test-run-id 17
|
|
127
152
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|