allure-cli 0.2.1__tar.gz → 0.2.4__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,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: allure-cli
3
- Version: 0.2.1
3
+ Version: 0.2.4
4
4
  Summary: CLI для Allure TestOps: получение Allure ID тест-кейса по названию
5
5
  Author: Allure CLI Contributors
6
6
  License-Expression: MIT
7
- Project-URL: Homepage, https://github.com/adolmatov/allure_cli
8
- Project-URL: Repository, https://github.com/adolmatov/allure_cli
9
- Project-URL: Bug Tracker, https://github.com/adolmatov/allure_cli/issues
7
+ Project-URL: Homepage, https://github.com/teka1905/allure_cli
8
+ Project-URL: Repository, https://github.com/teka1905/allure_cli
9
+ Project-URL: Bug Tracker, https://github.com/teka1905/allure_cli/issues
10
10
  Keywords: allure,testops,testing,qa,cli
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: Developers
@@ -41,7 +41,7 @@ CLI для работы с Allure TestOps. Основная задача — п
41
41
  pip install allure-cli
42
42
  ```
43
43
 
44
- После установки команда `allure_cli` будет доступна в PATH.
44
+ После установки команда `allure-cli` будет доступна в PATH.
45
45
 
46
46
  ## Настройка
47
47
 
@@ -64,23 +64,32 @@ export ALLURE_TOKEN="<YOUR_TOKEN>"
64
64
 
65
65
  ## Использование
66
66
 
67
- CLI поддерживает две команды:
67
+ CLI поддерживает четыре команды:
68
68
 
69
69
  1. **`search`** (по умолчанию) — поиск тест-кейсов по ID или названию
70
70
  2. **`find-orphaned`** — поиск осиротевших (устаревших) тестов
71
+ 3. **`delete`** — удаление тест-кейсов по ID из CSV файла
72
+ 4. **`create`** — создание новых тест-кейсов из CSV или JSON файла
71
73
 
72
74
  **Справка:**
75
+
73
76
  ```bash
74
77
  # Общая справка
75
- allure_cli
76
- allure_cli --help
78
+ allure-cli
79
+ allure-cli --help
77
80
 
78
81
  # Справка по команде search
79
- allure_cli search
80
- allure_cli search --help
82
+ allure-cli search
83
+ allure-cli search --help
81
84
 
82
85
  # Справка по команде find-orphaned
83
- allure_cli find-orphaned --help
86
+ allure-cli find-orphaned --help
87
+
88
+ # Справка по команде delete
89
+ allure-cli delete --help
90
+
91
+ # Справка по команде create
92
+ allure-cli create --help
84
93
  ```
85
94
 
86
95
  ### Команда `search` (поиск тестов)
@@ -91,41 +100,43 @@ export ALLURE_PROJECT_ID=211
91
100
  export ALLURE_TOKEN=<ваш_токен>
92
101
 
93
102
  # Поиск по подстроке названия
94
- allure_cli search "Автоответ в чат"
103
+ allure-cli search "Автоответ в чат"
95
104
 
96
105
  # Старый синтаксис (без команды) тоже работает
97
- allure_cli "Автоответ в чат"
106
+ allure-cli "Автоответ в чат"
98
107
 
99
108
  # Показать справку
100
- allure_cli search
101
- allure_cli search --help
109
+ allure-cli search
110
+ allure-cli search --help
102
111
  ```
103
112
 
104
113
  **Примеры:**
105
114
 
106
115
  ```bash
107
116
  # Поиск по подстроке названия — выводит id и name с цветами
108
- allure_cli search "Автоответ в чат"
117
+ allure-cli search "Автоответ в чат"
109
118
 
110
119
  # Поиск по ID (число)
111
- allure_cli search 12345
120
+ allure-cli search 12345
112
121
 
113
122
  # Только ID, по одному на строку (без цветов)
114
- allure_cli search -q "Автоответ в чат"
123
+ allure-cli search -q "Автоответ в чат"
115
124
 
116
125
  # Без цветов
117
- allure_cli search --no-color "Автоответ в чат"
126
+ allure-cli search --no-color "Автоответ в чат"
118
127
 
119
128
  # Параметры через аргументы
120
- allure_cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
129
+ allure-cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
121
130
  ```
122
131
 
123
132
  **Вывод:**
133
+
124
134
  - В обычном режиме: номер, ID (синий), название (циан), и fullName (серый) если отличается
125
135
  - Результаты с цветной подсветкой для лучшей читаемости
126
136
  - В quiet режиме (`-q`): только ID, по одному на строку (без цветов)
127
137
 
128
138
  **Пример вывода:**
139
+
129
140
  ```
130
141
  Found 3 test cases:
131
142
 
@@ -138,6 +149,7 @@ Found 3 test cases:
138
149
  ```
139
150
 
140
151
  Где:
152
+
141
153
  - `12345`, `12389`, `12401` — синий, жирный (ID)
142
154
  - `User login...` — циан (название)
143
155
  - `tests.auth...` — серый (fullName)
@@ -151,27 +163,28 @@ Found 3 test cases:
151
163
  **Проблема:** Когда в автотестах меняется название шагов или имя сценария, Allure генерирует новый ID. В БД остаётся старый тест, который больше не выполняется и не поддерживается.
152
164
 
153
165
  **Решение:** Команда `find-orphaned` ищет такие тесты по двум критериям:
166
+
154
167
  1. Тест не обновлялся N дней (по умолчанию 30)
155
168
  2. Есть другие тесты с похожими названиями (similarity >= 0.75)
156
169
 
157
170
  ```bash
158
171
  # Найти осиротевшие тесты (по умолчанию: неактивны 30+ дней + similarity >= 0.75)
159
- allure_cli find-orphaned
172
+ allure-cli find-orphaned
160
173
 
161
174
  # Только неактивные тесты (без проверки схожести)
162
- allure_cli find-orphaned --days 60
175
+ allure-cli find-orphaned --days 60
163
176
 
164
177
  # Только тесты с похожими названиями (без проверки неактивности)
165
- allure_cli find-orphaned --similarity 0.8
178
+ allure-cli find-orphaned --similarity 0.8
166
179
 
167
180
  # Оба критерия одновременно
168
- allure_cli find-orphaned --days 60 --similarity 0.8
181
+ allure-cli find-orphaned --days 60 --similarity 0.8
169
182
 
170
183
  # Только ID (для скриптов)
171
- allure_cli find-orphaned -q
184
+ allure-cli find-orphaned -q
172
185
 
173
186
  # Интерактивное удаление найденных тестов
174
- allure_cli find-orphaned --delete
187
+ allure-cli find-orphaned --delete
175
188
  ```
176
189
 
177
190
  **Параметры:**
@@ -188,6 +201,7 @@ allure_cli find-orphaned --delete
188
201
  **Цветной вывод:**
189
202
 
190
203
  По умолчанию результаты выводятся с цветами для лучшей читаемости:
204
+
191
205
  - 🔴 **Красный** — осиротевшие тесты (кандидаты на удаление)
192
206
  - 🟢 **Зелёный** — высокая схожесть (≥0.9) или свежие тесты (<7 дней)
193
207
  - 🟡 **Жёлтый** — средняя схожесть (0.75-0.9) или средний возраст (7-30 дней)
@@ -196,19 +210,152 @@ allure_cli find-orphaned --delete
196
210
  - ⚪ **Серый** — второстепенная информация
197
211
 
198
212
  Цвета автоматически отключаются при:
213
+
199
214
  - Перенаправлении вывода в файл
200
215
  - Переменной окружения `NO_COLOR`
201
216
  - Флаге `--no-color`
202
217
 
203
218
  ```bash
204
219
  # Отключить цвета
205
- allure_cli find-orphaned --no-color
220
+ allure-cli find-orphaned --no-color
206
221
 
207
222
  # Или через переменную окружения
208
- NO_COLOR=1 allure_cli find-orphaned
223
+ NO_COLOR=1 allure-cli find-orphaned
224
+ ```
225
+
226
+ ### Команда `delete` (удаление тестов)
227
+
228
+ Удаляет тест-кейсы по ID из CSV файла. Поддерживает форматы CSV с разделителями ',' или ';'.
229
+
230
+ **Пример CSV файла:**
231
+
232
+ ```
233
+ id,name
234
+ 12345,Test case 1
235
+ 12346,Test case 2
236
+ ```
237
+
238
+ **Использование:**
239
+
240
+ ```bash
241
+ # Удалить тест-кейсы из CSV файла
242
+ allure-cli delete --file test_cases.csv
243
+
244
+ # Удалить тест-кейсы без подтверждения (опасно!)
245
+ allure-cli delete --file test_cases.csv --yes
246
+
247
+ # Удалить тест-кейсы и показать подробный вывод
248
+ allure-cli delete --file test_cases.csv --verbose
249
+
250
+ # Удалить тест-кейсы без получения их деталей (быстрее)
251
+ allure-cli delete --file test_cases.csv --no-fetch
252
+ ```
253
+
254
+ **Параметры:**
255
+
256
+ | Параметр | Описание | По умолчанию |
257
+ |----------|----------|--------------|
258
+ | `--file` | Путь к CSV файлу с ID тестов | Обязательный |
259
+ | `--yes` | Пропустить подтверждение удаления | false |
260
+ | `--verbose` | Показать подробный вывод | false |
261
+ | `--no-fetch` | Не получать детали тестов перед удалением | false |
262
+ | `--no-color` | Отключить цветной вывод | false |
263
+
264
+ **Интерактивное подтверждение:**
265
+ Команда по умолчанию запрашивает подтверждение перед удалением каждого теста:
266
+
267
+ - `y` — удалить тест
268
+ - `n` — пропустить
269
+ - `q` — завершить
270
+
271
+ **Пример вывода:**
272
+
273
+ ```
274
+ Found 2 test case(s) in CSV file:
275
+ 1. ID 12345 - Test case 1
276
+ 2. ID 12346 - Test case 2
277
+
278
+ Delete these test cases? [y/N]: y
279
+
280
+ Deleting test cases...
281
+ [1/2] Test case 12345: deleted
282
+ [2/2] Test case 12346: deleted
283
+
284
+ Successfully deleted 2 test case(s)
285
+ ```
286
+
287
+ ### Команда `create` (создание тестов)
288
+
289
+ Создает новые тест-кейсы из CSV или JSON файла.
290
+
291
+ **Пример CSV файла:**
292
+
293
+ ```
294
+ name,description,tags
295
+ "New test case 1","Description for test case 1","tag1;tag2"
296
+ "New test case 2","Description for test case 2","tag3"
297
+ ```
298
+
299
+ **Пример JSON файла:**
300
+
301
+ ```json
302
+ [
303
+ {
304
+ "name": "New test case 1",
305
+ "description": "Description for test case 1",
306
+ "tags": ["tag1", "tag2"]
307
+ },
308
+ {
309
+ "name": "New test case 2",
310
+ "description": "Description for test case 2",
311
+ "tags": ["tag3"]
312
+ }
313
+ ]
314
+ ```
315
+
316
+ **Использование:**
317
+
318
+ ```bash
319
+ # Создать тест-кейсы из CSV файла
320
+ allure-cli create --file test_cases.csv
321
+
322
+ # Создать тест-кейсы из JSON файла
323
+ allure-cli create --file test_cases.json
324
+
325
+ # Создать тест-кейсы с дополнительными тегами
326
+ allure-cli create --file test_cases.csv --tag "new" --tag "automated"
327
+
328
+ # Создать тест-кейсы и показать подробный вывод
329
+ allure-cli create --file test_cases.csv --verbose
330
+ ```
331
+
332
+ **Параметры:**
333
+
334
+ | Параметр | Описание | По умолчанию |
335
+ |----------|----------|--------------|
336
+ | `--file` | Путь к CSV или JSON файлу | Обязательный |
337
+ | `--tag` | Дополнительные теги для всех тестов | [] |
338
+ | `--verbose` | Показать подробный вывод | false |
339
+ | `--no-color` | Отключить цветной вывод | false |
340
+
341
+ **Интерактивный процесс:**
342
+ Команда показывает прогресс создания каждого теста:
343
+
344
+ - `✓` — успешно создан
345
+ - `✗` — ошибка при создании
346
+
347
+ **Пример вывода:**
348
+
349
+ ```
350
+ Creating test cases from test_cases.csv...
351
+ [1/2] New test case 1: created (ID: 12347)
352
+ [2/2] New test case 2: created (ID: 12348)
353
+
354
+ Successfully created 2 test case(s)
209
355
  ```
210
356
 
211
357
  **Логика работы флагов:**
358
+
212
359
  - Без флагов: применяются оба критерия (`--days 30 --similarity 0.75`)
213
360
  - Только `--days N`: ищет тесты неактивные N+ дней (без проверки схожести)
214
361
  - Только `--similarity X`: ищет тесты с похожими названиями (без проверки неактивности)
@@ -217,6 +364,7 @@ NO_COLOR=1 allure_cli find-orphaned
217
364
  **Умная нормализация названий:**
218
365
 
219
366
  По умолчанию включена нормализация названий для более точного поиска дубликатов. Удаляется "шум":
367
+
220
368
  - **Даты**: `2024-01-15`, `15/01/2024`, `20240115`
221
369
  - **Временные метки**: `14:30:45`, Unix timestamps
222
370
  - **Версии**: `v1.2.3`, `version 2`
@@ -224,6 +372,7 @@ NO_COLOR=1 allure_cli find-orphaned
224
372
  - **Стоп-слова**: `test`, `check`, `verify`, `should`, `when`, `then`, `given`
225
373
 
226
374
  **Примеры:**
375
+
227
376
  ```
228
377
  Оригинал: "Test [TC-123] User login verification 2024-01-15"
229
378
  Нормализованное: "user login"
@@ -235,8 +384,9 @@ NO_COLOR=1 allure_cli find-orphaned
235
384
  ```
236
385
 
237
386
  Чтобы отключить нормализацию (сравнивать названия как есть):
387
+
238
388
  ```bash
239
- allure_cli find-orphaned --no-normalize
389
+ allure-cli find-orphaned --no-normalize
240
390
  ```
241
391
 
242
392
  **Пример вывода:**
@@ -264,10 +414,11 @@ Found 2 potentially orphaned test(s):
264
414
  **Интерактивное удаление:**
265
415
 
266
416
  ```bash
267
- allure_cli find-orphaned --delete
417
+ allure-cli find-orphaned --delete
268
418
  ```
269
419
 
270
420
  Для каждого найденного теста будет предложено:
421
+
271
422
  - `y` — удалить тест
272
423
  - `n` — пропустить
273
424
  - `q` — завершить
@@ -276,4 +427,5 @@ allure_cli find-orphaned --delete
276
427
 
277
428
  Используется схема из [документации ТестОпс](https://docs.qatools.ru/api): API-токен обменивается на JWT через `POST /api/uaa/oauth/token`, далее запросы к API — с заголовком `Authorization: Bearer <jwt>`.
278
429
 
279
- JWT кэшируется на диск (`~/.cache/allure_cli/` или `$XDG_CACHE_HOME/allure_cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
430
+ JWT кэшируется на диск (`~/.cache/allure-cli/` или `$XDG_CACHE_HOME/allure-cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
431
+ -e
@@ -17,7 +17,7 @@ CLI для работы с Allure TestOps. Основная задача — п
17
17
  pip install allure-cli
18
18
  ```
19
19
 
20
- После установки команда `allure_cli` будет доступна в PATH.
20
+ После установки команда `allure-cli` будет доступна в PATH.
21
21
 
22
22
  ## Настройка
23
23
 
@@ -40,23 +40,32 @@ export ALLURE_TOKEN="<YOUR_TOKEN>"
40
40
 
41
41
  ## Использование
42
42
 
43
- CLI поддерживает две команды:
43
+ CLI поддерживает четыре команды:
44
44
 
45
45
  1. **`search`** (по умолчанию) — поиск тест-кейсов по ID или названию
46
46
  2. **`find-orphaned`** — поиск осиротевших (устаревших) тестов
47
+ 3. **`delete`** — удаление тест-кейсов по ID из CSV файла
48
+ 4. **`create`** — создание новых тест-кейсов из CSV или JSON файла
47
49
 
48
50
  **Справка:**
51
+
49
52
  ```bash
50
53
  # Общая справка
51
- allure_cli
52
- allure_cli --help
54
+ allure-cli
55
+ allure-cli --help
53
56
 
54
57
  # Справка по команде search
55
- allure_cli search
56
- allure_cli search --help
58
+ allure-cli search
59
+ allure-cli search --help
57
60
 
58
61
  # Справка по команде find-orphaned
59
- allure_cli find-orphaned --help
62
+ allure-cli find-orphaned --help
63
+
64
+ # Справка по команде delete
65
+ allure-cli delete --help
66
+
67
+ # Справка по команде create
68
+ allure-cli create --help
60
69
  ```
61
70
 
62
71
  ### Команда `search` (поиск тестов)
@@ -67,41 +76,43 @@ export ALLURE_PROJECT_ID=211
67
76
  export ALLURE_TOKEN=<ваш_токен>
68
77
 
69
78
  # Поиск по подстроке названия
70
- allure_cli search "Автоответ в чат"
79
+ allure-cli search "Автоответ в чат"
71
80
 
72
81
  # Старый синтаксис (без команды) тоже работает
73
- allure_cli "Автоответ в чат"
82
+ allure-cli "Автоответ в чат"
74
83
 
75
84
  # Показать справку
76
- allure_cli search
77
- allure_cli search --help
85
+ allure-cli search
86
+ allure-cli search --help
78
87
  ```
79
88
 
80
89
  **Примеры:**
81
90
 
82
91
  ```bash
83
92
  # Поиск по подстроке названия — выводит id и name с цветами
84
- allure_cli search "Автоответ в чат"
93
+ allure-cli search "Автоответ в чат"
85
94
 
86
95
  # Поиск по ID (число)
87
- allure_cli search 12345
96
+ allure-cli search 12345
88
97
 
89
98
  # Только ID, по одному на строку (без цветов)
90
- allure_cli search -q "Автоответ в чат"
99
+ allure-cli search -q "Автоответ в чат"
91
100
 
92
101
  # Без цветов
93
- allure_cli search --no-color "Автоответ в чат"
102
+ allure-cli search --no-color "Автоответ в чат"
94
103
 
95
104
  # Параметры через аргументы
96
- allure_cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
105
+ allure-cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
97
106
  ```
98
107
 
99
108
  **Вывод:**
109
+
100
110
  - В обычном режиме: номер, ID (синий), название (циан), и fullName (серый) если отличается
101
111
  - Результаты с цветной подсветкой для лучшей читаемости
102
112
  - В quiet режиме (`-q`): только ID, по одному на строку (без цветов)
103
113
 
104
114
  **Пример вывода:**
115
+
105
116
  ```
106
117
  Found 3 test cases:
107
118
 
@@ -114,6 +125,7 @@ Found 3 test cases:
114
125
  ```
115
126
 
116
127
  Где:
128
+
117
129
  - `12345`, `12389`, `12401` — синий, жирный (ID)
118
130
  - `User login...` — циан (название)
119
131
  - `tests.auth...` — серый (fullName)
@@ -127,27 +139,28 @@ Found 3 test cases:
127
139
  **Проблема:** Когда в автотестах меняется название шагов или имя сценария, Allure генерирует новый ID. В БД остаётся старый тест, который больше не выполняется и не поддерживается.
128
140
 
129
141
  **Решение:** Команда `find-orphaned` ищет такие тесты по двум критериям:
142
+
130
143
  1. Тест не обновлялся N дней (по умолчанию 30)
131
144
  2. Есть другие тесты с похожими названиями (similarity >= 0.75)
132
145
 
133
146
  ```bash
134
147
  # Найти осиротевшие тесты (по умолчанию: неактивны 30+ дней + similarity >= 0.75)
135
- allure_cli find-orphaned
148
+ allure-cli find-orphaned
136
149
 
137
150
  # Только неактивные тесты (без проверки схожести)
138
- allure_cli find-orphaned --days 60
151
+ allure-cli find-orphaned --days 60
139
152
 
140
153
  # Только тесты с похожими названиями (без проверки неактивности)
141
- allure_cli find-orphaned --similarity 0.8
154
+ allure-cli find-orphaned --similarity 0.8
142
155
 
143
156
  # Оба критерия одновременно
144
- allure_cli find-orphaned --days 60 --similarity 0.8
157
+ allure-cli find-orphaned --days 60 --similarity 0.8
145
158
 
146
159
  # Только ID (для скриптов)
147
- allure_cli find-orphaned -q
160
+ allure-cli find-orphaned -q
148
161
 
149
162
  # Интерактивное удаление найденных тестов
150
- allure_cli find-orphaned --delete
163
+ allure-cli find-orphaned --delete
151
164
  ```
152
165
 
153
166
  **Параметры:**
@@ -164,6 +177,7 @@ allure_cli find-orphaned --delete
164
177
  **Цветной вывод:**
165
178
 
166
179
  По умолчанию результаты выводятся с цветами для лучшей читаемости:
180
+
167
181
  - 🔴 **Красный** — осиротевшие тесты (кандидаты на удаление)
168
182
  - 🟢 **Зелёный** — высокая схожесть (≥0.9) или свежие тесты (<7 дней)
169
183
  - 🟡 **Жёлтый** — средняя схожесть (0.75-0.9) или средний возраст (7-30 дней)
@@ -172,19 +186,152 @@ allure_cli find-orphaned --delete
172
186
  - ⚪ **Серый** — второстепенная информация
173
187
 
174
188
  Цвета автоматически отключаются при:
189
+
175
190
  - Перенаправлении вывода в файл
176
191
  - Переменной окружения `NO_COLOR`
177
192
  - Флаге `--no-color`
178
193
 
179
194
  ```bash
180
195
  # Отключить цвета
181
- allure_cli find-orphaned --no-color
196
+ allure-cli find-orphaned --no-color
182
197
 
183
198
  # Или через переменную окружения
184
- NO_COLOR=1 allure_cli find-orphaned
199
+ NO_COLOR=1 allure-cli find-orphaned
200
+ ```
201
+
202
+ ### Команда `delete` (удаление тестов)
203
+
204
+ Удаляет тест-кейсы по ID из CSV файла. Поддерживает форматы CSV с разделителями ',' или ';'.
205
+
206
+ **Пример CSV файла:**
207
+
208
+ ```
209
+ id,name
210
+ 12345,Test case 1
211
+ 12346,Test case 2
212
+ ```
213
+
214
+ **Использование:**
215
+
216
+ ```bash
217
+ # Удалить тест-кейсы из CSV файла
218
+ allure-cli delete --file test_cases.csv
219
+
220
+ # Удалить тест-кейсы без подтверждения (опасно!)
221
+ allure-cli delete --file test_cases.csv --yes
222
+
223
+ # Удалить тест-кейсы и показать подробный вывод
224
+ allure-cli delete --file test_cases.csv --verbose
225
+
226
+ # Удалить тест-кейсы без получения их деталей (быстрее)
227
+ allure-cli delete --file test_cases.csv --no-fetch
228
+ ```
229
+
230
+ **Параметры:**
231
+
232
+ | Параметр | Описание | По умолчанию |
233
+ |----------|----------|--------------|
234
+ | `--file` | Путь к CSV файлу с ID тестов | Обязательный |
235
+ | `--yes` | Пропустить подтверждение удаления | false |
236
+ | `--verbose` | Показать подробный вывод | false |
237
+ | `--no-fetch` | Не получать детали тестов перед удалением | false |
238
+ | `--no-color` | Отключить цветной вывод | false |
239
+
240
+ **Интерактивное подтверждение:**
241
+ Команда по умолчанию запрашивает подтверждение перед удалением каждого теста:
242
+
243
+ - `y` — удалить тест
244
+ - `n` — пропустить
245
+ - `q` — завершить
246
+
247
+ **Пример вывода:**
248
+
249
+ ```
250
+ Found 2 test case(s) in CSV file:
251
+ 1. ID 12345 - Test case 1
252
+ 2. ID 12346 - Test case 2
253
+
254
+ Delete these test cases? [y/N]: y
255
+
256
+ Deleting test cases...
257
+ [1/2] Test case 12345: deleted
258
+ [2/2] Test case 12346: deleted
259
+
260
+ Successfully deleted 2 test case(s)
261
+ ```
262
+
263
+ ### Команда `create` (создание тестов)
264
+
265
+ Создает новые тест-кейсы из CSV или JSON файла.
266
+
267
+ **Пример CSV файла:**
268
+
269
+ ```
270
+ name,description,tags
271
+ "New test case 1","Description for test case 1","tag1;tag2"
272
+ "New test case 2","Description for test case 2","tag3"
273
+ ```
274
+
275
+ **Пример JSON файла:**
276
+
277
+ ```json
278
+ [
279
+ {
280
+ "name": "New test case 1",
281
+ "description": "Description for test case 1",
282
+ "tags": ["tag1", "tag2"]
283
+ },
284
+ {
285
+ "name": "New test case 2",
286
+ "description": "Description for test case 2",
287
+ "tags": ["tag3"]
288
+ }
289
+ ]
290
+ ```
291
+
292
+ **Использование:**
293
+
294
+ ```bash
295
+ # Создать тест-кейсы из CSV файла
296
+ allure-cli create --file test_cases.csv
297
+
298
+ # Создать тест-кейсы из JSON файла
299
+ allure-cli create --file test_cases.json
300
+
301
+ # Создать тест-кейсы с дополнительными тегами
302
+ allure-cli create --file test_cases.csv --tag "new" --tag "automated"
303
+
304
+ # Создать тест-кейсы и показать подробный вывод
305
+ allure-cli create --file test_cases.csv --verbose
306
+ ```
307
+
308
+ **Параметры:**
309
+
310
+ | Параметр | Описание | По умолчанию |
311
+ |----------|----------|--------------|
312
+ | `--file` | Путь к CSV или JSON файлу | Обязательный |
313
+ | `--tag` | Дополнительные теги для всех тестов | [] |
314
+ | `--verbose` | Показать подробный вывод | false |
315
+ | `--no-color` | Отключить цветной вывод | false |
316
+
317
+ **Интерактивный процесс:**
318
+ Команда показывает прогресс создания каждого теста:
319
+
320
+ - `✓` — успешно создан
321
+ - `✗` — ошибка при создании
322
+
323
+ **Пример вывода:**
324
+
325
+ ```
326
+ Creating test cases from test_cases.csv...
327
+ [1/2] New test case 1: created (ID: 12347)
328
+ [2/2] New test case 2: created (ID: 12348)
329
+
330
+ Successfully created 2 test case(s)
185
331
  ```
186
332
 
187
333
  **Логика работы флагов:**
334
+
188
335
  - Без флагов: применяются оба критерия (`--days 30 --similarity 0.75`)
189
336
  - Только `--days N`: ищет тесты неактивные N+ дней (без проверки схожести)
190
337
  - Только `--similarity X`: ищет тесты с похожими названиями (без проверки неактивности)
@@ -193,6 +340,7 @@ NO_COLOR=1 allure_cli find-orphaned
193
340
  **Умная нормализация названий:**
194
341
 
195
342
  По умолчанию включена нормализация названий для более точного поиска дубликатов. Удаляется "шум":
343
+
196
344
  - **Даты**: `2024-01-15`, `15/01/2024`, `20240115`
197
345
  - **Временные метки**: `14:30:45`, Unix timestamps
198
346
  - **Версии**: `v1.2.3`, `version 2`
@@ -200,6 +348,7 @@ NO_COLOR=1 allure_cli find-orphaned
200
348
  - **Стоп-слова**: `test`, `check`, `verify`, `should`, `when`, `then`, `given`
201
349
 
202
350
  **Примеры:**
351
+
203
352
  ```
204
353
  Оригинал: "Test [TC-123] User login verification 2024-01-15"
205
354
  Нормализованное: "user login"
@@ -211,8 +360,9 @@ NO_COLOR=1 allure_cli find-orphaned
211
360
  ```
212
361
 
213
362
  Чтобы отключить нормализацию (сравнивать названия как есть):
363
+
214
364
  ```bash
215
- allure_cli find-orphaned --no-normalize
365
+ allure-cli find-orphaned --no-normalize
216
366
  ```
217
367
 
218
368
  **Пример вывода:**
@@ -240,10 +390,11 @@ Found 2 potentially orphaned test(s):
240
390
  **Интерактивное удаление:**
241
391
 
242
392
  ```bash
243
- allure_cli find-orphaned --delete
393
+ allure-cli find-orphaned --delete
244
394
  ```
245
395
 
246
396
  Для каждого найденного теста будет предложено:
397
+
247
398
  - `y` — удалить тест
248
399
  - `n` — пропустить
249
400
  - `q` — завершить
@@ -252,4 +403,5 @@ allure_cli find-orphaned --delete
252
403
 
253
404
  Используется схема из [документации ТестОпс](https://docs.qatools.ru/api): API-токен обменивается на JWT через `POST /api/uaa/oauth/token`, далее запросы к API — с заголовком `Authorization: Bearer <jwt>`.
254
405
 
255
- JWT кэшируется на диск (`~/.cache/allure_cli/` или `$XDG_CACHE_HOME/allure_cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
406
+ JWT кэшируется на диск (`~/.cache/allure-cli/` или `$XDG_CACHE_HOME/allure-cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
407
+ -e
@@ -3,5 +3,5 @@
3
3
  from .client import find_by_name, get_jwt, search_test_cases
4
4
  from .cli import main
5
5
 
6
- __version__ = "0.2.1"
6
+ __version__ = "0.2.4"
7
7
  __all__ = ["find_by_name", "get_jwt", "search_test_cases", "main"]
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: allure-cli
3
- Version: 0.2.1
3
+ Version: 0.2.4
4
4
  Summary: CLI для Allure TestOps: получение Allure ID тест-кейса по названию
5
5
  Author: Allure CLI Contributors
6
6
  License-Expression: MIT
7
- Project-URL: Homepage, https://github.com/adolmatov/allure_cli
8
- Project-URL: Repository, https://github.com/adolmatov/allure_cli
9
- Project-URL: Bug Tracker, https://github.com/adolmatov/allure_cli/issues
7
+ Project-URL: Homepage, https://github.com/teka1905/allure_cli
8
+ Project-URL: Repository, https://github.com/teka1905/allure_cli
9
+ Project-URL: Bug Tracker, https://github.com/teka1905/allure_cli/issues
10
10
  Keywords: allure,testops,testing,qa,cli
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: Developers
@@ -41,7 +41,7 @@ CLI для работы с Allure TestOps. Основная задача — п
41
41
  pip install allure-cli
42
42
  ```
43
43
 
44
- После установки команда `allure_cli` будет доступна в PATH.
44
+ После установки команда `allure-cli` будет доступна в PATH.
45
45
 
46
46
  ## Настройка
47
47
 
@@ -64,23 +64,32 @@ export ALLURE_TOKEN="<YOUR_TOKEN>"
64
64
 
65
65
  ## Использование
66
66
 
67
- CLI поддерживает две команды:
67
+ CLI поддерживает четыре команды:
68
68
 
69
69
  1. **`search`** (по умолчанию) — поиск тест-кейсов по ID или названию
70
70
  2. **`find-orphaned`** — поиск осиротевших (устаревших) тестов
71
+ 3. **`delete`** — удаление тест-кейсов по ID из CSV файла
72
+ 4. **`create`** — создание новых тест-кейсов из CSV или JSON файла
71
73
 
72
74
  **Справка:**
75
+
73
76
  ```bash
74
77
  # Общая справка
75
- allure_cli
76
- allure_cli --help
78
+ allure-cli
79
+ allure-cli --help
77
80
 
78
81
  # Справка по команде search
79
- allure_cli search
80
- allure_cli search --help
82
+ allure-cli search
83
+ allure-cli search --help
81
84
 
82
85
  # Справка по команде find-orphaned
83
- allure_cli find-orphaned --help
86
+ allure-cli find-orphaned --help
87
+
88
+ # Справка по команде delete
89
+ allure-cli delete --help
90
+
91
+ # Справка по команде create
92
+ allure-cli create --help
84
93
  ```
85
94
 
86
95
  ### Команда `search` (поиск тестов)
@@ -91,41 +100,43 @@ export ALLURE_PROJECT_ID=211
91
100
  export ALLURE_TOKEN=<ваш_токен>
92
101
 
93
102
  # Поиск по подстроке названия
94
- allure_cli search "Автоответ в чат"
103
+ allure-cli search "Автоответ в чат"
95
104
 
96
105
  # Старый синтаксис (без команды) тоже работает
97
- allure_cli "Автоответ в чат"
106
+ allure-cli "Автоответ в чат"
98
107
 
99
108
  # Показать справку
100
- allure_cli search
101
- allure_cli search --help
109
+ allure-cli search
110
+ allure-cli search --help
102
111
  ```
103
112
 
104
113
  **Примеры:**
105
114
 
106
115
  ```bash
107
116
  # Поиск по подстроке названия — выводит id и name с цветами
108
- allure_cli search "Автоответ в чат"
117
+ allure-cli search "Автоответ в чат"
109
118
 
110
119
  # Поиск по ID (число)
111
- allure_cli search 12345
120
+ allure-cli search 12345
112
121
 
113
122
  # Только ID, по одному на строку (без цветов)
114
- allure_cli search -q "Автоответ в чат"
123
+ allure-cli search -q "Автоответ в чат"
115
124
 
116
125
  # Без цветов
117
- allure_cli search --no-color "Автоответ в чат"
126
+ allure-cli search --no-color "Автоответ в чат"
118
127
 
119
128
  # Параметры через аргументы
120
- allure_cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
129
+ allure-cli search --url https://allure-testops.example.com --project 211 --token $ALLURE_TOKEN "запрос"
121
130
  ```
122
131
 
123
132
  **Вывод:**
133
+
124
134
  - В обычном режиме: номер, ID (синий), название (циан), и fullName (серый) если отличается
125
135
  - Результаты с цветной подсветкой для лучшей читаемости
126
136
  - В quiet режиме (`-q`): только ID, по одному на строку (без цветов)
127
137
 
128
138
  **Пример вывода:**
139
+
129
140
  ```
130
141
  Found 3 test cases:
131
142
 
@@ -138,6 +149,7 @@ Found 3 test cases:
138
149
  ```
139
150
 
140
151
  Где:
152
+
141
153
  - `12345`, `12389`, `12401` — синий, жирный (ID)
142
154
  - `User login...` — циан (название)
143
155
  - `tests.auth...` — серый (fullName)
@@ -151,27 +163,28 @@ Found 3 test cases:
151
163
  **Проблема:** Когда в автотестах меняется название шагов или имя сценария, Allure генерирует новый ID. В БД остаётся старый тест, который больше не выполняется и не поддерживается.
152
164
 
153
165
  **Решение:** Команда `find-orphaned` ищет такие тесты по двум критериям:
166
+
154
167
  1. Тест не обновлялся N дней (по умолчанию 30)
155
168
  2. Есть другие тесты с похожими названиями (similarity >= 0.75)
156
169
 
157
170
  ```bash
158
171
  # Найти осиротевшие тесты (по умолчанию: неактивны 30+ дней + similarity >= 0.75)
159
- allure_cli find-orphaned
172
+ allure-cli find-orphaned
160
173
 
161
174
  # Только неактивные тесты (без проверки схожести)
162
- allure_cli find-orphaned --days 60
175
+ allure-cli find-orphaned --days 60
163
176
 
164
177
  # Только тесты с похожими названиями (без проверки неактивности)
165
- allure_cli find-orphaned --similarity 0.8
178
+ allure-cli find-orphaned --similarity 0.8
166
179
 
167
180
  # Оба критерия одновременно
168
- allure_cli find-orphaned --days 60 --similarity 0.8
181
+ allure-cli find-orphaned --days 60 --similarity 0.8
169
182
 
170
183
  # Только ID (для скриптов)
171
- allure_cli find-orphaned -q
184
+ allure-cli find-orphaned -q
172
185
 
173
186
  # Интерактивное удаление найденных тестов
174
- allure_cli find-orphaned --delete
187
+ allure-cli find-orphaned --delete
175
188
  ```
176
189
 
177
190
  **Параметры:**
@@ -188,6 +201,7 @@ allure_cli find-orphaned --delete
188
201
  **Цветной вывод:**
189
202
 
190
203
  По умолчанию результаты выводятся с цветами для лучшей читаемости:
204
+
191
205
  - 🔴 **Красный** — осиротевшие тесты (кандидаты на удаление)
192
206
  - 🟢 **Зелёный** — высокая схожесть (≥0.9) или свежие тесты (<7 дней)
193
207
  - 🟡 **Жёлтый** — средняя схожесть (0.75-0.9) или средний возраст (7-30 дней)
@@ -196,19 +210,152 @@ allure_cli find-orphaned --delete
196
210
  - ⚪ **Серый** — второстепенная информация
197
211
 
198
212
  Цвета автоматически отключаются при:
213
+
199
214
  - Перенаправлении вывода в файл
200
215
  - Переменной окружения `NO_COLOR`
201
216
  - Флаге `--no-color`
202
217
 
203
218
  ```bash
204
219
  # Отключить цвета
205
- allure_cli find-orphaned --no-color
220
+ allure-cli find-orphaned --no-color
206
221
 
207
222
  # Или через переменную окружения
208
- NO_COLOR=1 allure_cli find-orphaned
223
+ NO_COLOR=1 allure-cli find-orphaned
224
+ ```
225
+
226
+ ### Команда `delete` (удаление тестов)
227
+
228
+ Удаляет тест-кейсы по ID из CSV файла. Поддерживает форматы CSV с разделителями ',' или ';'.
229
+
230
+ **Пример CSV файла:**
231
+
232
+ ```
233
+ id,name
234
+ 12345,Test case 1
235
+ 12346,Test case 2
236
+ ```
237
+
238
+ **Использование:**
239
+
240
+ ```bash
241
+ # Удалить тест-кейсы из CSV файла
242
+ allure-cli delete --file test_cases.csv
243
+
244
+ # Удалить тест-кейсы без подтверждения (опасно!)
245
+ allure-cli delete --file test_cases.csv --yes
246
+
247
+ # Удалить тест-кейсы и показать подробный вывод
248
+ allure-cli delete --file test_cases.csv --verbose
249
+
250
+ # Удалить тест-кейсы без получения их деталей (быстрее)
251
+ allure-cli delete --file test_cases.csv --no-fetch
252
+ ```
253
+
254
+ **Параметры:**
255
+
256
+ | Параметр | Описание | По умолчанию |
257
+ |----------|----------|--------------|
258
+ | `--file` | Путь к CSV файлу с ID тестов | Обязательный |
259
+ | `--yes` | Пропустить подтверждение удаления | false |
260
+ | `--verbose` | Показать подробный вывод | false |
261
+ | `--no-fetch` | Не получать детали тестов перед удалением | false |
262
+ | `--no-color` | Отключить цветной вывод | false |
263
+
264
+ **Интерактивное подтверждение:**
265
+ Команда по умолчанию запрашивает подтверждение перед удалением каждого теста:
266
+
267
+ - `y` — удалить тест
268
+ - `n` — пропустить
269
+ - `q` — завершить
270
+
271
+ **Пример вывода:**
272
+
273
+ ```
274
+ Found 2 test case(s) in CSV file:
275
+ 1. ID 12345 - Test case 1
276
+ 2. ID 12346 - Test case 2
277
+
278
+ Delete these test cases? [y/N]: y
279
+
280
+ Deleting test cases...
281
+ [1/2] Test case 12345: deleted
282
+ [2/2] Test case 12346: deleted
283
+
284
+ Successfully deleted 2 test case(s)
285
+ ```
286
+
287
+ ### Команда `create` (создание тестов)
288
+
289
+ Создает новые тест-кейсы из CSV или JSON файла.
290
+
291
+ **Пример CSV файла:**
292
+
293
+ ```
294
+ name,description,tags
295
+ "New test case 1","Description for test case 1","tag1;tag2"
296
+ "New test case 2","Description for test case 2","tag3"
297
+ ```
298
+
299
+ **Пример JSON файла:**
300
+
301
+ ```json
302
+ [
303
+ {
304
+ "name": "New test case 1",
305
+ "description": "Description for test case 1",
306
+ "tags": ["tag1", "tag2"]
307
+ },
308
+ {
309
+ "name": "New test case 2",
310
+ "description": "Description for test case 2",
311
+ "tags": ["tag3"]
312
+ }
313
+ ]
314
+ ```
315
+
316
+ **Использование:**
317
+
318
+ ```bash
319
+ # Создать тест-кейсы из CSV файла
320
+ allure-cli create --file test_cases.csv
321
+
322
+ # Создать тест-кейсы из JSON файла
323
+ allure-cli create --file test_cases.json
324
+
325
+ # Создать тест-кейсы с дополнительными тегами
326
+ allure-cli create --file test_cases.csv --tag "new" --tag "automated"
327
+
328
+ # Создать тест-кейсы и показать подробный вывод
329
+ allure-cli create --file test_cases.csv --verbose
330
+ ```
331
+
332
+ **Параметры:**
333
+
334
+ | Параметр | Описание | По умолчанию |
335
+ |----------|----------|--------------|
336
+ | `--file` | Путь к CSV или JSON файлу | Обязательный |
337
+ | `--tag` | Дополнительные теги для всех тестов | [] |
338
+ | `--verbose` | Показать подробный вывод | false |
339
+ | `--no-color` | Отключить цветной вывод | false |
340
+
341
+ **Интерактивный процесс:**
342
+ Команда показывает прогресс создания каждого теста:
343
+
344
+ - `✓` — успешно создан
345
+ - `✗` — ошибка при создании
346
+
347
+ **Пример вывода:**
348
+
349
+ ```
350
+ Creating test cases from test_cases.csv...
351
+ [1/2] New test case 1: created (ID: 12347)
352
+ [2/2] New test case 2: created (ID: 12348)
353
+
354
+ Successfully created 2 test case(s)
209
355
  ```
210
356
 
211
357
  **Логика работы флагов:**
358
+
212
359
  - Без флагов: применяются оба критерия (`--days 30 --similarity 0.75`)
213
360
  - Только `--days N`: ищет тесты неактивные N+ дней (без проверки схожести)
214
361
  - Только `--similarity X`: ищет тесты с похожими названиями (без проверки неактивности)
@@ -217,6 +364,7 @@ NO_COLOR=1 allure_cli find-orphaned
217
364
  **Умная нормализация названий:**
218
365
 
219
366
  По умолчанию включена нормализация названий для более точного поиска дубликатов. Удаляется "шум":
367
+
220
368
  - **Даты**: `2024-01-15`, `15/01/2024`, `20240115`
221
369
  - **Временные метки**: `14:30:45`, Unix timestamps
222
370
  - **Версии**: `v1.2.3`, `version 2`
@@ -224,6 +372,7 @@ NO_COLOR=1 allure_cli find-orphaned
224
372
  - **Стоп-слова**: `test`, `check`, `verify`, `should`, `when`, `then`, `given`
225
373
 
226
374
  **Примеры:**
375
+
227
376
  ```
228
377
  Оригинал: "Test [TC-123] User login verification 2024-01-15"
229
378
  Нормализованное: "user login"
@@ -235,8 +384,9 @@ NO_COLOR=1 allure_cli find-orphaned
235
384
  ```
236
385
 
237
386
  Чтобы отключить нормализацию (сравнивать названия как есть):
387
+
238
388
  ```bash
239
- allure_cli find-orphaned --no-normalize
389
+ allure-cli find-orphaned --no-normalize
240
390
  ```
241
391
 
242
392
  **Пример вывода:**
@@ -264,10 +414,11 @@ Found 2 potentially orphaned test(s):
264
414
  **Интерактивное удаление:**
265
415
 
266
416
  ```bash
267
- allure_cli find-orphaned --delete
417
+ allure-cli find-orphaned --delete
268
418
  ```
269
419
 
270
420
  Для каждого найденного теста будет предложено:
421
+
271
422
  - `y` — удалить тест
272
423
  - `n` — пропустить
273
424
  - `q` — завершить
@@ -276,4 +427,5 @@ allure_cli find-orphaned --delete
276
427
 
277
428
  Используется схема из [документации ТестОпс](https://docs.qatools.ru/api): API-токен обменивается на JWT через `POST /api/uaa/oauth/token`, далее запросы к API — с заголовком `Authorization: Bearer <jwt>`.
278
429
 
279
- JWT кэшируется на диск (`~/.cache/allure_cli/` или `$XDG_CACHE_HOME/allure_cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
430
+ JWT кэшируется на диск (`~/.cache/allure-cli/` или `$XDG_CACHE_HOME/allure-cli/`), чтобы не запрашивать новый токен при каждом вызове. При ответе 401 от API кэш сбрасывается и токен запрашивается заново автоматически.
431
+ -e
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ allure-cli = allure_cli.cli:main
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "allure-cli"
7
- version = "0.2.1"
7
+ version = "0.2.4"
8
8
  description = "CLI для Allure TestOps: получение Allure ID тест-кейса по названию"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -26,9 +26,9 @@ classifiers = [
26
26
  ]
27
27
 
28
28
  [project.urls]
29
- Homepage = "https://github.com/adolmatov/allure_cli"
30
- Repository = "https://github.com/adolmatov/allure_cli"
31
- "Bug Tracker" = "https://github.com/adolmatov/allure_cli/issues"
29
+ Homepage = "https://github.com/teka1905/allure_cli"
30
+ Repository = "https://github.com/teka1905/allure_cli"
31
+ "Bug Tracker" = "https://github.com/teka1905/allure_cli/issues"
32
32
 
33
33
  [project.scripts]
34
- allure_cli = "allure_cli.cli:main"
34
+ allure-cli = "allure_cli.cli:main"
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- allure_cli = allure_cli.cli:main
File without changes
File without changes
File without changes
File without changes
File without changes