File size: 1,239 Bytes
da8fcf1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""ARCHITECT skill-registry tests."""

from __future__ import annotations


def test_load_all_returns_phase1_minimum():
    from architect import skill_registry
    skills = skill_registry.load_all()
    names = {s.name for s in skills}
    for required in ("binary-analysis", "web-security-advanced", "api-security",
                     "memory-safety", "cryptography-attacks", "network-protocol",
                     "cloud-security"):
        assert required in names, f"missing foundation skill: {required}"


def test_match_picks_web_for_python_flask_target():
    from architect import skill_registry
    profile = {"languages": ["python"], "frameworks": ["flask"],
               "asset_types": ["http"]}
    matched = skill_registry.match(profile, top_k=4)
    names = [s.name for s in matched]
    assert "web-security-advanced" in names


def test_render_skill_pack_yields_markdown():
    from architect import skill_registry
    out = skill_registry.render_skill_pack(
        {"languages": ["c"], "asset_types": ["elf"]})
    assert "skill::" in out
    assert "ARCHITECT skill pack" in out


def test_stats_reports_total():
    from architect import skill_registry
    s = skill_registry.stats()
    assert s["total"] >= 19