@@ -32,6 +32,7 @@ def test_build_image(capsys, mock_docker_build):
3232 m_run .assert_called_once_with (
3333 ["docker" , "image" , "build" , "--no-cache" , f"-t={ tag } " , "-" ],
3434 input = b"xyz" ,
35+ check = True ,
3536 )
3637
3738 out , _ = capsys .readouterr ()
@@ -48,8 +49,31 @@ def test_build_image_no_tag(capsys, mock_docker_build):
4849 m_run .assert_called_once_with (
4950 ["docker" , "image" , "build" , "--no-cache" , "-" ],
5051 input = b"xyz" ,
52+ check = True ,
5153 )
5254
5355 out , _ = capsys .readouterr ()
5456 assert f"Successfully built { image } " in out
5557 assert "Image is not suitable for deploying/pushing" in out
58+
59+
60+ def test_build_image_error (capsys , mock_docker_build ):
61+ m_stream , m_run = mock_docker_build
62+ def mock_run (* popenargs , check = False , ** kwargs ):
63+ if check :
64+ raise docker .subprocess .CalledProcessError (1 , popenargs )
65+ return 1
66+ m_run .side_effect = mock_run
67+ image = "hello-world"
68+
69+ with pytest .raises (Exception ):
70+ docker .build_image (image , None )
71+ m_stream .assert_called_once ()
72+ m_run .assert_called_once_with (
73+ ["docker" , "image" , "build" , "--no-cache" , "-" ],
74+ input = b"xyz" ,
75+ check = True ,
76+ )
77+
78+ out , _ = capsys .readouterr ()
79+ assert f"Successfully built { image } " not in out
0 commit comments