Skip to content

Commit

Permalink
Adapt tests
Browse files Browse the repository at this point in the history
Signed-off-by: Kimmo Lehto <[email protected]>
  • Loading branch information
kke committed Jan 4, 2024
1 parent a08415b commit 034f1e2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
5 changes: 5 additions & 0 deletions configurer/linux/linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package linux

import (
"fmt"
"io"
"testing"

"github.com/k0sproject/rig/exec"
Expand Down Expand Up @@ -35,6 +36,10 @@ func (m mockHost) ExecOutputf(string, ...interface{}) (string, error) {
return "", nil
}

func (m mockHost) ExecStreams(cmd string, stdin io.ReadCloser, stdout io.Writer, stderr io.Writer, opts ...exec.Option) (exec.Waiter, error) {
return nil, nil
}

func (m mockHost) String() string {
return ""
}
Expand Down
21 changes: 12 additions & 9 deletions pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/host_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ package cluster

import (
"fmt"
"strings"
"testing"

cfg "github.com/k0sproject/k0sctl/configurer"
"github.com/k0sproject/k0sctl/configurer/linux"
"github.com/k0sproject/rig"
"github.com/k0sproject/rig/exec"
"github.com/k0sproject/rig/os"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -69,51 +71,52 @@ func TestUnQE(t *testing.T) {
}

func TestK0sInstallCommand(t *testing.T) {
h := Host{Role: "worker", DataDir: "/tmp/k0s"}
h := Host{Role: "worker", DataDir: "/tmp/k0s", Connection: rig.Connection{Localhost: &rig.Localhost{Enabled: true}}}
_ = h.Connect()
h.Configurer = &mockconfigurer{}
h.Configurer.SetPath("K0sConfigPath", "from-configurer")
h.Configurer.SetPath("K0sJoinTokenPath", "from-configurer")

cmd, err := h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install worker --data-dir=/tmp/k0s --token-file "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install worker --data-dir=/tmp/k0s --token-file "from-configurer"`))

h.Role = "controller"
h.Metadata.IsK0sLeader = true
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install controller --data-dir=/tmp/k0s --config "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install controller --data-dir=/tmp/k0s --config "from-configurer"`))

h.Metadata.IsK0sLeader = false
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install controller --data-dir=/tmp/k0s --token-file "from-configurer" --config "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install controller --data-dir=/tmp/k0s --token-file "from-configurer" --config "from-configurer"`))

h.Role = "controller+worker"
h.Metadata.IsK0sLeader = true
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install controller --data-dir=/tmp/k0s --enable-worker --config "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install controller --data-dir=/tmp/k0s --enable-worker --config "from-configurer"`))
h.Metadata.IsK0sLeader = false
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install controller --data-dir=/tmp/k0s --enable-worker --token-file "from-configurer" --config "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install controller --data-dir=/tmp/k0s --enable-worker --token-file "from-configurer" --config "from-configurer"`))

h.Role = "worker"
h.PrivateAddress = "10.0.0.9"
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install worker --data-dir=/tmp/k0s --token-file "from-configurer" --kubelet-extra-args="--node-ip=10.0.0.9"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install worker --data-dir=/tmp/k0s --token-file "from-configurer" --kubelet-extra-args="--node-ip=10.0.0.9"`))

h.InstallFlags = []string{`--kubelet-extra-args="--foo bar"`}
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install worker --kubelet-extra-args="--foo bar --node-ip=10.0.0.9" --data-dir=/tmp/k0s --token-file "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install worker --kubelet-extra-args="--foo bar --node-ip=10.0.0.9" --data-dir=/tmp/k0s --token-file "from-configurer"`))

h.InstallFlags = []string{`--enable-cloud-provider`}
cmd, err = h.K0sInstallCommand()
require.NoError(t, err)
require.Equal(t, `k0s install worker --enable-cloud-provider --data-dir=/tmp/k0s --token-file "from-configurer"`, cmd)
require.True(t, strings.HasSuffix(cmd, `k0s install worker --enable-cloud-provider --data-dir=/tmp/k0s --token-file "from-configurer"`))
}

func TestValidation(t *testing.T) {
Expand Down

0 comments on commit 034f1e2

Please sign in to comment.