112 lines
2.4 KiB
Go
112 lines
2.4 KiB
Go
package schemaversion_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/grafana/grafana/pkg/apis/dashboard/migration/schemaversion"
|
|
)
|
|
|
|
func TestV39(t *testing.T) {
|
|
tests := []migrationTestCase{
|
|
{
|
|
name: "no transformations",
|
|
input: map[string]interface{}{
|
|
"schemaVersion": 38,
|
|
"title": "Test Dashboard",
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"title": "Panel 1",
|
|
},
|
|
},
|
|
},
|
|
expected: map[string]interface{}{
|
|
"title": "Test Dashboard",
|
|
"schemaVersion": 39,
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"title": "Panel 1",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "timeSeriesTable transformation with refIdToStat",
|
|
input: map[string]interface{}{
|
|
"schemaVersion": 38,
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"transformations": []interface{}{
|
|
map[string]interface{}{
|
|
"id": "timeSeriesTable",
|
|
"options": map[string]interface{}{
|
|
"refIdToStat": map[string]interface{}{
|
|
"A": "mean",
|
|
"B": "max",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
expected: map[string]interface{}{
|
|
"schemaVersion": 39,
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"transformations": []interface{}{
|
|
map[string]interface{}{
|
|
"id": "timeSeriesTable",
|
|
"options": map[string]interface{}{
|
|
"A": map[string]interface{}{
|
|
"stat": "mean",
|
|
},
|
|
"B": map[string]interface{}{
|
|
"stat": "max",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "non-timeSeriesTable transformation is not modified",
|
|
input: map[string]interface{}{
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"transformations": []interface{}{
|
|
map[string]interface{}{
|
|
"id": "otherTransform",
|
|
"options": map[string]interface{}{
|
|
"refIdToStat": map[string]interface{}{
|
|
"A": "mean",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
expected: map[string]interface{}{
|
|
"schemaVersion": 39,
|
|
"panels": []interface{}{
|
|
map[string]interface{}{
|
|
"transformations": []interface{}{
|
|
map[string]interface{}{
|
|
"id": "otherTransform",
|
|
"options": map[string]interface{}{
|
|
"refIdToStat": map[string]interface{}{
|
|
"A": "mean",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
runMigrationTests(t, tests, schemaversion.V39)
|
|
}
|