Skip to content

Commit aff8649

Browse files
authored
Fixed databricks_service_principals data source issue with empty filter (#2185)
* fix `databricks_service_principals` data source issue with empty filter * fix acc tests
1 parent a729b96 commit aff8649

File tree

3 files changed

+55
-2
lines changed

3 files changed

+55
-2
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package acceptance
2+
3+
import (
4+
"testing"
5+
)
6+
7+
const spns = `
8+
resource "databricks_service_principal" "this" {
9+
display_name = "SPN {var.RANDOM}"
10+
}
11+
12+
data databricks_service_principals "this" {
13+
display_name_contains = ""
14+
depends_on = [databricks_service_principal.this]
15+
}`
16+
17+
const azureSpns = `
18+
resource "databricks_service_principal" "this" {
19+
application_id = "{var.RANDOM_UUID}"
20+
display_name = "SPN {var.RANDOM}"
21+
force = true
22+
}
23+
24+
data databricks_service_principals "this" {
25+
display_name_contains = ""
26+
depends_on = [databricks_service_principal.this]
27+
}`
28+
29+
func TestAccDataSourceSPNsOnAWS(t *testing.T) {
30+
GetEnvOrSkipTest(t, "TEST_EC2_INSTANCE_PROFILE")
31+
workspaceLevel(t, step{
32+
Template: spns,
33+
})
34+
}
35+
36+
func TestAccDataSourceSPNsOnGCP(t *testing.T) {
37+
GetEnvOrSkipTest(t, "GOOGLE_CREDENTIALS")
38+
workspaceLevel(t, step{
39+
Template: spns,
40+
})
41+
}
42+
43+
func TestAccDataSourceSPNsOnAzure(t *testing.T) {
44+
GetEnvOrSkipTest(t, "ARM_CLIENT_ID")
45+
workspaceLevel(t, step{
46+
Template: azureSpns,
47+
})
48+
}

scim/data_service_principals.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@ func DataSourceServicePrincipals() *schema.Resource {
1919
response := e.(*spnsData)
2020
spnAPI := NewServicePrincipalsAPI(ctx, c)
2121

22-
spList, err := spnAPI.Filter(fmt.Sprintf("displayName co '%s'", response.DisplayNameContains))
22+
var filter string
23+
24+
if response.DisplayNameContains != "" {
25+
filter = fmt.Sprintf("displayName co '%s'", response.DisplayNameContains)
26+
}
27+
spList, err := spnAPI.Filter(filter)
2328
if err != nil {
2429
return err
2530
}

scim/data_service_principals_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func TestDataServicePrincipalsReadNoFilter(t *testing.T) {
6464
Fixtures: []qa.HTTPFixture{
6565
{
6666
Method: "GET",
67-
Resource: "/api/2.0/preview/scim/v2/ServicePrincipals?filter=displayName%20co%20%27%27",
67+
Resource: "/api/2.0/preview/scim/v2/ServicePrincipals?",
6868
Response: UserList{
6969
Resources: []User{
7070
{

0 commit comments

Comments
 (0)