2022-11-18 09:57:31 +00:00
|
|
|
package bundle
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
2022-11-30 13:40:41 +00:00
|
|
|
"path/filepath"
|
|
|
|
"strings"
|
2022-11-18 09:57:31 +00:00
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestLoadNotExists(t *testing.T) {
|
|
|
|
b, err := Load("/doesntexist")
|
|
|
|
assert.True(t, os.IsNotExist(err))
|
|
|
|
assert.Nil(t, b)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestLoadExists(t *testing.T) {
|
2022-11-28 09:59:43 +00:00
|
|
|
b, err := Load("./tests/basic")
|
2022-11-18 09:57:31 +00:00
|
|
|
require.Nil(t, err)
|
|
|
|
assert.Equal(t, "basic", b.Config.Bundle.Name)
|
|
|
|
}
|
2022-11-30 13:40:41 +00:00
|
|
|
|
|
|
|
func TestBundleCacheDir(t *testing.T) {
|
|
|
|
projectDir := t.TempDir()
|
|
|
|
f1, err := os.Create(filepath.Join(projectDir, "bundle.yml"))
|
|
|
|
require.NoError(t, err)
|
|
|
|
f1.Close()
|
|
|
|
|
|
|
|
bundle, err := Load(projectDir)
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// Artificially set environment.
|
|
|
|
// This is otherwise done by [mutators.SelectEnvironment].
|
|
|
|
bundle.Config.Bundle.Environment = "default"
|
|
|
|
|
|
|
|
cacheDir, err := bundle.CacheDir()
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.True(t, strings.HasPrefix(cacheDir, projectDir))
|
|
|
|
}
|