mirror of https://github.com/databricks/cli.git
Add extra tests for the sync block (#1548)
## Changes Issue #1545 describes how a nil entry in the sync block caused an error. The fix for this issue is in #1547. This change adds end-to-end test coverage. ## Tests New test passes on top of #1547.
This commit is contained in:
parent
da603c6ead
commit
a0df54ac41
|
@ -1,41 +0,0 @@
|
|||
package config_tests
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/databricks/cli/bundle"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestOverrideSyncTarget(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./override_sync", "development")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*"), filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./override_sync", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*"), filepath.FromSlash("fixtures/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./override_sync", "prod")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
}
|
||||
|
||||
func TestOverrideSyncTargetNoRootSync(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./override_sync_no_root", "development")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./override_sync_no_root", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("fixtures/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./override_sync_no_root", "prod")
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
bundle:
|
||||
name: sync_nil
|
||||
|
||||
workspace:
|
||||
host: https://acme.cloud.databricks.com/
|
||||
|
||||
sync:
|
||||
include: ~
|
||||
exclude: ~
|
||||
|
||||
targets:
|
||||
development:
|
||||
|
||||
staging:
|
||||
sync:
|
||||
include:
|
||||
- tests/*
|
||||
exclude:
|
||||
- dist
|
|
@ -0,0 +1,17 @@
|
|||
bundle:
|
||||
name: sync_nil_root
|
||||
|
||||
workspace:
|
||||
host: https://acme.cloud.databricks.com/
|
||||
|
||||
sync: ~
|
||||
|
||||
targets:
|
||||
development:
|
||||
|
||||
staging:
|
||||
sync:
|
||||
include:
|
||||
- tests/*
|
||||
exclude:
|
||||
- dist
|
|
@ -1,5 +1,5 @@
|
|||
bundle:
|
||||
name: override_sync
|
||||
name: sync_override
|
||||
|
||||
workspace:
|
||||
host: https://acme.cloud.databricks.com/
|
|
@ -1,5 +1,5 @@
|
|||
bundle:
|
||||
name: override_sync
|
||||
name: sync_override_no_root
|
||||
|
||||
workspace:
|
||||
host: https://acme.cloud.databricks.com/
|
|
@ -13,7 +13,7 @@ import (
|
|||
)
|
||||
|
||||
func TestSyncIncludeExcludeNoMatchesTest(t *testing.T) {
|
||||
b := loadTarget(t, "./override_sync", "development")
|
||||
b := loadTarget(t, "./sync/override", "development")
|
||||
|
||||
diags := bundle.ApplyReadOnly(context.Background(), bundle.ReadOnly(b), validate.ValidateSyncPatterns())
|
||||
require.Len(t, diags, 3)
|
||||
|
@ -21,7 +21,7 @@ func TestSyncIncludeExcludeNoMatchesTest(t *testing.T) {
|
|||
|
||||
require.Equal(t, diags[0].Severity, diag.Warning)
|
||||
require.Equal(t, diags[0].Summary, "Pattern dist does not match any files")
|
||||
require.Equal(t, diags[0].Location.File, filepath.Join("override_sync", "databricks.yml"))
|
||||
require.Equal(t, diags[0].Location.File, filepath.Join("sync", "override", "databricks.yml"))
|
||||
require.Equal(t, diags[0].Location.Line, 17)
|
||||
require.Equal(t, diags[0].Location.Column, 11)
|
||||
require.Equal(t, diags[0].Path.String(), "sync.exclude[0]")
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
package config_tests
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/databricks/cli/bundle"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestSyncOverride(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./sync/override", "development")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*"), filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/override", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*"), filepath.FromSlash("fixtures/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/override", "prod")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("src/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
}
|
||||
|
||||
func TestSyncOverrideNoRootSync(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./sync/override_no_root", "development")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/override_no_root", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("fixtures/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/override_no_root", "prod")
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{}, b.Config.Sync.Exclude)
|
||||
}
|
||||
|
||||
func TestSyncNil(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./sync/nil", "development")
|
||||
assert.Nil(t, b.Config.Sync.Include)
|
||||
assert.Nil(t, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/nil", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
}
|
||||
|
||||
func TestSyncNilRoot(t *testing.T) {
|
||||
var b *bundle.Bundle
|
||||
|
||||
b = loadTarget(t, "./sync/nil_root", "development")
|
||||
assert.Nil(t, b.Config.Sync.Include)
|
||||
assert.Nil(t, b.Config.Sync.Exclude)
|
||||
|
||||
b = loadTarget(t, "./sync/nil_root", "staging")
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("tests/*")}, b.Config.Sync.Include)
|
||||
assert.ElementsMatch(t, []string{filepath.FromSlash("dist")}, b.Config.Sync.Exclude)
|
||||
}
|
Loading…
Reference in New Issue