package deploy_test import ( "database/sql" "testing" "github.com/stretchr/testify/assert" "sneak.berlin/go/upaas/internal/docker" "sneak.berlin/go/upaas/internal/models" "sneak.berlin/go/upaas/internal/service/deploy" ) const currentImage = "sha256:current" func TestUnusedImages_KeepsCurrentAndRollbackImage(t *testing.T) { t.Parallel() app := &models.App{ ImageID: sql.NullString{String: currentImage, Valid: true}, PreviousImageID: sql.NullString{String: "sha256:previous", Valid: true}, } images := []docker.ImageID{ "sha256:oldest", "sha256:previous", "sha256:older", currentImage, } assert.Equal(t, []docker.ImageID{"sha256:oldest", "sha256:older"}, deploy.UnusedImages(images, app), ) } func TestUnusedImages_FirstDeployHasNoRollbackImage(t *testing.T) { t.Parallel() app := &models.App{ ImageID: sql.NullString{String: currentImage, Valid: true}, } images := []docker.ImageID{currentImage, "sha256:failed"} assert.Equal(t, []docker.ImageID{"sha256:failed"}, deploy.UnusedImages(images, app), ) }