github.com/databricks/cli@v0.203.0/bundle/config/mutator/expand_workspace_root_test.go (about)

     1  package mutator_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/databricks/cli/bundle"
     8  	"github.com/databricks/cli/bundle/config"
     9  	"github.com/databricks/cli/bundle/config/mutator"
    10  	"github.com/databricks/databricks-sdk-go/service/iam"
    11  	"github.com/stretchr/testify/assert"
    12  	"github.com/stretchr/testify/require"
    13  )
    14  
    15  func TestExpandWorkspaceRoot(t *testing.T) {
    16  	bundle := &bundle.Bundle{
    17  		Config: config.Root{
    18  			Workspace: config.Workspace{
    19  				CurrentUser: &config.User{
    20  					User: &iam.User{
    21  						UserName: "jane@doe.com",
    22  					},
    23  				},
    24  				RootPath: "~/foo",
    25  			},
    26  		},
    27  	}
    28  	err := mutator.ExpandWorkspaceRoot().Apply(context.Background(), bundle)
    29  	require.NoError(t, err)
    30  	assert.Equal(t, "/Users/jane@doe.com/foo", bundle.Config.Workspace.RootPath)
    31  }
    32  
    33  func TestExpandWorkspaceRootDoesNothing(t *testing.T) {
    34  	bundle := &bundle.Bundle{
    35  		Config: config.Root{
    36  			Workspace: config.Workspace{
    37  				CurrentUser: &config.User{
    38  					User: &iam.User{
    39  						UserName: "jane@doe.com",
    40  					},
    41  				},
    42  				RootPath: "/Users/charly@doe.com/foo",
    43  			},
    44  		},
    45  	}
    46  	err := mutator.ExpandWorkspaceRoot().Apply(context.Background(), bundle)
    47  	require.NoError(t, err)
    48  	assert.Equal(t, "/Users/charly@doe.com/foo", bundle.Config.Workspace.RootPath)
    49  }
    50  
    51  func TestExpandWorkspaceRootWithoutRoot(t *testing.T) {
    52  	bundle := &bundle.Bundle{
    53  		Config: config.Root{
    54  			Workspace: config.Workspace{
    55  				CurrentUser: &config.User{
    56  					User: &iam.User{
    57  						UserName: "jane@doe.com",
    58  					},
    59  				},
    60  			},
    61  		},
    62  	}
    63  	err := mutator.ExpandWorkspaceRoot().Apply(context.Background(), bundle)
    64  	require.Error(t, err)
    65  }
    66  
    67  func TestExpandWorkspaceRootWithoutCurrentUser(t *testing.T) {
    68  	bundle := &bundle.Bundle{
    69  		Config: config.Root{
    70  			Workspace: config.Workspace{
    71  				RootPath: "~/foo",
    72  			},
    73  		},
    74  	}
    75  	err := mutator.ExpandWorkspaceRoot().Apply(context.Background(), bundle)
    76  	require.Error(t, err)
    77  }