Skip to content

Commit 07f725a

Browse files
Merge pull request #106 from codefromlani/fix/get-version-from-package
fix: dynamically fetch version from package metadata and update test
2 parents fd66cb3 + ecc2696 commit 07f725a

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

mcp_fuzzer/reports/output_protocol.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,19 @@
1515

1616
from ..exceptions import ValidationError
1717

18+
from importlib.metadata import version, PackageNotFoundError
19+
20+
try:
21+
TOOL_VERSION = version("mcp-fuzzer")
22+
except PackageNotFoundError:
23+
TOOL_VERSION = "unknown"
24+
1825

1926
class OutputProtocol:
2027
"""Handles standardized output format with mini-protocol for MCP Fuzzer."""
2128

2229
PROTOCOL_VERSION = "1.0.0"
23-
TOOL_VERSION = "0.1.6" # TODO: Get from package version
30+
TOOL_VERSION = TOOL_VERSION
2431

2532
# Output types
2633
OUTPUT_TYPES = {

mcp_fuzzer/reports/reporter.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@
2626
from .output_protocol import OutputManager
2727
from .safety_reporter import SafetyReporter
2828

29+
from importlib.metadata import version, PackageNotFoundError
30+
31+
try:
32+
fuzzer_version = version("mcp-fuzzer")
33+
except PackageNotFoundError:
34+
fuzzer_version = "unknown"
35+
2936

3037
class FuzzerReporter:
3138
"""Centralized reporter for all MCP Fuzzer output and reporting."""
@@ -100,7 +107,7 @@ def set_fuzzing_metadata(
100107
"endpoint": endpoint,
101108
"runs": runs,
102109
"runs_per_type": runs_per_type,
103-
"fuzzer_version": "1.0.0", # TODO: Get from package
110+
"fuzzer_version": fuzzer_version,
104111
}
105112

106113
def add_tool_results(self, tool_name: str, results: List[Dict[str, Any]]):

tests/unit/reports/test_output_protocol.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@
1212

1313
from mcp_fuzzer.reports.output_protocol import OutputProtocol, OutputManager
1414

15+
from importlib.metadata import version, PackageNotFoundError
16+
17+
try:
18+
expected_version = version("mcp-fuzzer")
19+
except PackageNotFoundError:
20+
expected_version = "unknown"
21+
1522

1623
class TestOutputProtocol:
1724
"""Test cases for OutputProtocol class."""
@@ -26,7 +33,7 @@ def test_create_base_output(self):
2633
output = self.protocol.create_base_output("fuzzing_results", data)
2734

2835
assert output["protocol_version"] == "1.0.0"
29-
assert output["tool_version"] == "0.1.6"
36+
assert output["tool_version"] == expected_version
3037
assert output["session_id"] == "test-session-123"
3138
assert output["output_type"] == "fuzzing_results"
3239
assert output["data"] == data

0 commit comments

Comments
 (0)