#!/usr/bin/env python3 """WOPI on startup test — verifies celery worker runs WOPI config on startup.""" import argparse import os import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) from utils.tests.helpers import run, resolve_server def main(): parser = argparse.ArgumentParser() parser.add_argument('--domain', default=os.environ.get('TEST_DOMAIN')) args = parser.parse_args() server = resolve_server() print("Testing WOPI configuration on startup") print() # Check celery worker logs for the entrypoint WOPI trigger message print("Step 1: Checking celery worker logs for WOPI startup trigger ...") result = run( f'ssh {server} "docker ps -f name=lasuite-drive --format \'{{{{.Names}}}}\' | grep -E \'celery\\.\' | grep -v beat"', check=False, timeout=30, ) celery_name = result.stdout.strip().split('\n')[0].strip() result = run( f'ssh {server} "docker logs {celery_name} 2>&1 | head -5"', check=False, timeout=30, ) celery_logs = result.stdout if "running WOPI configuration on startup" in celery_logs: print(" PASS: Celery worker ran WOPI configuration on startup") else: print(" FAIL: WOPI startup trigger not found in celery worker logs") print(f" Logs: {celery_logs}") sys.exit(1) # Verify it didn't fail if "WOPI configuration failed" in celery_logs: print(" FAIL: WOPI configuration failed on startup") print(f" Logs: {celery_logs}") sys.exit(1) else: print(" PASS: WOPI configuration completed without errors") print() print("PASS: WOPI on startup test passed") if __name__ == '__main__': main()