mirror of https://github.com/databricks/cli.git
Quote path when passing to TF
This commit is contained in:
parent
3be89dfc59
commit
21dabe87fd
|
@ -52,7 +52,7 @@ func convertDashboardResource(ctx context.Context, vin dyn.Value) (dyn.Value, er
|
||||||
// Note: the Terraform resource supports "file_path" natively, but its
|
// Note: the Terraform resource supports "file_path" natively, but its
|
||||||
// change detection mechanism doesn't work as expected at the time of writing (Sep 30).
|
// change detection mechanism doesn't work as expected at the time of writing (Sep 30).
|
||||||
if path, ok := vout.Get(filePathFieldName).AsString(); ok {
|
if path, ok := vout.Get(filePathFieldName).AsString(); ok {
|
||||||
vout, err = dyn.Set(vout, serializedDashboardFieldName, dyn.V(fmt.Sprintf("${file(\"%s\")}", path)))
|
vout, err = dyn.Set(vout, serializedDashboardFieldName, dyn.V(fmt.Sprintf("${file(%q)}", path)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return dyn.InvalidValue, fmt.Errorf("failed to set serialized_dashboard: %w", err)
|
return dyn.InvalidValue, fmt.Errorf("failed to set serialized_dashboard: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,6 +83,30 @@ func TestConvertDashboardFilePath(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConvertDashboardFilePathQuoted(t *testing.T) {
|
||||||
|
var src = resources.Dashboard{
|
||||||
|
FilePath: `C:\foo\bar\baz\dashboard.lvdash.json`,
|
||||||
|
}
|
||||||
|
|
||||||
|
vin, err := convert.FromTyped(src, dyn.NilValue)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
ctx := context.Background()
|
||||||
|
out := schema.NewResources()
|
||||||
|
err = dashboardConverter{}.Convert(ctx, "my_dashboard", vin, out)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Assert that the "serialized_dashboard" is included.
|
||||||
|
assert.Subset(t, out.Dashboard["my_dashboard"], map[string]any{
|
||||||
|
"serialized_dashboard": `${file("C:\\foo\\bar\\baz\\dashboard.lvdash.json")}`,
|
||||||
|
})
|
||||||
|
|
||||||
|
// Assert that the "file_path" doesn't carry over.
|
||||||
|
assert.NotSubset(t, out.Dashboard["my_dashboard"], map[string]any{
|
||||||
|
"file_path": `C:\foo\bar\baz\dashboard.lvdash.json`,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func TestConvertDashboardSerializedDashboardString(t *testing.T) {
|
func TestConvertDashboardSerializedDashboardString(t *testing.T) {
|
||||||
var src = resources.Dashboard{
|
var src = resources.Dashboard{
|
||||||
SerializedDashboard: `{ "json": true }`,
|
SerializedDashboard: `{ "json": true }`,
|
||||||
|
|
Loading…
Reference in New Issue