Skip to content

Commit

Permalink
Cover Another Test Case
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisoverzero committed Apr 11, 2024
1 parent e38215a commit a83de54
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
2 changes: 1 addition & 1 deletion tests/unit/lib/build_module/test_app_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1756,7 +1756,7 @@ def test_loads_image_archive(self, mock_open):
self.assertEqual(id, image)

@patch("builtins.open", new_callable=mock_open)
def test_must_represent_a_single_image(self, mock_open):
def test_archive_must_represent_a_single_image(self, mock_open):
self.docker_client_mock.images.load.return_value = [
Mock(id="sha256:1a2b3c4d5e6f"),
Mock(id="sha256:1f2e3d4c5b6a"),
Expand Down
23 changes: 23 additions & 0 deletions tests/unit/lib/package/test_ecr_uploader.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import docker

from unittest import TestCase
from unittest.mock import MagicMock, Mock, call, mock_open, patch

Expand Down Expand Up @@ -288,6 +290,27 @@ def test_upload_failure_if_archive_represents_multiple_images(self, mock_open, m
with self.assertRaises(DockerPushFailedError):
ecr_uploader.upload(image, resource_name=resource_name)

@patch.object(Path, "is_file", return_value=False)
def test_upload_failure_if_image_archive_does_not_exist(self, mock_is_file):
resource_name = "HelloWorldFunction"
image = "./path/to/archive.tar.gz"

# this error is raised because we ask the docker service for an image
# with an id or tag which resembles a file path (as `image` above)
self.docker_client.images.get.side_effect = docker.errors.ImageNotFound("no such image")

ecr_uploader = ECRUploader(
docker_client=self.docker_client,
ecr_client=self.ecr_client,
ecr_repo=self.ecr_repo,
ecr_repo_multi=self.ecr_repo_multi,
tag=self.tag,
)
ecr_uploader.login = MagicMock()

with self.assertRaises(DockerPushFailedError):
ecr_uploader.upload(image, resource_name=resource_name)

@patch("samcli.lib.package.ecr_uploader.click.echo")
def test_delete_artifact_successful(self, patched_click_echo):
ecr_uploader = ECRUploader(
Expand Down

0 comments on commit a83de54

Please sign in to comment.