Skip to content

Commit 51344e5

Browse files
authored
CodeTF: change descriptions are optional but must not be empty (#822)
1 parent 165b285 commit 51344e5

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/codemodder/codemods/xml_transformer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def add_change(self, line):
9595
self.changes.append(
9696
Change(
9797
lineNumber=line,
98-
description=self.change_description,
98+
description=self.change_description or None,
9999
findings=self.file_context.get_findings_for_location(line),
100100
)
101101
)

src/codemodder/codetf.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ def validate_lineNumber(self):
6060
raise ValueError("lineNumber must be greater than 0")
6161
return self
6262

63+
@model_validator(mode="after")
64+
def validate_description(self):
65+
if self.description is not None and not self.description:
66+
raise ValueError("description must not be empty")
67+
return self
68+
6369

6470
class AIMetadata(BaseModel):
6571
provider: Optional[str] = None

tests/test_codetf.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@ def test_change_invalid_line_number():
6363
Change(lineNumber=0, description="Change 1 to 2")
6464

6565

66+
def test_change_empty_description():
67+
with pytest.raises(ValueError):
68+
Change(lineNumber=1, description="")
69+
70+
71+
def test_change_description_optional():
72+
Change(lineNumber=1, description=None)
73+
74+
6675
def test_write_codetf(tmpdir, mocker, codetf_schema):
6776
path = tmpdir / "test.codetf.json"
6877

0 commit comments

Comments
 (0)