Skip to content

Feature/browser context python api

Описание

Цель изменений

Реализация BrowserContextService — Python API для управления контекстами браузера напрямую из кода, без HTTP API и без прямой работы со storage driver.

Реализовано

  • Service: Класс BrowserContextService с методами create, get, get_content, list_contexts, update_content, update_status, delete.
  • Паттерн: Поддерживает Dependency Injection — storage_driver можно передать в конструктор, с fallback на Config()-синглтон.
  • Исключения: BrowserContextNotFoundError и RevisionConflictError пробрасываются наружу без перехвата.
  • No-op: update_content при cookies=None и origins=None возвращает текущий контекст без инкремента revision.
  • Тесты: 20 тестов BrowserContextService на InMemoryBrowserContextStorageDriver (asyncio + trio), 20 тестов SqlAlchemyBrowserContextStorageDriver на async SQLite (asyncio).

Чеклист:

  • Описание MR:
    • Из описания MR ясно кому и зачем нужны правки
    • Указаны ссылки на связанные issues
    • Указаны дополнительные материалы (если есть)
  • Проверка:
    • Изменения протестированы
    • Проверено поведение в dev (если применимо)
  • Changelog:
    • Добавлен новый файл в changelogs/unreleased
    • Добавлено описание всех изменений
    • Указаны изменения в переменных окружения
    • Указаны ссылки на GitLab Issues, связанные с MR
  • Документация:
    • Обновлены инструкции в CONTRIBUTING.md (если применимо)
    • Обновлен README (если применимо)
Edited by Виктор Тиховской

Merge request reports