cd7ba5685a
Replace static post-installation configuration with dynamic test-time configuration to support testing multiple MCP server deployments. Changes: - Remove static MCP server URL and OAuth client setup from post-installation - Add configure_astrolabe_for_mcp_server fixture (session-scoped) - Fixture dynamically configures: * Nextcloud system config (mcp_server_url, mcp_server_public_url) * OAuth client creation via occ oidc:create * Client credential storage (astrolabe_client_id, astrolabe_client_secret) - Update existing OAuth tests to use dynamic configuration - Add test_astrolabe_multi_server_integration.py with parametrized tests Benefits: - Test Astrolabe with mcp-oauth, mcp-keycloak, mcp-multi-user-basic - Each test configures for its specific MCP server - No static configuration conflicts between deployments - Cleaner post-installation (37 lines, down from 85) Test Results: - test_astrolabe_configuration_for_different_servers: PASSED (mcp-oauth, mcp-keycloak) - test_astrolabe_reconfiguration: PASSED 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
37 lines
1.4 KiB
Bash
Executable File
37 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euox pipefail
|
|
|
|
echo "Installing Astrolabe app for testing..."
|
|
|
|
# Check if development astrolabe app is mounted at /opt/apps/astrolabe
|
|
if [ -d /opt/apps/astrolabe ]; then
|
|
echo "Development astrolabe app found at /opt/apps/astrolabe"
|
|
|
|
# Remove any existing astrolabe app in custom_apps (from app store or old symlink)
|
|
if [ -e /var/www/html/custom_apps/astrolabe ]; then
|
|
echo "Removing existing astrolabe in custom_apps..."
|
|
rm -rf /var/www/html/custom_apps/astrolabe
|
|
fi
|
|
|
|
# Create symlink from custom_apps to the mounted development version
|
|
# Per Nextcloud docs: apps outside server root need symlinks in server root
|
|
echo "Creating symlink: custom_apps/astrolabe -> /opt/apps/astrolabe"
|
|
ln -sf /opt/apps/astrolabe /var/www/html/custom_apps/astrolabe
|
|
|
|
echo "Enabling astrolabe app from /opt/apps (development mode via symlink)"
|
|
php /var/www/html/occ app:enable astrolabe
|
|
elif [ -d /var/www/html/custom_apps/astrolabe ]; then
|
|
echo "astrolabe app directory found in custom_apps (already installed)"
|
|
php /var/www/html/occ app:enable astrolabe
|
|
else
|
|
echo "astrolabe app not found, installing from app store..."
|
|
php /var/www/html/occ app:install astrolabe
|
|
php /var/www/html/occ app:enable astrolabe
|
|
fi
|
|
|
|
echo "✓ Astrolabe app installed successfully"
|
|
echo ""
|
|
echo "Note: MCP server configuration is managed dynamically during tests"
|
|
echo " to support testing multiple MCP server deployments."
|