Short-circuit localhost (не NUBES_MOCK), реальные ID из HAR для dummy.yaml
This commit is contained in:
@@ -390,7 +390,7 @@ site/
|
|||||||
```
|
```
|
||||||
app-autotest/
|
app-autotest/
|
||||||
├── site/
|
├── site/
|
||||||
│ ├── api/auth.py # +short-circuit NUBES_MOCK
|
│ ├── api/auth.py # +short-circuit localhost (НЕ NUBES_MOCK)
|
||||||
│ └── ...
|
│ └── ...
|
||||||
└── polygon/
|
└── polygon/
|
||||||
├── server.py # Flask-приложение эмулятора
|
├── server.py # Flask-приложение эмулятора
|
||||||
@@ -401,3 +401,47 @@ app-autotest/
|
|||||||
├── dummy.yaml # Болванка
|
├── dummy.yaml # Болванка
|
||||||
└── postgresql.yaml # PostgreSQL (stateOut: users, databases)
|
└── postgresql.yaml # PostgreSQL (stateOut: users, databases)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Short-circuit: localhost вместо NUBES_MOCK
|
||||||
|
|
||||||
|
Опус ПОДТВЕРДИЛ что проверка `localhost` лучше отдельного флага:
|
||||||
|
|
||||||
|
- `detect_endpoint()` хардкодит dev/test и не читает `NUBES_API_ENDPOINT` — всегда лезет в реальные стенды
|
||||||
|
- При `NUBES_API_ENDPOINT=http://localhost:5001` detect может «угадать» реальный стенд и увести мимо мока
|
||||||
|
- Решение: в `get_client()` и `get_stand()` — если endpoint начинается с `http://localhost` или `http://127.0.0.1` → пропустить detect, сразу использовать endpoint
|
||||||
|
- `stand_name("http://localhost:5001")` → `"?"` — поэтому `get_stand()` при localhost возвращает `"mock"`
|
||||||
|
- Ноль новых env-переменных, существующий `NUBES_API_ENDPOINT` уже в конфиге
|
||||||
|
|
||||||
|
### Реальные ID из HAR для dummy.yaml
|
||||||
|
|
||||||
|
Опус распарсил `development/dummycreate.har` и `development/dummymodify.har`:
|
||||||
|
|
||||||
|
**Операции Болванки (serviceId=1):**
|
||||||
|
|
||||||
|
| operation | svcOperationId |
|
||||||
|
|-----------|----------------|
|
||||||
|
| create | 18 |
|
||||||
|
| delete | 71 |
|
||||||
|
| modify | 92 |
|
||||||
|
| suspend | 93 |
|
||||||
|
| resume | 94 |
|
||||||
|
| redeploy | 240 |
|
||||||
|
|
||||||
|
**Параметры create (svcOperationCfsParamId):**
|
||||||
|
|
||||||
|
| id | код | тип |
|
||||||
|
|----|-----|-----|
|
||||||
|
| 242 | resourceRealm | string (valueList=["dummy"]) |
|
||||||
|
| 198 | durationMs | integer |
|
||||||
|
| 199 | *(код не извлечён)* | boolean |
|
||||||
|
| 200 | *—* | boolean |
|
||||||
|
| 201 | *—* | integer/enum |
|
||||||
|
| 286 | *—* | string |
|
||||||
|
| 321 | *—* | map + dataDescriptor |
|
||||||
|
| 322 | *—* | string |
|
||||||
|
| 396 | *—* | string |
|
||||||
|
| 647 | *—* | map |
|
||||||
|
| 654 | *—* | array(map) |
|
||||||
|
| 863 | *—* | array |
|
||||||
|
|
||||||
|
Для мока коды некритичны (мок сам отдаёт и шаблон и state.params — они должны совпадать между собой). Для реалистичности — код в `mock-architecture-prompt.md` достанет полные коды одной строкой Python.
|
||||||
|
|||||||
Reference in New Issue
Block a user