Skip to content

Commit a80b27b

Browse files
authored
Adding a Delete Global User functionality (#207)
1 parent 0fc4be7 commit a80b27b

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

rest-admin.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,24 @@ func (r *Client) CreateUser(ctx context.Context, user User) (StatusMessage, erro
2727
return resp, nil
2828
}
2929

30+
// DeleteUser deletes a global user
31+
// Requires basic authentication and that the authenticated user ia Grafana Admin
32+
// Reflects DELETE /api/admin/users/:userId API call.
33+
func (r *Client) DeleteUser(ctx context.Context, uid uint) (StatusMessage, error) {
34+
var (
35+
raw []byte
36+
resp StatusMessage
37+
err error
38+
)
39+
if raw, _, err = r.delete(ctx, fmt.Sprintf("api/admin/users/%d", uid)); err != nil {
40+
return StatusMessage{}, err
41+
}
42+
if err = json.Unmarshal(raw, &resp); err != nil {
43+
return StatusMessage{}, err
44+
}
45+
return resp, nil
46+
}
47+
3048
// UpdateUserPermissions updates the permissions of a global user.
3149
// Requires basic authentication and that the authenticated user is a Grafana Admin.
3250
// Reflects PUT /api/admin/users/:userId/password API call.

rest-admin_integration_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package sdk_test
22

33
import (
44
"context"
5+
"github.com/stretchr/testify/assert"
56
"testing"
67

78
"github.com/grafana-tools/sdk"
@@ -52,4 +53,12 @@ func TestAdminOperations(t *testing.T) {
5253
if retrievedUser.IsGrafanaAdmin != true {
5354
t.Fatal("user should be an admin but is not")
5455
}
56+
//Delete user
57+
msg, err := client.DeleteUser(ctx, retrievedUser.ID)
58+
assert.Nil(t, err)
59+
assert.Equal(t, "User deleted", *msg.Message)
60+
//attempt to retrieve deleted user
61+
retrievedUser, err = client.GetUser(ctx, retrievedUser.ID)
62+
assert.NotNil(t, err, "Deleted user should not be accessible")
63+
5564
}

0 commit comments

Comments
 (0)