Skip to content

Commit f135d1c

Browse files
committed
revert finch's docker min latest api version
1 parent d42a63e commit f135d1c

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

samcli/local/docker/container_client.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class ContainerClient(docker.DockerClient, ABC):
6262
# Initialize socket_path
6363
socket_path: Optional[str] = None
6464

65-
def __init__(self, base_url=None):
65+
def __init__(self, client_version, base_url=None):
6666
"""
6767
Initialize the container client with environment variable processing and overrides.
6868
@@ -94,7 +94,7 @@ def __init__(self, base_url=None):
9494
client_params["base_url"] = base_url
9595

9696
# Specify minimum version
97-
client_params["version"] = DOCKER_MIN_API_VERSION
97+
client_params["version"] = client_version
9898

9999
# Initialize DockerClient with processed parameters
100100
LOG.debug(f"Creating container client with parameters: {client_params}")
@@ -292,10 +292,10 @@ def __init__(self):
292292

293293
if socket_path:
294294
LOG.debug(f"Creating Docker container client with base_url={socket_path}.")
295-
super().__init__(base_url=socket_path)
295+
super().__init__(base_url=socket_path, client_version=DOCKER_MIN_API_VERSION)
296296
else:
297297
LOG.debug("Creating Docker container client from environment variable.")
298-
super().__init__()
298+
super().__init__(client_version=DOCKER_MIN_API_VERSION)
299299

300300
def get_runtime_type(self) -> str:
301301
"""
@@ -504,7 +504,9 @@ def __init__(self):
504504
return None
505505

506506
LOG.debug(f"Creating Finch container client with base_url={socket_path}")
507-
super().__init__(base_url=socket_path)
507+
super().__init__(
508+
base_url=socket_path, client_version=1.35
509+
) # TODO: Placeholder until Finch updates to Docker's min latest version
508510

509511
def get_socket_path(self) -> str:
510512
"""

tests/unit/local/docker/test_container_client.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ def setUp(self):
3232
"""Set up common test fixtures"""
3333
self.finch_socket = "unix:///tmp/finch.sock"
3434
self.docker_socket = "unix:///var/run/docker.sock"
35-
self.default_version = DOCKER_MIN_API_VERSION
35+
self.docker_version = DOCKER_MIN_API_VERSION
36+
self.finch_version = 1.35 # TODO: Update when Finch updates to latest Docker API version
3637

3738
def create_mock_container_client(self, client_class, methods_to_bind=None):
3839
"""Create a mock container client with bound methods for testing."""
@@ -164,7 +165,7 @@ def test_init_success_no_docker_host(self, mock_docker_init):
164165
# Verify DockerClient.__init__ was called with expected parameters
165166
mock_docker_init.assert_called_once()
166167
call_kwargs = mock_docker_init.call_args.kwargs
167-
self.assertEqual(call_kwargs["version"], self.default_version)
168+
self.assertEqual(call_kwargs["version"], self.docker_version)
168169

169170
@patch("docker.DockerClient.__init__", return_value=None)
170171
def test_init_success_with_docker_host(self, mock_docker_init):
@@ -177,7 +178,7 @@ def test_init_success_with_docker_host(self, mock_docker_init):
177178
# Verify DockerClient.__init__ was called with expected parameters
178179
mock_docker_init.assert_called_once()
179180
call_kwargs = mock_docker_init.call_args.kwargs
180-
self.assertEqual(call_kwargs["version"], self.default_version)
181+
self.assertEqual(call_kwargs["version"], self.docker_version)
181182
self.assertEqual(call_kwargs["base_url"], self.docker_socket)
182183

183184
def test_init_raises_exception_when_docker_host_points_to_finch(self):
@@ -209,7 +210,7 @@ def test_init_with_various_docker_host_values(self, docker_host, mock_log, mock_
209210
# Verify DockerClient.__init__ was called with expected parameters
210211
mock_docker_init.assert_called_once()
211212
call_kwargs = mock_docker_init.call_args.kwargs
212-
self.assertEqual(call_kwargs["version"], self.default_version)
213+
self.assertEqual(call_kwargs["version"], self.docker_version)
213214
self.assertEqual(call_kwargs["base_url"], docker_host)
214215

215216
# Verify log call
@@ -679,7 +680,7 @@ def test_init_with_socket_path_success(self, mock_log, mock_docker_init):
679680
# Verify DockerClient.__init__ was called with expected parameters
680681
mock_docker_init.assert_called_once()
681682
call_kwargs = mock_docker_init.call_args.kwargs
682-
self.assertEqual(call_kwargs["version"], self.default_version)
683+
self.assertEqual(call_kwargs["version"], self.finch_version)
683684
self.assertEqual(call_kwargs["base_url"], self.finch_socket)
684685

685686
# Verify log call
@@ -720,12 +721,12 @@ class TestContainerClientBaseInit(BaseContainerClientTestCase):
720721
def test_init_no_overrides(self, mock_log, mock_docker_init):
721722
"""Test ContainerClient init with no environment overrides"""
722723
with patch.dict("os.environ", {}, clear=True):
723-
client = ConcreteContainerClient()
724+
client = ConcreteContainerClient(client_version=self.docker_version)
724725

725726
# Verify DockerClient.__init__ was called with expected parameters
726727
mock_docker_init.assert_called_once()
727728
call_kwargs = mock_docker_init.call_args.kwargs
728-
self.assertEqual(call_kwargs["version"], self.default_version)
729+
self.assertEqual(call_kwargs["version"], self.docker_version)
729730
self.assertTrue(mock_log.debug.called)
730731

731732
@patch("docker.DockerClient.__init__", return_value=None)
@@ -735,12 +736,12 @@ def test_init_with_base_url_override(self, mock_log, mock_docker_init):
735736
override_url = "unix:///tmp/finch.sock"
736737

737738
with patch.dict("os.environ", {}, clear=True):
738-
client = ConcreteContainerClient(base_url=override_url)
739+
client = ConcreteContainerClient(client_version=self.docker_version, base_url=override_url)
739740

740741
# Verify DockerClient.__init__ was called with expected parameters
741742
mock_docker_init.assert_called_once()
742743
call_kwargs = mock_docker_init.call_args.kwargs
743-
self.assertEqual(call_kwargs["version"], self.default_version)
744+
self.assertEqual(call_kwargs["version"], self.docker_version)
744745
self.assertEqual(call_kwargs["base_url"], override_url)
745746
self.assertTrue(mock_log.debug.called)
746747

0 commit comments

Comments
 (0)