|
|
@@ -1,42 +1,50 @@
|
|
|
from unittest.mock import MagicMock, patch
|
|
|
+
|
|
|
from opendevin.runtime.docker.image_agnostic_util import (
|
|
|
- generate_dockerfile_content,
|
|
|
_get_new_image_name,
|
|
|
+ generate_dockerfile_content,
|
|
|
get_od_sandbox_image,
|
|
|
)
|
|
|
|
|
|
|
|
|
def test_generate_dockerfile_content():
|
|
|
- base_image = "debian:11"
|
|
|
+ base_image = 'debian:11'
|
|
|
dockerfile_content = generate_dockerfile_content(base_image)
|
|
|
assert base_image in dockerfile_content
|
|
|
- assert "RUN apt update && apt install -y openssh-server wget sudo" in dockerfile_content
|
|
|
+ assert (
|
|
|
+ 'RUN apt update && apt install -y openssh-server wget sudo'
|
|
|
+ in dockerfile_content
|
|
|
+ )
|
|
|
|
|
|
|
|
|
def test_get_new_image_name():
|
|
|
- base_image = "debian:11"
|
|
|
+ base_image = 'debian:11'
|
|
|
new_image_name = _get_new_image_name(base_image)
|
|
|
- assert new_image_name == "od_sandbox:debian__11"
|
|
|
+ assert new_image_name == 'od_sandbox:debian__11'
|
|
|
|
|
|
- base_image = "ubuntu:22.04"
|
|
|
+ base_image = 'ubuntu:22.04'
|
|
|
new_image_name = _get_new_image_name(base_image)
|
|
|
- assert new_image_name == "od_sandbox:ubuntu__22.04"
|
|
|
+ assert new_image_name == 'od_sandbox:ubuntu__22.04'
|
|
|
|
|
|
- base_image = "ubuntu"
|
|
|
+ base_image = 'ubuntu'
|
|
|
new_image_name = _get_new_image_name(base_image)
|
|
|
- assert new_image_name == "od_sandbox:ubuntu__latest"
|
|
|
+ assert new_image_name == 'od_sandbox:ubuntu__latest'
|
|
|
|
|
|
|
|
|
-@patch("opendevin.runtime.docker.image_agnostic_util._build_sandbox_image")
|
|
|
-@patch("opendevin.runtime.docker.image_agnostic_util.docker.DockerClient")
|
|
|
+@patch('opendevin.runtime.docker.image_agnostic_util._build_sandbox_image')
|
|
|
+@patch('opendevin.runtime.docker.image_agnostic_util.docker.DockerClient')
|
|
|
def test_get_od_sandbox_image(mock_docker_client, mock_build_sandbox_image):
|
|
|
- base_image = "debian:11"
|
|
|
- mock_docker_client.images.list.return_value = [MagicMock(tags=["od_sandbox:debian__11"])]
|
|
|
+ base_image = 'debian:11'
|
|
|
+ mock_docker_client.images.list.return_value = [
|
|
|
+ MagicMock(tags=['od_sandbox:debian__11'])
|
|
|
+ ]
|
|
|
|
|
|
image_name = get_od_sandbox_image(base_image, mock_docker_client)
|
|
|
- assert image_name == "od_sandbox:debian__11"
|
|
|
+ assert image_name == 'od_sandbox:debian__11'
|
|
|
|
|
|
mock_docker_client.images.list.return_value = []
|
|
|
image_name = get_od_sandbox_image(base_image, mock_docker_client)
|
|
|
- assert image_name == "od_sandbox:debian__11"
|
|
|
- mock_build_sandbox_image.assert_called_once_with(base_image, "od_sandbox:debian__11", mock_docker_client)
|
|
|
+ assert image_name == 'od_sandbox:debian__11'
|
|
|
+ mock_build_sandbox_image.assert_called_once_with(
|
|
|
+ base_image, 'od_sandbox:debian__11', mock_docker_client
|
|
|
+ )
|