Files
motia-iii/tests/README.md
bsiggel bcb6454b2a Add comprehensive test scripts for thumbnail generation and xAI collections API
- Implemented `test_thumbnail_generation.py` to validate the complete flow of document thumbnail generation in EspoCRM, including document creation, file upload, webhook triggering, and preview verification.
- Created `test_xai_collections_api.py` to test critical operations of the xAI Collections API, covering file uploads, collection CRUD operations, document management, and response validation.
- Both scripts include detailed logging for success and error states, ensuring robust testing and easier debugging.
2026-03-03 17:03:08 +00:00

2.6 KiB

Test Scripts

This directory contains test scripts for the Motia III xAI Collections integration.

Test Files

test_xai_collections_api.py

Tests xAI Collections API authentication and basic operations.

Usage:

cd /opt/motia-iii/bitbylaw
python tests/test_xai_collections_api.py

Required Environment Variables:

  • XAI_MANAGEMENT_API_KEY - xAI Management API key for collection operations
  • XAI_API_KEY - xAI Regular API key for file operations

Tests:

  • Management API authentication
  • Regular API authentication
  • Collection listing
  • Collection creation
  • File upload
  • Collection deletion
  • Error handling

test_preview_upload.py

Tests preview/thumbnail upload to EspoCRM CDokumente entity.

Usage:

cd /opt/motia-iii/bitbylaw
python tests/test_preview_upload.py

Required Environment Variables:

Tests:

  • Preview image generation (WebP format, 600x800px)
  • Base64 Data URI encoding
  • Attachment upload via JSON POST
  • Entity update with previewId/previewName

Status: Successfully tested - Attachment ID 69a71194c7c6baebf created

test_thumbnail_generation.py

Tests thumbnail generation for various document types.

Usage:

cd /opt/motia-iii/bitbylaw
python tests/test_thumbnail_generation.py

Supported Formats:

  • PDF → WebP (first page)
  • DOCX/DOC → PDF → WebP
  • Images (JPEG, PNG, etc.) → WebP resize

Dependencies:

  • python3-pil - PIL/Pillow for image processing
  • poppler-utils - PDF rendering
  • libreoffice - DOCX to PDF conversion
  • pdf2image - PDF to image conversion

Running Tests

All Tests

cd /opt/motia-iii/bitbylaw
python -m pytest tests/ -v

Individual Tests

cd /opt/motia-iii/bitbylaw
python tests/test_xai_collections_api.py
python tests/test_preview_upload.py
python tests/test_thumbnail_generation.py

Environment Setup

Create .env file in /opt/motia-iii/bitbylaw/:

# xAI Collections API
XAI_MANAGEMENT_API_KEY=xai-token-xxx...
XAI_API_KEY=xai-xxx...

# EspoCRM API
ESPOCRM_URL=https://crm.bitbylaw.com
ESPOCRM_API_KEY=xxx...

# Redis (for locking)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB_ADVOWARE_CACHE=1

Test Results

Last test run: Successfully validated preview upload functionality

  • Preview upload works with base64 Data URI format
  • Attachment created with ID: 69a71194c7c6baebf
  • CDokumente entity updated with previewId/previewName
  • WebP format at 600x800px confirmed working