get.porter.sh/porter@v1.3.0/pkg/pkgmgmt/client/runner_test.go (about)

     1  package client
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestRunner_Validate(t *testing.T) {
    11  	r := NewTestRunner(t, "lucky-charms", "cereals", true)
    12  
    13  	err := r.Validate()
    14  	require.NoError(t, err)
    15  }
    16  
    17  func TestRunner_Validate_MissingName(t *testing.T) {
    18  	// Setup failure: empty package name
    19  	r := NewTestRunner(t, "", "candy", true)
    20  
    21  	err := r.Validate()
    22  	require.Error(t, err)
    23  	assert.Contains(t, err.Error(), "package name to execute not specified")
    24  }
    25  
    26  func TestRunner_Validate_MissingExecutable(t *testing.T) {
    27  	r := NewTestRunner(t, "mypackage", "packages", true)
    28  
    29  	// Setup failure: Don't copy the package binary into the test context
    30  	err := r.FileSystem.Remove(r.getExecutablePath())
    31  	require.NoError(t, err)
    32  
    33  	err = r.Validate()
    34  	require.Error(t, err)
    35  	assert.Contains(t, err.Error(), "package not found")
    36  }