Short-circuit localhost (не NUBES_MOCK), реальные ID из HAR для dummy.yaml

This commit is contained in:
2026-07-31 18:49:29 +04:00
parent bcf9f00654
commit fd55c50753
+45 -1
View File
@@ -390,7 +390,7 @@ site/
```
app-autotest/
├── site/
│ ├── api/auth.py # +short-circuit NUBES_MOCK
│ ├── api/auth.py # +short-circuit localhost (НЕ NUBES_MOCK)
│ └── ...
└── polygon/
├── server.py # Flask-приложение эмулятора
@@ -401,3 +401,47 @@ app-autotest/
├── dummy.yaml # Болванка
└── 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.