- Change file mode from 644 to 755 for all project files - Add chain_id parameter to get_balance RPC endpoint with default "ait-devnet" - Rename Miner.extra_meta_data to extra_metadata for consistency
139 lines
6.3 KiB
Python
Executable File
139 lines
6.3 KiB
Python
Executable File
"""Tests for deployment commands - structure only"""
|
|
|
|
import pytest
|
|
from click.testing import CliRunner
|
|
from aitbc_cli.main import cli
|
|
|
|
|
|
@pytest.fixture
|
|
def runner():
|
|
"""Create CLI runner"""
|
|
return CliRunner()
|
|
|
|
|
|
class TestDeployCommands:
|
|
"""Test suite for deployment operations"""
|
|
|
|
def test_deploy_create_help(self, runner):
|
|
"""Test deploy create help command"""
|
|
result = runner.invoke(cli, ['deploy', 'create', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'create a new deployment configuration' in result.output.lower()
|
|
assert 'name' in result.output.lower()
|
|
assert 'environment' in result.output.lower()
|
|
assert 'region' in result.output.lower()
|
|
|
|
def test_deploy_start_help(self, runner):
|
|
"""Test deploy start help command"""
|
|
result = runner.invoke(cli, ['deploy', 'start', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'deploy the application to production' in result.output.lower()
|
|
assert 'deployment_id' in result.output.lower()
|
|
|
|
def test_deploy_scale_help(self, runner):
|
|
"""Test deploy scale help command"""
|
|
result = runner.invoke(cli, ['deploy', 'scale', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'scale a deployment' in result.output.lower()
|
|
assert 'target_instances' in result.output.lower()
|
|
assert 'reason' in result.output.lower()
|
|
|
|
def test_deploy_status_help(self, runner):
|
|
"""Test deploy status help command"""
|
|
result = runner.invoke(cli, ['deploy', 'status', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'comprehensive deployment status' in result.output.lower()
|
|
assert 'deployment_id' in result.output.lower()
|
|
|
|
def test_deploy_overview_help(self, runner):
|
|
"""Test deploy overview help command"""
|
|
result = runner.invoke(cli, ['deploy', 'overview', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'overview of all deployments' in result.output.lower()
|
|
assert 'format' in result.output.lower()
|
|
|
|
def test_deploy_monitor_help(self, runner):
|
|
"""Test deploy monitor help command"""
|
|
result = runner.invoke(cli, ['deploy', 'monitor', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'monitor deployment performance' in result.output.lower()
|
|
assert 'interval' in result.output.lower()
|
|
|
|
def test_deploy_auto_scale_help(self, runner):
|
|
"""Test deploy auto-scale help command"""
|
|
result = runner.invoke(cli, ['deploy', 'auto-scale', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'auto-scaling evaluation' in result.output.lower()
|
|
assert 'deployment_id' in result.output.lower()
|
|
|
|
def test_deploy_list_deployments_help(self, runner):
|
|
"""Test deploy list-deployments help command"""
|
|
result = runner.invoke(cli, ['deploy', 'list-deployments', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'list all deployments' in result.output.lower()
|
|
assert 'format' in result.output.lower()
|
|
|
|
def test_deploy_group_help(self, runner):
|
|
"""Test deploy group help command"""
|
|
result = runner.invoke(cli, ['deploy', '--help'])
|
|
assert result.exit_code == 0
|
|
assert 'production deployment and scaling commands' in result.output.lower()
|
|
assert 'create' in result.output.lower()
|
|
assert 'start' in result.output.lower()
|
|
assert 'scale' in result.output.lower()
|
|
assert 'status' in result.output.lower()
|
|
assert 'overview' in result.output.lower()
|
|
assert 'monitor' in result.output.lower()
|
|
assert 'auto-scale' in result.output.lower()
|
|
assert 'list-deployments' in result.output.lower()
|
|
|
|
def test_deploy_create_missing_args(self, runner):
|
|
"""Test deploy create with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'create'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_start_missing_args(self, runner):
|
|
"""Test deploy start with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'start'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_scale_missing_args(self, runner):
|
|
"""Test deploy scale with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'scale'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_status_missing_args(self, runner):
|
|
"""Test deploy status with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'status'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_monitor_missing_args(self, runner):
|
|
"""Test deploy monitor with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'monitor'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_auto_scale_missing_args(self, runner):
|
|
"""Test deploy auto-scale with missing arguments"""
|
|
result = runner.invoke(cli, ['deploy', 'auto-scale'])
|
|
assert result.exit_code == 2
|
|
assert 'missing argument' in result.output.lower() or 'usage:' in result.output.lower()
|
|
|
|
def test_deploy_overview_no_args(self, runner):
|
|
"""Test deploy overview with no arguments (should work)"""
|
|
result = runner.invoke(cli, ['deploy', 'overview'])
|
|
# The command works and returns empty deployment data
|
|
assert result.exit_code == 0
|
|
assert 'total deployments' in result.output.lower()
|
|
|
|
def test_deploy_list_deployments_no_args(self, runner):
|
|
"""Test deploy list-deployments with no arguments (should work)"""
|
|
result = runner.invoke(cli, ['deploy', 'list-deployments'])
|
|
# The command works and returns no deployments
|
|
assert result.exit_code == 0
|
|
assert 'no deployments found' in result.output.lower()
|