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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: savetest-cli
3
- Version: 0.1.2
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
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "savetest-cli"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  description = "CLI for SaveTest: zip Allure results and upload them to SaveTest"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -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
- elif test_run_name:
322
- init_data["test_run_name"] = test_run_name
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.2
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