diff --git a/pkg/porter/porter.go b/pkg/porter/porter.go index 73179c1ef..d965bd591 100644 --- a/pkg/porter/porter.go +++ b/pkg/porter/porter.go @@ -139,7 +139,6 @@ func (p *Porter) GetBuilder() build.Builder { switch p.GetBuildDriver() { case config.BuildDriverBuildkit: p.builder = buildkit.NewBuilder(p.Context) - case config.BuildDriverDocker: default: p.builder = docker.NewBuilder(p.Context) } diff --git a/pkg/porter/porter_test.go b/pkg/porter/porter_test.go new file mode 100644 index 000000000..c89b6c9cc --- /dev/null +++ b/pkg/porter/porter_test.go @@ -0,0 +1,43 @@ +package porter + +import ( + "testing" + + "get.porter.sh/porter/pkg/build/buildkit" + "get.porter.sh/porter/pkg/build/docker" + "get.porter.sh/porter/pkg/config" + "get.porter.sh/porter/pkg/experimental" + "github.com/stretchr/testify/assert" +) + +func TestPorter_GetBuilder(t *testing.T) { + t.Run("docker", func(t *testing.T) { + p := Porter{Config: &config.Config{}} + p.SetExperimentalFlags(experimental.FlagBuildDrivers) + p.Data.BuildDriver = config.BuildDriverDocker + driver := p.GetBuilder() + assert.IsType(t, &docker.Builder{}, driver) + }) + t.Run("buildkit", func(t *testing.T) { + p := Porter{Config: &config.Config{}} + p.SetExperimentalFlags(experimental.FlagBuildDrivers) + p.Data.BuildDriver = config.BuildDriverBuildkit + driver := p.GetBuilder() + assert.IsType(t, &buildkit.Builder{}, driver) + }) + t.Run("unspecified", func(t *testing.T) { + // Always default to Docker + p := Porter{Config: &config.Config{}} + p.SetExperimentalFlags(experimental.FlagBuildDrivers) + p.Data.BuildDriver = "" + driver := p.GetBuilder() + assert.IsType(t, &docker.Builder{}, driver) + }) + t.Run("buildkit - experimental flag disabled", func(t *testing.T) { + // Default to docker when the experimental flag isn't set + p := Porter{Config: &config.Config{}} + p.Data.BuildDriver = "buildkit" + driver := p.GetBuilder() + assert.IsType(t, &docker.Builder{}, driver) + }) +}