@@ -104,6 +104,7 @@ func TestPullImage_InvalidImage(t *testing.T) {
104104}
105105
106106func TestBuildImage_Success (t * testing.T ) {
107+ t .Parallel ()
107108
108109 // data, err := os.ReadFile("test_samples/function.tar")
109110 tarstream , err := buildcontext .CreateTarStream ("../../samples/hello" , "node" )
@@ -118,6 +119,7 @@ func TestBuildImage_Success(t *testing.T) {
118119}
119120
120121func TestBuildImage_InvalidDirectory (t * testing.T ) {
122+ t .Parallel ()
121123
122124 tarstream , err := buildcontext .CreateTarStream ("../test_samples/invalid" , "node" )
123125 if err == nil {
@@ -131,41 +133,42 @@ func TestBuildImage_InvalidDirectory(t *testing.T) {
131133}
132134
133135func TestBuildImage_duplicateImageName (t * testing.T ) {
134- testImageName := "test-duplicate-rebuild"
136+ t .Parallel ()
137+
138+ imageName := "test-rebuild-image:latest"
139+
140+ defer func () {
141+ err := testDocker .RemoveImage (testCtx , imageName )
142+ if err != nil {
143+ t .Logf ("failed to remove image: %v" , err )
144+ }
145+ }()
135146
136- // Create first build
137147 tarstream1 , err := buildcontext .CreateTarStream ("../../samples/hello" , "node" )
138148 if err != nil {
139149 t .Skipf ("unexpected error - failed to create Tar stream: %v" , err )
140150 }
141151
142- err = testDocker .BuildImage (testCtx , testImageName , tarstream1 , io .Discard )
152+ // First build
153+ err = testDocker .BuildImage (testCtx , imageName , tarstream1 , io .Discard )
143154 if err != nil {
144- t .Fatalf ("unexpected error on first build: %v" , err )
155+ t .Fatalf ("expected first build to succeed, got error : %v" , err )
145156 }
146- t .Log ("First build succeeded" )
147-
148- defer func () {
149- err := testDocker .RemoveImage (testCtx , testImageName + ":latest" )
150- if err != nil {
151- t .Logf ("failed to remove image: %v" , err )
152- }
153- }()
157+ t .Log ("first build succeeded" )
154158
155- // Create second build with same image name (rebuild/redeployment scenario)
159+ // Second build with same image name - simulates redeployment
160+ // BuildImage with ForceRemove: true should handle this gracefully
156161 tarstream2 , err := buildcontext .CreateTarStream ("../../samples/hello" , "node" )
157162 if err != nil {
158163 t .Skipf ("unexpected error - failed to create Tar stream: %v" , err )
159164 }
160165
161- // BuildImage now allows rebuilding existing images with ForceRemove: true
162- // This test verifies that rebuilding an existing image succeeds (for redeployment)
163- err = testDocker .BuildImage (testCtx , testImageName , tarstream2 , io .Discard )
166+ err = testDocker .BuildImage (testCtx , imageName , tarstream2 , io .Discard )
164167 if err != nil {
165- t .Fatalf ("expected build to succeed for duplicate image name (rebuild) , got error: %v" , err )
168+ t .Fatalf ("expected rebuild with same image name to succeed , got error: %v" , err )
166169 }
167170
168- t .Log ("successfully rebuilt existing image" )
171+ t .Log ("successfully rebuilt image with same name " )
169172}
170173
171174func TestTagImage_Success (t * testing.T ) {
0 commit comments