@@ -16,8 +16,9 @@ def test_get_repo_info(core, mock_sdk_with_responses):
1616
1717 # Assert SDK called correctly
1818 mock_sdk_with_responses .repos .repo .assert_called_once_with (
19- core .config .org_slug ,
20- "test"
19+ core .config .org_slug ,
20+ "test" ,
21+ use_types = True ,
2122 )
2223
2324 # Assert response processed correctly
@@ -30,8 +31,9 @@ def test_get_head_scan_for_repo(core, mock_sdk_with_responses):
3031
3132 # Assert SDK method called correctly
3233 mock_sdk_with_responses .repos .repo .assert_called_once_with (
33- core .config .org_slug ,
34- "test"
34+ core .config .org_slug ,
35+ "test" ,
36+ use_types = True ,
3537 )
3638
3739 # Assert we got the expected head scan ID
@@ -48,12 +50,14 @@ def test_get_full_scan(core, mock_sdk_with_responses, head_scan_metadata, head_s
4850
4951 # Assert SDK methods called correctly
5052 mock_sdk_with_responses .fullscans .metadata .assert_called_once_with (
51- core .config .org_slug ,
52- "head"
53+ core .config .org_slug ,
54+ "head" ,
55+ use_types = True ,
5356 )
5457 mock_sdk_with_responses .fullscans .stream .assert_called_once_with (
55- core .config .org_slug ,
56- "head"
58+ core .config .org_slug ,
59+ "head" ,
60+ use_types = True ,
5761 )
5862
5963 # Assert response processed correctly
@@ -62,7 +66,7 @@ def test_get_full_scan(core, mock_sdk_with_responses, head_scan_metadata, head_s
6266 assert len (full_scan .packages ) == len (head_scan_stream .artifacts )
6367 assert full_scan .packages ["dp1" ].transitives == 2
6468
65- def test_create_full_scan (core , new_scan_metadata , new_scan_stream ):
69+ def test_create_full_scan (core , mock_sdk_with_responses , new_scan_metadata ):
6670 """Test creating a new full scan"""
6771 # Setup test data
6872 files = ["requirements.txt" ]
@@ -77,25 +81,26 @@ def test_create_full_scan(core, new_scan_metadata, new_scan_stream):
7781
7882 # Verify the response
7983 assert full_scan .id == new_scan_metadata ["data" ]["id" ]
80- assert len (full_scan .sbom_artifacts ) == len (new_scan_stream .artifacts )
81- assert len (full_scan .packages ) == len (new_scan_stream .artifacts )
82- assert full_scan .packages ["dp4" ].transitives == 1
83- assert full_scan .packages ["dp3" ].transitives == 3
84+ mock_sdk_with_responses .fullscans .post .assert_called_once_with (
85+ files ,
86+ params ,
87+ use_types = True ,
88+ use_lazy_loading = True ,
89+ max_open_files = 50 ,
90+ base_paths = None ,
91+ )
8492
8593def test_get_added_and_removed_packages (core ):
8694 """Test getting added and removed packages between two scans"""
8795 # Get two different scans to compare
88- head_scan = core .get_full_scan ("head" )
89- new_scan = core .get_full_scan ("new" )
90-
91- # Get the differences
92- added , removed = core .get_added_and_removed_packages (head_scan , new_scan )
96+ added , removed , all_packages = core .get_added_and_removed_packages ("head" , "new" )
9397
9498 # Verify SDK was called correctly
9599 core .sdk .fullscans .stream_diff .assert_called_once_with (
96100 core .config .org_slug ,
97101 "head" ,
98- "new"
102+ "new" ,
103+ use_types = True ,
99104 )
100105
101106 # Verify the results
@@ -108,6 +113,7 @@ def test_get_added_and_removed_packages(core):
108113 assert len (removed ) > 0 # We should have some removed packages
109114 assert "dp2" in removed # Verify specific package we know was removed
110115 assert "dp2_t1" in removed # Verify transitive dependencies are also tracked
116+ assert "pypi/direct_package_1@1.6.0" in all_packages # Unchanged package is in full package map
111117
112118def test_empty_alerts_preserved (core ):
113119 """Test that empty alerts arrays stay as empty arrays and don't become None"""
0 commit comments