testutil: new package to test run osbuild run functionality
This commit adds a new testutil.MockCommand() helper that will mock a command in $PATH to allow easier testing of e.g. the `image-builder-cli build` comamnd that will invoke osbuild.
This commit is contained in:
parent
ea7b58bd5c
commit
ce8dd45821
2 changed files with 87 additions and 0 deletions
25
internal/testutil/testutil_test.go
Normal file
25
internal/testutil/testutil_test.go
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
package testutil_test
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/osbuild/image-builder-cli/internal/testutil"
|
||||
)
|
||||
|
||||
func TestMockCommand(t *testing.T) {
|
||||
fakeCmd := testutil.MockCommand(t, "false", "exit 0")
|
||||
defer fakeCmd.Restore()
|
||||
|
||||
err := exec.Command("false", "run1-arg1", "run1-arg2").Run()
|
||||
assert.NoError(t, err)
|
||||
err = exec.Command("false", "run2-arg1", "run2-arg2").Run()
|
||||
assert.NoError(t, err)
|
||||
|
||||
assert.Equal(t, [][]string{
|
||||
{"run1-arg1", "run1-arg2"},
|
||||
{"run2-arg1", "run2-arg2"},
|
||||
}, fakeCmd.Calls())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue