databricks-cli/bundle/run/output/task_test.go

91 lines
1.8 KiB
Go

package output
import (
"fmt"
"testing"
"github.com/databricks/databricks-sdk-go/service/jobs"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestNotebookOutputToString(t *testing.T) {
taskFoo := NotebookOutput{
Result: "foo",
Truncated: true,
}
taskBar := NotebookOutput{
Result: "bar",
Truncated: false,
}
actualFoo, err := taskFoo.String()
require.NoError(t, err)
assert.Equal(t, "foo\n[truncated...]\n", actualFoo)
actualBar, err := taskBar.String()
require.NoError(t, err)
assert.Equal(t, "bar", actualBar)
}
func TestLogsOutputToString(t *testing.T) {
taskFoo := LogsOutput{
Logs: "foo",
LogsTruncated: true,
}
taskBar := LogsOutput{
Logs: "bar",
LogsTruncated: false,
}
actualFoo, err := taskFoo.String()
require.NoError(t, err)
assert.Equal(t, "foo\n[truncated...]\n", actualFoo)
actualBar, err := taskBar.String()
require.NoError(t, err)
assert.Equal(t, "bar", actualBar)
}
func TestDbtOutputToString(t *testing.T) {
task := DbtOutput{
ArtifactsHeaders: map[string]string{"a": "b", "c": "d"},
ArtifactsLink: "my_link",
}
actual, err := task.String()
expected := `Dbt Task Output:
{
"artifacts_headers": {
"a": "b",
"c": "d"
},
"artifacts_link": "my_link"
}`
require.NoError(t, err)
assert.Equal(t, expected, actual)
}
func TestSqlOutputToString(t *testing.T) {
task := SqlOutput{
QueryOutput: &jobs.SqlQueryOutput{
OutputLink: "a",
QueryText: "b",
WarehouseId: "d",
},
}
actual, err := task.String()
expected := `SQL Task Output:
{
"query_output": {
"output_link": "a",
"query_text": "b",
"warehouse_id": "d"
}
}`
require.NoError(t, err)
fmt.Println("[DEBUG] actual: ", actual)
assert.Equal(t, expected, actual)
}