test: add comprehensive unit, integration, and e2e test suites

Introduce complete test coverage for the ARTEMIS platform across multiple layers:
Unit tests: Add tests for agent nodes (Planner, Operator, Validator, Diagnoser, FlashRunner, Explorer), tools, utils (OCR/XML fusion, UI hierarchy), and data engine.
Integration tests: Add live tool verification, reactive runner, IME, and standalone workflow tests.
E2E tests: Add end-to-end scenario tests for media playback and failure recovery flows.
Fixtures & mocks: Add mock inputs (audio, video, screenshot) and test utilities.
This commit is contained in:
chiwanko11 committed 2026-08-13 12:18:32 -07:00
1 parent c1803fcb86
commit 5d2283deaa
115 files changed
+22813

No files matched your search

+65
View File
@@ -0,0 +1,65 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Unit tests for ARTEMIS Unified CLI application."""
from typer.testing import CliRunner
from artemis.interfaces.cli.main import app
runner = CliRunner()
def test_cli_help():
"""Verify top-level CLI help returns status 0 and lists core subcommands."""
result = runner.invoke(app, ["--help"])
assert result.exit_code == 0
assert "Artemis: Autonomous Multimodal Android Agent" in result.output
assert "run" in result.output
assert "batch" in result.output
assert "bench" in result.output
assert "server" in result.output
assert "trace" in result.output
assert "mcp" in result.output
def test_cli_version():
"""Verify --version returns version banner."""
result = runner.invoke(app, ["--version"])
assert result.exit_code == 0
assert "Artemis Agent Platform" in result.output
def test_cli_run_help():
"""Verify 'artemis run --help' displays execution options."""
result = runner.invoke(app, ["run", "--help"])
assert result.exit_code == 0
assert "--profile" in result.output
assert "--locked-app" in result.output
assert "--traces-path" in result.output
def test_cli_batch_help():
"""Verify 'artemis batch --help' displays batch options."""
result = runner.invoke(app, ["batch", "--help"])
assert result.exit_code == 0
assert "--file" in result.output
assert "--delay" in result.output
def test_cli_trace_help():
"""Verify 'artemis trace --help' lists trace subcommands."""
result = runner.invoke(app, ["trace", "--help"])
assert result.exit_code == 0
assert "list" in result.output
assert "view" in result.output