Skip to content
This repository was archived by the owner on Jan 15, 2024. It is now read-only.

Commit c54cf40

Browse files
Merge pull request #41 from Etherdaemon/folder_by_uid
Add function to retrieve folders by UID
2 parents 7fcf1d4 + e083a12 commit c54cf40

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

folder.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ func (c *Client) Folder(id int64) (*Folder, error) {
3535
return folder, err
3636
}
3737

38+
// Folder fetches and returns the Grafana folder whose UID it's passed.
39+
func (c *Client) FolderByUID(uid string) (*Folder, error) {
40+
folder := &Folder{}
41+
err := c.request("GET", fmt.Sprintf("/api/folders/%s", uid), nil, nil, folder)
42+
if err != nil {
43+
return folder, err
44+
}
45+
46+
return folder, err
47+
}
48+
3849
// NewFolder creates a new Grafana folder.
3950
func (c *Client) NewFolder(title string) (Folder, error) {
4051
folder := Folder{}

folder_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,23 @@ func TestFolder(t *testing.T) {
120120
}
121121
}
122122

123+
func TestFolderByUid(t *testing.T) {
124+
server, client := gapiTestTools(t, 200, getFolderJSON)
125+
defer server.Close()
126+
127+
folder := "nErXDvCkzz"
128+
resp, err := client.FolderByUID(folder)
129+
if err != nil {
130+
t.Fatal(err)
131+
}
132+
133+
t.Log(pretty.PrettyFormat(resp))
134+
135+
if resp.UID != folder || resp.Title != "Departmenet ABC" {
136+
t.Error("Not correctly parsing returned folder.")
137+
}
138+
}
139+
123140
func TestNewFolder(t *testing.T) {
124141
server, client := gapiTestTools(t, 200, createdFolderJSON)
125142
defer server.Close()

0 commit comments

Comments
 (0)