github.com/databricks/cli@v0.203.0/bundle/run/output/task_test.go (about)

     1  package output
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/databricks/databricks-sdk-go/service/jobs"
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestNotebookOutputToString(t *testing.T) {
    13  	taskFoo := NotebookOutput{
    14  		Result:    "foo",
    15  		Truncated: true,
    16  	}
    17  	taskBar := NotebookOutput{
    18  		Result:    "bar",
    19  		Truncated: false,
    20  	}
    21  
    22  	actualFoo, err := taskFoo.String()
    23  	require.NoError(t, err)
    24  	assert.Equal(t, "foo\n[truncated...]\n", actualFoo)
    25  
    26  	actualBar, err := taskBar.String()
    27  	require.NoError(t, err)
    28  	assert.Equal(t, "bar", actualBar)
    29  }
    30  
    31  func TestLogsOutputToString(t *testing.T) {
    32  	taskFoo := LogsOutput{
    33  		Logs:          "foo",
    34  		LogsTruncated: true,
    35  	}
    36  	taskBar := LogsOutput{
    37  		Logs:          "bar",
    38  		LogsTruncated: false,
    39  	}
    40  
    41  	actualFoo, err := taskFoo.String()
    42  	require.NoError(t, err)
    43  	assert.Equal(t, "foo\n[truncated...]\n", actualFoo)
    44  
    45  	actualBar, err := taskBar.String()
    46  	require.NoError(t, err)
    47  	assert.Equal(t, "bar", actualBar)
    48  }
    49  
    50  func TestDbtOutputToString(t *testing.T) {
    51  	task := DbtOutput{
    52  		ArtifactsHeaders: map[string]string{"a": "b", "c": "d"},
    53  		ArtifactsLink:    "my_link",
    54  	}
    55  
    56  	actual, err := task.String()
    57  	expected := `Dbt Task Output:
    58  {
    59    "artifacts_headers": {
    60      "a": "b",
    61      "c": "d"
    62    },
    63    "artifacts_link": "my_link"
    64  }`
    65  	require.NoError(t, err)
    66  	assert.Equal(t, expected, actual)
    67  }
    68  
    69  func TestSqlOutputToString(t *testing.T) {
    70  	task := SqlOutput{
    71  		QueryOutput: &jobs.SqlQueryOutput{
    72  			OutputLink:  "a",
    73  			QueryText:   "b",
    74  			WarehouseId: "d",
    75  		},
    76  	}
    77  
    78  	actual, err := task.String()
    79  	expected := `SQL Task Output:
    80  {
    81    "query_output": {
    82      "output_link": "a",
    83      "query_text": "b",
    84      "warehouse_id": "d"
    85    }
    86  }`
    87  	require.NoError(t, err)
    88  	fmt.Println("[DEBUG] actual: ", actual)
    89  	assert.Equal(t, expected, actual)
    90  }