5d2ba10113
* Move dashboard k8s APIs to a separate app Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com> * Copy dashboard code in Dockerfile Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com> * Fix conversion generation Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com> * Update OpenAPI snapshot for dashboard/v0alpha1 Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com> --------- Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
112 lines
2.4 KiB
Go
112 lines
2.4 KiB
Go
package schemaversion_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/grafana/grafana/apps/dashboard/pkg/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)
|
|
}
|