Commit graph

31 commits

Author SHA1 Message Date
706391b272 docs: update PROMPT.md with weekly maintenance checklist 2025-12-18 16:18:24 -03:00
56fdfab2c4 Suppress warnings for test scaffolding code (allow dead_code) 2025-12-17 11:27:18 -03:00
629df5f039 Disable auto-trigger CI - manual only via workflow_dispatch 2025-12-16 17:08:01 -03:00
6cf25dfca1 Revert "Disable CI"
Some checks failed
GBCI / test (push) Failing after 16s
This reverts commit 28f4f3f3f7.
2025-12-16 17:04:59 -03:00
28f4f3f3f7 Disable CI 2025-12-16 17:02:24 -03:00
e089965272 Add checkout of botlib and botserver dependencies in CI
Some checks failed
GBCI / test (push) Failing after 15s
2025-12-16 17:00:15 -03:00
3a81dbce41 Add Cargo caching for faster builds
Some checks failed
GBCI / test (push) Failing after 20s
2025-12-16 16:35:23 -03:00
5392ac3159 Add Forgejo CI workflow for bottest - Compile and run unit tests
Some checks failed
GBCI / test (push) Failing after 12s
2025-12-16 13:25:17 -03:00
4455eb7436 Update Cargo.lock and Cargo.toml 2025-12-15 16:36:26 -03:00
45d588ad2b E2E test improvements: auto-start services, use Brave browser
- Add BotServerInstance::start_with_main_stack() for using real LLM
- Update E2E tests to auto-start BotServer and BotUI if not running
- Prefer Brave browser over Chrome/Chromium for CDP testing
- Upgrade chromiumoxide to 0.8
- Add browser window position/size for visibility
- Fix chat tests to require BotUI for chat interface
- Add browser_service.rs for CDP-based browser management
- Remove chromedriver dependency (use CDP directly)
2025-12-15 13:57:05 -03:00
ca7408d1f4 fix: use snap chromium actual binary path 2025-12-14 17:18:49 -03:00
cf720936d2 fix: use Chromium for better chromedriver compatibility 2025-12-14 17:11:13 -03:00
1ae6c6e5c7 fix: use actual Brave binary path, not wrapper script 2025-12-14 17:07:52 -03:00
c2b2727a86 fix: prefer system chromedriver if available 2025-12-14 16:59:09 -03:00
c4e59e8c71 fix: use correct chat URL /chat/chat.html 2025-12-14 16:50:22 -03:00
e96b01cfc8 fix: connect to existing stack without starting new processes
- Add existing() constructors for BotServerInstance and BotUIInstance
- Use BOTSERVER_URL and BOTUI_URL env vars with sensible defaults
- Fix database defaults for existing stack mode (gbuser/gbuser)
2025-12-14 16:44:29 -03:00
126abe2d10 feat: default to USE_EXISTING_STACK for faster e2e tests
Use FULL_BOOTSTRAP=1 to run full bootstrap instead
2025-12-14 16:40:07 -03:00
35a01c8c61 fix: export BotUIInstance from lib.rs 2025-12-14 16:32:43 -03:00
af41ecbdb0 feat: add BotUI orchestration for e2e browser tests
- Add BotUIInstance struct to start botui alongside botserver
- Update E2ETestContext to start botui and use its URL as base_url
- Add start_botui() method to TestContext
- Fix harness to use env vars BOTUI_PORT and BOTSERVER_URL for botui
- Update harness to use debug build by default
- Add SKIP_LLM_SERVER env var to skip local LLM server in tests
- Make stack_path absolute and canonicalize botserver paths
2025-12-14 15:59:07 -03:00
9b2c9dba5b Fix unnecessary mut warning in chromedriver service 2025-12-12 17:33:11 -03:00
3476080ac6 Update harness and chat tests 2025-12-12 16:39:45 -03:00
1480cdd56f chore: Update harness and remove task files 2025-12-07 09:57:38 -03:00
9f7844580d refactor: improve test harness and browser automation
- Update harness.rs, main.rs, ports.rs
- Add chromedriver service module
- Update browser automation in web/browser.rs
- Update e2e test module
2025-12-07 02:14:37 -03:00
8fdd3b7be8 Fix test harness and e2e tests
- PostgresService: Find PostgreSQL from system paths or botserver-stack
- MinioService: Find MinIO from system paths or botserver-stack
- BotServerInstance: Pass --stack-path to create clean test stack
- Fix test_mock_services_available to only check enabled services
- Fix test_full_harness_has_all_services for current config
- Fix test_botserver_startup to skip if botserver not available
- All 41 e2e tests now pass
2025-12-06 14:55:59 -03:00
08fa13b368 Fix test harness to use botserver-stack binaries
- PostgresService now uses binaries from botserver-stack/bin/tables/bin
- MinioService now uses binary from botserver-stack/bin/drive/minio
- Use absolute paths for PostgreSQL unix_socket_directories
- Add PostgreSQL startup log file for debugging
- Disable MinIO and Redis in full() config (MinIO segfaults, Redis not in stack)
- 38/41 e2e tests now pass
2025-12-06 14:16:26 -03:00
fe4c58d155 Fix compilation errors and unused imports in bottest
- Fix platform_flow.rs to use correct Browser API methods:
  - navigate -> goto
  - wait_for_element -> wait_for(Locator::css(...))
  - fill_input -> fill(Locator::css(...), text)
  - click(selector, timeout) -> click(Locator::css(selector))
  - get_current_url(timeout) -> current_url()
  - get_text -> text(Locator::css(...))
  - press_key -> input.send_keys()
- Fix e2e test imports (auth_flow, chat, dashboard)
- Remove unused pub use statements in bot/mod.rs and web/mod.rs
- Remove duplicate check_webdriver_available function
2025-12-06 13:38:54 -03:00
f397a5aaad Add E2E test runner script for easy local testing
- Provides easy interface to run all E2E test scenarios
- Supports: HTTP-only, startup, complete with/without browser
- WebDriver setup assistance
- Colored output for clarity
- Documentation and examples included
- One-command testing: ./RUN_E2E_TESTS.sh complete
2025-12-06 11:48:32 -03:00
7d5a73e0d2 Move documentation to botbook, update PROMPT to enforce botbook-only docs
- Removed E2E_TESTING_PLAN.md, README_E2E_TESTING.md, TEMP_STACK_SETUP.md from root
- All documentation now in gb/botbook/src/17-testing/
- Updated PROMPT.md v7.0 to forbid root .md files
- PROMPT.md is now the source of truth for testing patterns
- Developers refer to botbook and PROMPT.md, not scattered .md files
2025-12-06 11:23:57 -03:00
eb5c642559 Add E2E testing README with quick start guide
- Quick start examples for HTTP-only and browser tests
- Test structure and phases documentation
- Environment variables reference
- WebDriver setup instructions
- Common issues and solutions
- CI/CD integration examples
- Performance metrics and benchmarks
2025-12-06 11:16:14 -03:00
de58bc16a0 Add comprehensive E2E testing framework with platform flow
- Create platform_flow.rs with complete user journey test (load → botserver → login → chat → logout)
- Add TEMP_STACK_SETUP.md guide for using temporary isolated stacks
- Add E2E_TESTING_PLAN.md with architecture and implementation strategy
- Update e2e mod.rs to include new platform_flow module
- Include helpers for: platform loading, botserver verification, login, chat, logout
- Support for headless and headed browser testing
- Environment variable configuration for WebDriver, timeouts, logging
2025-12-06 11:15:14 -03:00
157a727334 - Initial import. 2025-12-06 11:05:57 -03:00