@@ -29,12 +29,19 @@ def test_resolve_host_dependencies_default_args(
2929
3030 mock_orchestrator_instance = MagicMock ()
3131 mock_orchestrator .return_value = mock_orchestrator_instance
32- mock_dependencies = {"pip" : [{"name" : "requests" , "version" : "2.28.0" }]}
32+ mock_dependencies = {
33+ "source" : {"type" : "host" , "name" : "local-host" },
34+ "project" : {
35+ "pip" : {"location" : "/home/user/.local/lib/python3.12/site-packages" , "hash" : "sha256:abc123..." },
36+ "packages" : [{"name" : "requests" , "version" : "2.28.0" , "type" : "pip" }],
37+ },
38+ "system" : {"packages" : []},
39+ }
3340 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
3441
3542 mock_formatter_instance = MagicMock ()
3643 mock_formatter .return_value = mock_formatter_instance
37- mock_formatter_instance .format_json .return_value = '{"pip": [{"name": "requests", "version": "2.28.0"}] }'
44+ mock_formatter_instance .format_json .return_value = '{"source": {"type": "host", "name": "local-host"}, "project": {" pip": {"location": "/home/user/.local/lib/python3.12/site-packages", "hash": "sha256:abc123..."}, "packages": [{"name": "requests", "version": "2.28.0", "type": "pip"}]}, "system": {"packages": []} }'
3845
3946 # Call function
4047 result = resolve_host_dependencies ()
@@ -46,7 +53,10 @@ def test_resolve_host_dependencies_default_args(
4653 mock_formatter .assert_called_once_with (debug = False )
4754 mock_formatter_instance .format_json .assert_called_once_with (mock_dependencies , pretty_print = False )
4855
49- assert result == '{"pip": [{"name": "requests", "version": "2.28.0"}]}'
56+ assert (
57+ result
58+ == '{"source": {"type": "host", "name": "local-host"}, "project": {"pip": {"location": "/home/user/.local/lib/python3.12/site-packages", "hash": "sha256:abc123..."}, "packages": [{"name": "requests", "version": "2.28.0", "type": "pip"}]}, "system": {"packages": []}}'
59+ )
5060
5161 @patch ("dependency_resolver.Orchestrator" )
5262 @patch ("dependency_resolver.HostExecutor" )
@@ -61,14 +71,19 @@ def test_resolve_host_dependencies_with_all_args(
6171
6272 mock_orchestrator_instance = MagicMock ()
6373 mock_orchestrator .return_value = mock_orchestrator_instance
64- mock_dependencies = {"npm" : [{"name" : "express" , "version" : "4.18.0" }]}
74+ mock_dependencies = {
75+ "source" : {"type" : "host" , "name" : "local-host" },
76+ "project" : {
77+ "npm" : {"location" : "/tmp/test/node_modules" , "hash" : "sha256:npm456..." },
78+ "packages" : [{"name" : "express" , "version" : "4.18.0" , "type" : "npm" }],
79+ },
80+ "system" : {"packages" : []},
81+ }
6582 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
6683
6784 mock_formatter_instance = MagicMock ()
6885 mock_formatter .return_value = mock_formatter_instance
69- mock_formatter_instance .format_json .return_value = (
70- '{\n "npm": [\n {\n "name": "express",\n "version": "4.18.0"\n }\n ]\n }'
71- )
86+ mock_formatter_instance .format_json .return_value = '{\n "source": {\n "type": "host",\n "name": "local-host"\n },\n "project": {\n "npm": {\n "location": "/tmp/test/node_modules",\n "hash": "sha256:npm456..."\n },\n "packages": [\n {\n "name": "express",\n "version": "4.18.0",\n "type": "npm"\n }\n ]\n },\n "system": {\n "packages": []\n }\n }'
7287
7388 # Call function with all arguments
7489 resolve_host_dependencies (
@@ -98,14 +113,25 @@ def test_resolve_docker_dependencies_default_args(
98113
99114 mock_orchestrator_instance = MagicMock ()
100115 mock_orchestrator .return_value = mock_orchestrator_instance
101- mock_dependencies = {"dpkg" : [{"name" : "curl" , "version" : "7.81.0-1ubuntu1.4" }]}
116+ mock_dependencies = {
117+ "source" : {
118+ "type" : "container" ,
119+ "name" : "test-container" ,
120+ "image" : "ubuntu:20.04" ,
121+ "hash" : "sha256:abc123..." ,
122+ },
123+ "project" : {"packages" : []},
124+ "system" : {
125+ "packages" : [
126+ {"name" : "curl" , "version" : "7.81.0-1ubuntu1.4" , "hash" : "sha256:def456..." , "type" : "dpkg" }
127+ ]
128+ },
129+ }
102130 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
103131
104132 mock_formatter_instance = MagicMock ()
105133 mock_formatter .return_value = mock_formatter_instance
106- mock_formatter_instance .format_json .return_value = (
107- '{"dpkg": [{"name": "curl", "version": "7.81.0-1ubuntu1.4"}]}'
108- )
134+ mock_formatter_instance .format_json .return_value = '{"source": {"type": "container", "name": "test-container", "image": "ubuntu:20.04", "hash": "sha256:abc123..."}, "project": {"packages": []}, "system": {"packages": [{"name": "curl", "version": "7.81.0-1ubuntu1.4", "hash": "sha256:def456...", "type": "dpkg"}]}}'
109135
110136 # Call function
111137 result = resolve_docker_dependencies ("test-container" )
@@ -117,7 +143,10 @@ def test_resolve_docker_dependencies_default_args(
117143 mock_formatter .assert_called_once_with (debug = False )
118144 mock_formatter_instance .format_json .assert_called_once_with (mock_dependencies , pretty_print = False )
119145
120- assert result == '{"dpkg": [{"name": "curl", "version": "7.81.0-1ubuntu1.4"}]}'
146+ assert (
147+ result
148+ == '{"source": {"type": "container", "name": "test-container", "image": "ubuntu:20.04", "hash": "sha256:abc123..."}, "project": {"packages": []}, "system": {"packages": [{"name": "curl", "version": "7.81.0-1ubuntu1.4", "hash": "sha256:def456...", "type": "dpkg"}]}}'
149+ )
121150
122151 @patch ("dependency_resolver.Orchestrator" )
123152 @patch ("dependency_resolver.DockerExecutor" )
@@ -132,14 +161,14 @@ def test_resolve_docker_dependencies_with_all_args(
132161
133162 mock_orchestrator_instance = MagicMock ()
134163 mock_orchestrator .return_value = mock_orchestrator_instance
135- mock_dependencies = {"container_info" : {"id" : "abc123" , "image" : "ubuntu:20.04" }}
164+ mock_dependencies = {
165+ "source" : {"type" : "container" , "name" : "my-container" , "image" : "ubuntu:20.04" , "hash" : "sha256:abc123..." }
166+ }
136167 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
137168
138169 mock_formatter_instance = MagicMock ()
139170 mock_formatter .return_value = mock_formatter_instance
140- mock_formatter_instance .format_json .return_value = (
141- '{\n "container_info": {\n "id": "abc123",\n "image": "ubuntu:20.04"\n }\n }'
142- )
171+ mock_formatter_instance .format_json .return_value = '{\n "source": {\n "type": "container",\n "name": "my-container",\n "image": "ubuntu:20.04",\n "hash": "sha256:abc123..."\n }\n }'
143172
144173 # Call function with all arguments
145174 resolve_docker_dependencies (
@@ -173,7 +202,14 @@ def test_resolve_dependencies_as_dict_host(self, mock_host_executor: Any, mock_o
173202
174203 mock_orchestrator_instance = MagicMock ()
175204 mock_orchestrator .return_value = mock_orchestrator_instance
176- mock_dependencies = {"pip" : [{"name" : "flask" , "version" : "2.2.0" }]}
205+ mock_dependencies = {
206+ "source" : {"type" : "host" , "name" : "local-host" },
207+ "project" : {
208+ "pip" : {"location" : "/home/user/.local/lib/python3.12/site-packages" , "hash" : "sha256:abc123..." },
209+ "packages" : [{"name" : "flask" , "version" : "2.2.0" , "type" : "pip" }],
210+ },
211+ "system" : {"packages" : []},
212+ }
177213 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
178214
179215 # Call function
@@ -196,7 +232,18 @@ def test_resolve_dependencies_as_dict_docker(self, mock_docker_executor: Any, mo
196232
197233 mock_orchestrator_instance = MagicMock ()
198234 mock_orchestrator .return_value = mock_orchestrator_instance
199- mock_dependencies = {"apk" : [{"name" : "git" , "version" : "2.36.2-r0" }]}
235+ mock_dependencies = {
236+ "source" : {
237+ "type" : "container" ,
238+ "name" : "alpine-container" ,
239+ "image" : "alpine:3.18" ,
240+ "hash" : "sha256:def456..." ,
241+ },
242+ "project" : {"packages" : []},
243+ "system" : {
244+ "packages" : [{"name" : "git" , "version" : "2.36.2-r0" , "hash" : "sha256:ghi789..." , "type" : "apk" }]
245+ },
246+ }
200247 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
201248
202249 # Call function
@@ -235,7 +282,20 @@ def test_resolve_docker_dependencies_as_dict_default_args(
235282
236283 mock_orchestrator_instance = MagicMock ()
237284 mock_orchestrator .return_value = mock_orchestrator_instance
238- mock_dependencies = {"dpkg" : [{"name" : "curl" , "version" : "7.81.0-1ubuntu1.4" }]}
285+ mock_dependencies = {
286+ "source" : {
287+ "type" : "container" ,
288+ "name" : "test-container" ,
289+ "image" : "ubuntu:20.04" ,
290+ "hash" : "sha256:abc123..." ,
291+ },
292+ "project" : {"packages" : []},
293+ "system" : {
294+ "packages" : [
295+ {"name" : "curl" , "version" : "7.81.0-1ubuntu1.4" , "hash" : "sha256:def456..." , "type" : "dpkg" }
296+ ]
297+ },
298+ }
239299 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
240300
241301 # Call function
@@ -261,7 +321,7 @@ def test_resolve_docker_dependencies_as_dict_with_all_args(
261321 mock_orchestrator_instance = MagicMock ()
262322 mock_orchestrator .return_value = mock_orchestrator_instance
263323 mock_dependencies = {
264- "source" : {"type" : "container" , "name" : "my-container" , "image" : "ubuntu:20.04" , "hash" : "abc123" }
324+ "source" : {"type" : "container" , "name" : "my-container" , "image" : "ubuntu:20.04" , "hash" : "sha256: abc123... " }
265325 }
266326 mock_orchestrator_instance .resolve_dependencies .return_value = mock_dependencies
267327
0 commit comments