github.com/emmahsax/go-git-helper@v0.0.8-0.20240519163017-907b9de0fa52/internal/executor/executor_test.go (about)

     1  package executor
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func Test_Exec(t *testing.T) {
     9  	executor := NewExecutor(false)
    10  
    11  	output, err := executor.Exec("actionAndOutput", "echo", "hello")
    12  	if err != nil {
    13  		t.Errorf("expected nil error, got '%s'", err)
    14  	}
    15  
    16  	expectedOutput := []byte("hello\n")
    17  	if !reflect.DeepEqual(output, expectedOutput) {
    18  		t.Errorf("expected '%s', got '%s'", expectedOutput, output)
    19  	}
    20  
    21  	_, err = executor.Exec("waitAndStdout", "echo", "hello")
    22  	if err != nil {
    23  		t.Errorf("expected nil error, got '%s'", err)
    24  	}
    25  
    26  	_, err = executor.Exec("invalid", "echo", "hello")
    27  	expectedError := "invalid exec type"
    28  	if err == nil || err.Error() != expectedError {
    29  		t.Errorf("expected '%s' error, got '%s'", expectedError, err)
    30  	}
    31  }