Skip to content

Commit b991cc7

Browse files
committed
Add workaround to reference user in E2E tests
On-behalf-of: SAP nils.gondermann@sap.com
1 parent 2d076ac commit b991cc7

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

internal/osclients/applicationcredential.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,20 @@ func NewApplicationCredentialClient(providerClient *gophercloud.ProviderClient,
5555
}
5656

5757
func (c applicationcredentialClient) ListApplicationCredentials(ctx context.Context, userID string, listOpts applicationcredentials.ListOptsBuilder) iter.Seq2[*applicationcredentials.ApplicationCredential, error] {
58+
userID = GetUserIDOrTokenID(userID, c.client.ProviderClient)
5859
pager := applicationcredentials.List(c.client, userID, listOpts)
5960
return func(yield func(*applicationcredentials.ApplicationCredential, error) bool) {
6061
_ = pager.EachPage(ctx, yieldPage(applicationcredentials.ExtractApplicationCredentials, yield))
6162
}
6263
}
6364

6465
func (c applicationcredentialClient) CreateApplicationCredential(ctx context.Context, userID string, opts applicationcredentials.CreateOptsBuilder) (*applicationcredentials.ApplicationCredential, error) {
66+
userID = GetUserIDOrTokenID(userID, c.client.ProviderClient)
6567
return applicationcredentials.Create(ctx, c.client, userID, opts).Extract()
6668
}
6769

6870
func (c applicationcredentialClient) DeleteApplicationCredential(ctx context.Context, userID string, resourceID string) error {
71+
userID = GetUserIDOrTokenID(userID, c.client.ProviderClient)
6972
return applicationcredentials.Delete(ctx, c.client, userID, resourceID).ExtractErr()
7073
}
7174

@@ -113,6 +116,19 @@ func (c applicationcredentialClient) GetApplicationCredential(ctx context.Contex
113116
}
114117
}
115118

119+
func GetUserIDOrTokenID(userID string, providerClient *gophercloud.ProviderClient) string {
120+
// FIXME: This is mostly for E2E tests. As soon as ORC supports user resources,
121+
// this will be obsolete as the userID will become a UserRef to an existing user.
122+
if userID == "token" {
123+
tokenID, err := GetAuthenticatedUserID(providerClient)
124+
if err == nil {
125+
return tokenID
126+
}
127+
}
128+
129+
return userID
130+
}
131+
116132
func GetAuthenticatedUserID(providerClient *gophercloud.ProviderClient) (string, error) {
117133
r := providerClient.GetAuthResult()
118134
if r == nil {

0 commit comments

Comments
 (0)