mirror of https://github.com/databricks/cli.git
75 lines
2.0 KiB
Go
75 lines
2.0 KiB
Go
package mutator
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/databricks/cli/bundle"
|
|
"github.com/databricks/cli/bundle/config"
|
|
"github.com/databricks/cli/bundle/config/resources"
|
|
"github.com/databricks/databricks-sdk-go/service/catalog"
|
|
"github.com/databricks/databricks-sdk-go/service/pipelines"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCaptureSchemaDependencyForVolumeWithEmptySchemas(t *testing.T) {
|
|
b := &bundle.Bundle{
|
|
Config: config.Root{
|
|
Resources: config.Resources{
|
|
Schemas: map[string]*resources.Schema{
|
|
"nilschema": nil,
|
|
"emptyschema": {},
|
|
},
|
|
Volumes: map[string]*resources.Volume{
|
|
"volume1": {
|
|
CreateVolumeRequestContent: &catalog.CreateVolumeRequestContent{
|
|
CatalogName: "catalog1",
|
|
SchemaName: "foobar",
|
|
},
|
|
},
|
|
"nilVolume": nil,
|
|
"emptyVolume": {},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
d := bundle.Apply(context.Background(), b, CaptureSchemaDependency())
|
|
require.Nil(t, d)
|
|
|
|
assert.Equal(t, "foobar", b.Config.Resources.Volumes["volume1"].CreateVolumeRequestContent.SchemaName)
|
|
assert.Nil(t, b.Config.Resources.Volumes["nilVolume"])
|
|
assert.Nil(t, b.Config.Resources.Volumes["emptyVolume"].CreateVolumeRequestContent)
|
|
}
|
|
|
|
func TestCaptureSchemaDependencyForPipelinesWithEmptySchemas(t *testing.T) {
|
|
b := &bundle.Bundle{
|
|
Config: config.Root{
|
|
Resources: config.Resources{
|
|
Schemas: map[string]*resources.Schema{
|
|
"nilschema": nil,
|
|
"emptyschema": {},
|
|
},
|
|
Pipelines: map[string]*resources.Pipeline{
|
|
"pipeline1": {
|
|
PipelineSpec: &pipelines.PipelineSpec{
|
|
Catalog: "catalog1",
|
|
Schema: "foobar",
|
|
},
|
|
},
|
|
"nilPipeline": nil,
|
|
"emptyPipeline": {},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
d := bundle.Apply(context.Background(), b, CaptureSchemaDependency())
|
|
require.Nil(t, d)
|
|
|
|
assert.Equal(t, "foobar", b.Config.Resources.Pipelines["pipeline1"].Schema)
|
|
assert.Nil(t, b.Config.Resources.Pipelines["nilPipeline"])
|
|
assert.Nil(t, b.Config.Resources.Pipelines["emptyPipeline"].PipelineSpec)
|
|
}
|