mirror of
https://github.com/grafana/grafana.git
synced 2025-08-03 05:08:36 +08:00
Alerting: Export and provisioning rules into subfolders (#77450)
* Folders: Optionally include fullpath in service responses * Alerting: Export folder fullpath instead of title * Escape separator in folder title * Add support for provisiong alret rules into subfolders * Use FolderService for creating folders during provisioning * Export WithFullpath() folder service function --------- Co-authored-by: Tania B <yalyna.ts@gmail.com> Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
This commit is contained in:

committed by
GitHub

parent
e1aedb65b3
commit
17ca61d7f8
@ -2216,3 +2216,54 @@ func createRule(t *testing.T, store *ngstore.DBstore, folderUID, title string) *
|
||||
|
||||
return &rule
|
||||
}
|
||||
|
||||
func TestSplitFullpath(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
input string
|
||||
expected []string
|
||||
}{
|
||||
{
|
||||
name: "empty string",
|
||||
input: "",
|
||||
expected: []string{},
|
||||
},
|
||||
{
|
||||
name: "root folder",
|
||||
input: "/",
|
||||
expected: []string{},
|
||||
},
|
||||
{
|
||||
name: "single folder",
|
||||
input: "folder",
|
||||
expected: []string{"folder"},
|
||||
},
|
||||
{
|
||||
name: "single folder with leading slash",
|
||||
input: "/folder",
|
||||
expected: []string{"folder"},
|
||||
},
|
||||
{
|
||||
name: "nested folder",
|
||||
input: "folder/subfolder/subsubfolder",
|
||||
expected: []string{"folder", "subfolder", "subsubfolder"},
|
||||
},
|
||||
{
|
||||
name: "escaped slashes",
|
||||
input: "folder\\/with\\/slashes",
|
||||
expected: []string{"folder/with/slashes"},
|
||||
},
|
||||
{
|
||||
name: "nested folder with escaped slashes",
|
||||
input: "folder\\/with\\/slashes/subfolder\\/with\\/slashes",
|
||||
expected: []string{"folder/with/slashes", "subfolder/with/slashes"},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
actual := SplitFullpath(tt.input)
|
||||
assert.Equal(t, tt.expected, actual)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user