Skip to content

Commit da433b6

Browse files
committed
tests
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
1 parent ec89ae7 commit da433b6

2 files changed

Lines changed: 37 additions & 34 deletions

File tree

tests/_data/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from datetime import datetime, timezone
2222
from decimal import Decimal
2323
from inspect import getmembers, isfunction
24-
from typing import Any, Optional, Union
24+
from typing import Any, Optional
2525
from uuid import UUID
2626

2727
# See https://github.com/package-url/packageurl-python/issues/65
@@ -60,12 +60,12 @@
6060
from cyclonedx.model.component_evidence import (
6161
AnalysisTechnique,
6262
CallStack,
63+
CallStackFrame,
6364
ComponentEvidence,
6465
Identity,
6566
IdentityField,
6667
Method,
6768
Occurrence,
68-
CallStackFrame,
6969
)
7070
from cyclonedx.model.contact import OrganizationalContact, OrganizationalEntity, PostalAddress
7171
from cyclonedx.model.crypto import (

tests/test_model_component_evidence.py

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@
1818
from decimal import Decimal
1919
from unittest import TestCase
2020

21+
from cyclonedx.exception.model import InvalidConfidenceException
2122
from cyclonedx.model import Copyright
2223
from cyclonedx.model.component_evidence import (
2324
AnalysisTechnique,
2425
CallStack,
26+
CallStackFrame,
2527
ComponentEvidence,
2628
Identity,
2729
IdentityField,
2830
Method,
2931
Occurrence,
30-
CallStackFrame,
3132
)
32-
from cyclonedx.exception.model import InvalidConfidenceException
3333

3434

3535
class TestModelComponentEvidence(TestCase):
@@ -100,36 +100,6 @@ def test_occurrences(self) -> None:
100100
self.assertEqual(len(ce.occurrences), 1)
101101
self.assertEqual(ce.occurrences.pop().line, 42)
102102

103-
def test_CallStackFrame(self) -> None:
104-
# Test CallStackFrame with required fields
105-
frame = CallStackFrame(
106-
package='com.example',
107-
module='app',
108-
function='main',
109-
parameters=['arg1', 'arg2'],
110-
line=1,
111-
column=10,
112-
full_filename='/path/to/file.py'
113-
)
114-
self.assertEqual(frame.package, 'com.example')
115-
self.assertEqual(frame.module, 'app')
116-
self.assertEqual(frame.function, 'main')
117-
self.assertEqual(len(frame.parameters), 2)
118-
self.assertEqual(frame.line, 1)
119-
self.assertEqual(frame.column, 10)
120-
self.assertEqual(frame.full_filename, '/path/to/file.py')
121-
122-
def test_CallStackFrame_module_required(self) -> None:
123-
"""Test that module is the only required field"""
124-
frame = CallStackFrame(module='app') # Only mandatory field
125-
self.assertEqual(frame.module, 'app')
126-
self.assertIsNone(frame.package)
127-
self.assertIsNone(frame.function)
128-
self.assertEqual(len(frame.parameters), 0)
129-
self.assertIsNone(frame.line)
130-
self.assertIsNone(frame.column)
131-
self.assertIsNone(frame.full_filename)
132-
133103
def test_callstack(self) -> None:
134104
frame = CallStackFrame(
135105
package='com.example',
@@ -230,3 +200,36 @@ def test_not_same_1(self) -> None:
230200
ce_2 = ComponentEvidence(copyright=[Copyright(text='Commercial 2')])
231201
self.assertNotEqual(hash(ce_1), hash(ce_2))
232202
self.assertFalse(ce_1 == ce_2)
203+
204+
205+
class TestModelCallStackFrame(TestCase):
206+
207+
def test_fields(self) -> None:
208+
# Test CallStackFrame with required fields
209+
frame = CallStackFrame(
210+
package='com.example',
211+
module='app',
212+
function='main',
213+
parameters=['arg1', 'arg2'],
214+
line=1,
215+
column=10,
216+
full_filename='/path/to/file.py'
217+
)
218+
self.assertEqual(frame.package, 'com.example')
219+
self.assertEqual(frame.module, 'app')
220+
self.assertEqual(frame.function, 'main')
221+
self.assertEqual(len(frame.parameters), 2)
222+
self.assertEqual(frame.line, 1)
223+
self.assertEqual(frame.column, 10)
224+
self.assertEqual(frame.full_filename, '/path/to/file.py')
225+
226+
def test_module_required(self) -> None:
227+
"""Test that module is the only required field"""
228+
frame = CallStackFrame(module='app') # Only mandatory field
229+
self.assertEqual(frame.module, 'app')
230+
self.assertIsNone(frame.package)
231+
self.assertIsNone(frame.function)
232+
self.assertEqual(len(frame.parameters), 0)
233+
self.assertIsNone(frame.line)
234+
self.assertIsNone(frame.column)
235+
self.assertIsNone(frame.full_filename)

0 commit comments

Comments
 (0)