Files
ewoooc/tests/test_pixelrag_application_portfolio_service.py

87 lines
3.4 KiB
Python

import json
import subprocess
import sys
def test_pixelrag_application_portfolio_prioritizes_commerce_and_guardrails():
from services.pixelrag_application_portfolio_service import (
POLICY,
build_pixelrag_application_portfolio,
)
payload = build_pixelrag_application_portfolio(include_forbidden=True)
lanes = {item["id"]: item for item in payload["lanes"]}
assert payload["policy"] == POLICY
assert payload["status"] == "portfolio_ready"
assert payload["summary"]["lane_count"] >= 10
assert payload["summary"]["worker_required_count"] >= 1
assert "commerce.marketplace_visual_offer_cards" in lanes
assert lanes["commerce.marketplace_visual_offer_cards"]["priority"] == "P0"
assert lanes["commerce.marketplace_visual_offer_cards"]["next_machine_action"] == (
"run_ollama_first_vlm_replay_worker"
)
assert "Google Merchant product data" in lanes[
"commerce.product_feed_and_structured_data_gap_check"
]["integrates_with"]
assert lanes["commerce.platform_barrier_classifier"]["status"] == (
"production_contract_ready"
)
assert lanes["forbidden.personalized_or_private_state"]["status"] == "forbidden"
assert payload["controlled_apply"]["db_write"] is False
assert payload["controlled_apply"]["primary_human_gate_count"] == 0
assert any(item["id"] == "pixelrag_visual_rag_pattern" for item in payload["source_basis"])
assert payload["recommended_order"][0]["priority"] == "P0"
def test_pixelrag_application_portfolio_filters_area_without_forbidden_by_default():
from services.pixelrag_application_portfolio_service import build_pixelrag_application_portfolio
payload = build_pixelrag_application_portfolio(area="governance")
assert {item["area"] for item in payload["lanes"]} == {"governance"}
assert all(item["status"] != "forbidden" for item in payload["lanes"])
assert payload["summary"]["lane_count"] == 1
assert payload["lanes"][0]["id"] == "commerce.platform_barrier_classifier"
def test_pixelrag_application_portfolio_cli_outputs_machine_readable_json():
completed = subprocess.run(
[
sys.executable,
"scripts/ops/report_pixelrag_application_portfolio.py",
"--area",
"commerce",
"--priority",
"P1",
],
capture_output=True,
check=False,
text=True,
)
assert completed.returncode == 0
payload = json.loads(completed.stdout)
assert payload["success"] is True
assert payload["filters"]["area"] == "commerce"
assert payload["filters"]["priority"] == "P1"
assert {item["priority"] for item in payload["lanes"]} == {"P1"}
assert payload["controlled_apply"]["network_call"] is False
def test_pixelrag_application_portfolio_route_returns_readback():
from flask import Flask
from routes import system_public_routes as routes
app = Flask(__name__)
with app.test_request_context(
"/api/ai-automation/pixelrag-application-portfolio?area=rag"
):
response = routes.ai_automation_pixelrag_application_portfolio_api.__wrapped__()
payload = response.get_json()
assert payload["policy"] == "read_only_pixelrag_application_portfolio_v1"
assert payload["filters"]["area"] == "rag"
assert {item["area"] for item in payload["lanes"]} == {"rag"}
assert payload["next_machine_action"] == "run_ollama_first_vlm_replay_worker"