...

Source file src/edge-infra.dev/pkg/sds/lib/ci/dsds-sandboxes/iampolicyclient_test.go

Documentation: edge-infra.dev/pkg/sds/lib/ci/dsds-sandboxes

     1  package dsdssandboxes
     2  
     3  import (
     4  	"testing"
     5  
     6  	"google.golang.org/api/cloudresourcemanager/v1"
     7  	"gotest.tools/v3/assert"
     8  )
     9  
    10  var (
    11  	testOwnerEmail = "user:owner@example.com"
    12  
    13  	testNonOwnerBinding = cloudresourcemanager.Binding{
    14  		Members: []string{
    15  			"user:test@examplecom",
    16  		},
    17  		Role: "roles/notanowner",
    18  	}
    19  
    20  	testOwnerBinding = cloudresourcemanager.Binding{
    21  		Members: []string{
    22  			testOwnerEmail,
    23  		},
    24  		Role: ownerRole,
    25  	}
    26  
    27  	testPolicy = cloudresourcemanager.Policy{
    28  		Bindings: []*cloudresourcemanager.Binding{
    29  			&testNonOwnerBinding,
    30  			&testOwnerBinding,
    31  		},
    32  	}
    33  )
    34  
    35  func TestGetProjectPolicy(t *testing.T) {
    36  	client := IamPolicyClient{
    37  		getIamPolicy: func(project string, _ *cloudresourcemanager.GetIamPolicyRequest) (*cloudresourcemanager.Policy, error) {
    38  			assert.Equal(t, testProjectName, project)
    39  			return &testPolicy, nil
    40  		},
    41  	}
    42  
    43  	result, err := client.GetProjectOwners(testProjectName)
    44  
    45  	assert.NilError(t, err)
    46  	assert.Equal(t, len(result), 1)
    47  	assert.Equal(t, (result)[0], testOwnerEmail)
    48  }
    49  

View as plain text