mirror of https://github.com/databricks/cli.git
50 lines
1.2 KiB
Go
50 lines
1.2 KiB
Go
|
package apps
|
||
|
|
||
|
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/apps"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestAppInterpolateVariables(t *testing.T) {
|
||
|
b := &bundle.Bundle{
|
||
|
Config: config.Root{
|
||
|
Resources: config.Resources{
|
||
|
Apps: map[string]*resources.App{
|
||
|
"my_app_1": {
|
||
|
App: &apps.App{
|
||
|
Name: "my_app_1",
|
||
|
},
|
||
|
Config: map[string]any{
|
||
|
"command": []string{"echo", "hello"},
|
||
|
"env": []map[string]string{
|
||
|
{"name": "JOB_ID", "value": "${resources.jobs.my_job.id}"},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
"my_app_2": {
|
||
|
App: &apps.App{
|
||
|
Name: "my_app_2",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
Jobs: map[string]*resources.Job{
|
||
|
"my_job": {
|
||
|
ID: "123",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
diags := bundle.Apply(context.Background(), b, InterpolateVariables())
|
||
|
require.Empty(t, diags)
|
||
|
require.Equal(t, []any([]any{map[string]any{"name": "JOB_ID", "value": "123"}}), b.Config.Resources.Apps["my_app_1"].Config["env"])
|
||
|
require.Nil(t, b.Config.Resources.Apps["my_app_2"].Config)
|
||
|
}
|