mirror of https://github.com/databricks/cli.git
Added unit tests
This commit is contained in:
parent
24e857e380
commit
d7d6f4eeac
|
@ -52,7 +52,7 @@ func (m *processRootIncludes) Apply(ctx context.Context, b *bundle.Bundle) error
|
||||||
|
|
||||||
// If the entry is not a glob pattern and no matches found,
|
// If the entry is not a glob pattern and no matches found,
|
||||||
// return an error because the file defined is not found
|
// return an error because the file defined is not found
|
||||||
if len(matches) == 0 && !strings.Contains(entry, "*") {
|
if len(matches) == 0 && !strings.ContainsAny(entry, "*?[") {
|
||||||
return fmt.Errorf("%s defined in 'include' section does not match any files", entry)
|
return fmt.Errorf("%s defined in 'include' section does not match any files", entry)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
bundle:
|
||||||
|
name: include_invalid
|
||||||
|
|
||||||
|
include:
|
||||||
|
- notexists.yml
|
|
@ -0,0 +1,35 @@
|
||||||
|
package config_tests
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"path/filepath"
|
||||||
|
"sort"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/databricks/cli/bundle"
|
||||||
|
"github.com/databricks/cli/bundle/config/mutator"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
"golang.org/x/exp/maps"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIncludeInvalid(t *testing.T) {
|
||||||
|
b, err := bundle.Load("./include_invalid")
|
||||||
|
require.NoError(t, err)
|
||||||
|
err = bundle.Apply(context.Background(), b, bundle.Seq(mutator.DefaultMutators()...))
|
||||||
|
require.Error(t, err)
|
||||||
|
assert.Contains(t, err.Error(), "notexists.yml defined in 'include' section does not match any files")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIncludeWithGlob(t *testing.T) {
|
||||||
|
b := load(t, "./include_with_glob")
|
||||||
|
|
||||||
|
// Test that both jobs were loaded.
|
||||||
|
keys := maps.Keys(b.Config.Resources.Jobs)
|
||||||
|
sort.Strings(keys)
|
||||||
|
assert.Equal(t, []string{"my_job"}, keys)
|
||||||
|
|
||||||
|
job := b.Config.Resources.Jobs["my_job"]
|
||||||
|
assert.Equal(t, "1", job.ID)
|
||||||
|
assert.Equal(t, "include_with_glob/job.yml", filepath.ToSlash(job.ConfigFilePath))
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
bundle:
|
||||||
|
name: include_with_glob
|
||||||
|
|
||||||
|
include:
|
||||||
|
- "*.yml"
|
||||||
|
- "?.yml"
|
||||||
|
- "[a-z].yml"
|
|
@ -0,0 +1,4 @@
|
||||||
|
resources:
|
||||||
|
jobs:
|
||||||
|
my_job:
|
||||||
|
id: 1
|
Loading…
Reference in New Issue