From 33b14aaa2344b0fd95d1629627c3d135b24ae102 Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Wed, 1 Apr 2026 15:56:35 +0900 Subject: feat: initial trading platform implementation Binance spot crypto trading platform with microservices architecture: - shared: Pydantic models, Redis Streams broker, asyncpg DB layer - data-collector: Binance WebSocket/REST market data collection - strategy-engine: Plugin-based strategy execution (RSI, Grid) - order-executor: Order execution with risk management - portfolio-manager: Position tracking and PnL calculation - backtester: Historical strategy testing with simulator - cli: Click-based CLI for all operations - Docker Compose orchestration with Redis and PostgreSQL - 24 test files covering all modules --- cli/tests/__init__.py | 0 cli/tests/test_cli_data.py | 17 +++++++++++++++++ cli/tests/test_cli_trade.py | 10 ++++++++++ 3 files changed, 27 insertions(+) create mode 100644 cli/tests/__init__.py create mode 100644 cli/tests/test_cli_data.py create mode 100644 cli/tests/test_cli_trade.py (limited to 'cli/tests') diff --git a/cli/tests/__init__.py b/cli/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cli/tests/test_cli_data.py b/cli/tests/test_cli_data.py new file mode 100644 index 0000000..2cc2149 --- /dev/null +++ b/cli/tests/test_cli_data.py @@ -0,0 +1,17 @@ +from click.testing import CliRunner +from trading_cli.main import cli + + +def test_cli_help(): + runner = CliRunner() + result = runner.invoke(cli, ["--help"]) + assert result.exit_code == 0 + assert "Usage" in result.output + + +def test_cli_data_group(): + runner = CliRunner() + result = runner.invoke(cli, ["data", "--help"]) + assert result.exit_code == 0 + assert "collect" in result.output + assert "history" in result.output diff --git a/cli/tests/test_cli_trade.py b/cli/tests/test_cli_trade.py new file mode 100644 index 0000000..d3f3079 --- /dev/null +++ b/cli/tests/test_cli_trade.py @@ -0,0 +1,10 @@ +from click.testing import CliRunner +from trading_cli.main import cli + + +def test_cli_trade_group(): + runner = CliRunner() + result = runner.invoke(cli, ["trade", "--help"]) + assert result.exit_code == 0 + assert "start" in result.output + assert "stop" in result.output -- cgit v1.2.3