Skip to content

Commit c2471ed

Browse files
jkowallecke3krisztian
authored andcommitted
tests
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 6e68224 commit c2471ed

File tree

3 files changed

+61
-12
lines changed

3 files changed

+61
-12
lines changed

cyclonedx/validation/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def validate_str(self, data: str, *, all_errors: Literal[False] = ...) -> Option
116116
"""Validate a string
117117
118118
:param data: the data string to validate
119-
:param all_errors: whether to return all errors or only the last error - if any
119+
:param all_errors: whether to return all errors or only (any)one - if any
120120
:return: validation error
121121
:retval None: if ``data`` is valid
122122
:retval ValidationError: if ``data`` is invalid
@@ -128,7 +128,7 @@ def validate_str(self, data: str, *, all_errors: Literal[True]) -> Optional[Iter
128128
"""Validate a string
129129
130130
:param data: the data string to validate
131-
:param all_errors: whether to return all errors or only the last error - if any
131+
:param all_errors: whether to return all errors or only (any)one - if any
132132
:return: validation error
133133
:retval None: if ``data`` is valid
134134
:retval Iterable[ValidationError]: if ``data`` is invalid
@@ -142,7 +142,7 @@ def validate_str(
142142
"""Validate a string
143143
144144
:param data: the data string to validate
145-
:param all_errors: whether to return all errors or only the last error - if any
145+
:param all_errors: whether to return all errors or only (any)one - if any
146146
:return: validation error
147147
:retval None: if ``data`` is valid
148148
:retval ValidationError: if ``data`` is invalid and ``all_errors`` is ``False``

tests/test_validation_json.py

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def test_validate_no_none(self, schema_version: SchemaVersion, test_data_file: s
8282
_dp_sv_own(False)
8383
))
8484
@unpack
85-
def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_file: str) -> None:
85+
def test_validate_expected_error_one(self, schema_version: SchemaVersion, test_data_file: str) -> None:
8686
validator = JsonValidator(schema_version)
8787
with open(join(test_data_file)) as tdfh:
8888
test_data = tdfh.read()
@@ -93,6 +93,25 @@ def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_
9393
self.assertIsNotNone(validation_error)
9494
self.assertIsNotNone(validation_error.data)
9595

96+
@idata(chain(
97+
_dp_sv_tf(False),
98+
_dp_sv_own(False)
99+
))
100+
@unpack
101+
def test_validate_expected_error_iterator(self, schema_version: SchemaVersion, test_data_file: str) -> None:
102+
validator = JsonValidator(schema_version)
103+
with open(join(test_data_file)) as tdfh:
104+
test_data = tdfh.read()
105+
try:
106+
validation_errors = validator.validate_str(test_data, all_errors=True)
107+
except MissingOptionalDependencyException:
108+
self.skipTest('MissingOptionalDependencyException')
109+
self.assertIsNotNone(validation_errors)
110+
validation_errors = tuple(validation_errors)
111+
self.assertGreater(len(validation_errors), 0)
112+
for validation_error in validation_errors:
113+
self.assertIsNotNone(validation_error.data)
114+
96115

97116
@ddt
98117
class TestJsonStrictValidator(TestCase):
@@ -117,14 +136,12 @@ def test_validate_no_none(self, schema_version: SchemaVersion, test_data_file: s
117136
self.skipTest('MissingOptionalDependencyException')
118137
self.assertIsNone(validation_error)
119138

120-
self.assertEqual(list(validator.iterate_errors(test_data)), [])
121-
122139
@idata(chain(
123140
_dp_sv_tf(False),
124141
_dp_sv_own(False)
125142
))
126143
@unpack
127-
def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_file: str) -> None:
144+
def test_validate_expected_error_one(self, schema_version: SchemaVersion, test_data_file: str) -> None:
128145
validator = JsonStrictValidator(schema_version)
129146
with open(join(test_data_file)) as tdfh:
130147
test_data = tdfh.read()
@@ -141,4 +158,21 @@ def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_
141158
squeezed_message = validation_error.get_squeezed_message(max_size=100)
142159
self.assertLessEqual(len(squeezed_message), 100, squeezed_message)
143160

144-
self.assertNotEqual(list(validator.iterate_errors(test_data)), [])
161+
@idata(chain(
162+
_dp_sv_tf(False),
163+
_dp_sv_own(False)
164+
))
165+
@unpack
166+
def test_validate_expected_error_iterator(self, schema_version: SchemaVersion, test_data_file: str) -> None:
167+
validator = JsonValidator(schema_version)
168+
with open(join(test_data_file)) as tdfh:
169+
test_data = tdfh.read()
170+
try:
171+
validation_errors = validator.validate_str(test_data, all_errors=True)
172+
except MissingOptionalDependencyException:
173+
self.skipTest('MissingOptionalDependencyException')
174+
self.assertIsNotNone(validation_errors)
175+
validation_errors = tuple(validation_errors)
176+
self.assertGreater(len(validation_errors), 0)
177+
for validation_error in validation_errors:
178+
self.assertIsNotNone(validation_error.data)

tests/test_validation_xml.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,12 @@ def test_validate_no_none(self, schema_version: SchemaVersion, test_data_file: s
7777
self.skipTest('MissingOptionalDependencyException')
7878
self.assertIsNone(validation_error)
7979

80-
self.assertEqual(list(validator.iterate_errors(test_data)), [])
81-
8280
@idata(chain(
8381
_dp_sv_tf(False),
8482
_dp_sv_own(False)
8583
))
8684
@unpack
87-
def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_file: str) -> None:
85+
def test_validate_expected_error_one(self, schema_version: SchemaVersion, test_data_file: str) -> None:
8886
validator = XmlValidator(schema_version)
8987
with open(join(test_data_file)) as tdfh:
9088
test_data = tdfh.read()
@@ -101,4 +99,21 @@ def test_validate_expected_error(self, schema_version: SchemaVersion, test_data_
10199
squeezed_message = validation_error.get_squeezed_message(max_size=100)
102100
self.assertLessEqual(len(squeezed_message), 100, squeezed_message)
103101

104-
self.assertNotEqual(list(validator.iterate_errors(test_data)), [])
102+
@idata(chain(
103+
_dp_sv_tf(False),
104+
_dp_sv_own(False)
105+
))
106+
@unpack
107+
def test_validate_expected_error_iterator(self, schema_version: SchemaVersion, test_data_file: str) -> None:
108+
validator = XmlValidator(schema_version)
109+
with open(join(test_data_file)) as tdfh:
110+
test_data = tdfh.read()
111+
try:
112+
validation_errors = validator.validate_str(test_data, all_errors=True)
113+
except MissingOptionalDependencyException:
114+
self.skipTest('MissingOptionalDependencyException')
115+
self.assertIsNotNone(validation_errors)
116+
validation_errors = tuple(validation_errors)
117+
self.assertGreater(len(validation_errors), 0)
118+
for validation_error in validation_errors:
119+
self.assertIsNotNone(validation_error.data)

0 commit comments

Comments
 (0)