github.com/criteo/command-launcher@v0.0.0-20230407142452-fb616f546e98/internal/pkg/folder-package_test.go (about)

     1  package pkg
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestFolder_Create_EmptyFolder(t *testing.T) {
    12  	p, err := CreateFolderPackage("assets/empty-folder")
    13  	assert.Nil(t, p)
    14  	assert.NotNil(t, err)
    15  }
    16  
    17  func TestFolder_Create_WrongManifest(t *testing.T) {
    18  	p, err := CreateFolderPackage("assets/wrong-manifest")
    19  	assert.Nil(t, p)
    20  	assert.NotNil(t, err)
    21  }
    22  
    23  func TestFolder_Create_Package(t *testing.T) {
    24  	p, err := CreateFolderPackage("assets/folder-package")
    25  	assert.NotNil(t, p)
    26  	assert.Nil(t, err)
    27  
    28  	assert.Equal(t, 1, len(p.Commands()))
    29  	assert.Equal(t, "fake_test", p.Name())
    30  }
    31  
    32  func TestFolder_InstallTo(t *testing.T) {
    33  	p, err := CreateFolderPackage("assets/folder-package")
    34  	assert.NotNil(t, p)
    35  	assert.Nil(t, err)
    36  
    37  	targetDir := t.TempDir()
    38  	mf, err := p.InstallTo(targetDir)
    39  	assert.NotNil(t, mf)
    40  	assert.Nil(t, err)
    41  
    42  	_, err = os.Stat(filepath.Join(targetDir, "fake_test", "manifest.mf"))
    43  	assert.Nil(t, err)
    44  }