Skip to content

Commit ddbed24

Browse files
committed
Add tests for this transformation
1 parent eb102c2 commit ddbed24

5 files changed

Lines changed: 245 additions & 0 deletions
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"attributes": {
3+
"description": "Overview Elastic Package Registry service",
4+
"kibanaSavedObjectMeta": {
5+
"searchSourceJSON": {
6+
"filter": [],
7+
"query": {
8+
"language": "kuery",
9+
"query": ""
10+
}
11+
}
12+
},
13+
"optionsJSON": {
14+
"hidePanelTitles": false,
15+
"syncColors": false,
16+
"syncCursor": true,
17+
"syncTooltips": false,
18+
"useMargins": true
19+
},
20+
"refreshInterval": {
21+
"pause": false,
22+
"value": 60000
23+
},
24+
"timeFrom": "now-15m",
25+
"timeRestore": true,
26+
"timeTo": "now",
27+
"title": "[EPR Metrics] Overview",
28+
"version": 1
29+
},
30+
"coreMigrationVersion": "8.7.0",
31+
"created_at": "2023-04-04T10:31:18.629Z",
32+
"id": "elastic_package_registry-313c2700-099b-11ed-91b6-3b1f9c2b2771",
33+
"migrationVersion": {
34+
"dashboard": "8.7.0"
35+
},
36+
"references": [
37+
{
38+
"id": "metrics-*",
39+
"name": "2b137c7a-b65d-40c1-8ded-f1f0b3a467f1:indexpattern-datasource-current-indexpattern",
40+
"type": "index-pattern"
41+
},
42+
{
43+
"id": "metrics-*",
44+
"name": "2b137c7a-b65d-40c1-8ded-f1f0b3a467f1:indexpattern-datasource-layer-f29a1076-32b0-4d8b-8205-f1cbe358a72a",
45+
"type": "index-pattern"
46+
},
47+
{
48+
"id": "elastic_package_registry-54252400-d309-11ed-97de-b7062e02194f",
49+
"name": "tag-ref-54252400-d309-11ed-97de-b7062e02194f",
50+
"type": "tag"
51+
}
52+
],
53+
"type": "dashboard"
54+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{
2+
"attributes": {
3+
"description": "Overview Elastic Package Registry service",
4+
"kibanaSavedObjectMeta": {
5+
"searchSourceJSON": {
6+
"filter": [],
7+
"query": {
8+
"language": "kuery",
9+
"query": ""
10+
}
11+
}
12+
},
13+
"optionsJSON": {
14+
"hidePanelTitles": false,
15+
"syncColors": false,
16+
"syncCursor": true,
17+
"syncTooltips": false,
18+
"useMargins": true
19+
},
20+
"refreshInterval": {
21+
"pause": false,
22+
"value": 60000
23+
},
24+
"timeFrom": "now-15m",
25+
"timeRestore": true,
26+
"timeTo": "now",
27+
"title": "[EPR Metrics] Overview",
28+
"version": 1
29+
},
30+
"coreMigrationVersion": "8.7.0",
31+
"created_at": "2023-04-04T10:31:18.629Z",
32+
"id": "elastic_package_registry-313c2700-099b-11ed-91b6-3b1f9c2b2771",
33+
"migrationVersion": {
34+
"dashboard": "8.7.0"
35+
},
36+
"references": [
37+
{
38+
"id": "metrics-*",
39+
"name": "2b137c7a-b65d-40c1-8ded-f1f0b3a467f1:indexpattern-datasource-current-indexpattern",
40+
"type": "index-pattern"
41+
},
42+
{
43+
"id": "metrics-*",
44+
"name": "2b137c7a-b65d-40c1-8ded-f1f0b3a467f1:indexpattern-datasource-layer-f29a1076-32b0-4d8b-8205-f1cbe358a72a",
45+
"type": "index-pattern"
46+
},
47+
{
48+
"id": "elastic_package_registry-fleet-managed-default",
49+
"name": "tag-ref-elastic_package_registry-fleet-managed-default",
50+
"type": "tag"
51+
},
52+
{
53+
"id": "elastic_package_registry-fleet-pkg-elastic_package_registry-default",
54+
"name": "tag-ref-elastic_package_registry-fleet-pkg-elastic_package_registry-default",
55+
"type": "tag"
56+
},
57+
{
58+
"id": "elastic_package_registry-fleet-managed-default",
59+
"name": "tag-ref-fleet-managed-default",
60+
"type": "tag"
61+
},
62+
{
63+
"id": "elastic_package_registry-fleet-pkg-elastic_package_registry-default",
64+
"name": "tag-ref-fleet-pkg-elastic_package_registry-default",
65+
"type": "tag"
66+
},
67+
{
68+
"id": "elastic_package_registry-54252400-d309-11ed-97de-b7062e02194f",
69+
"name": "tag-ref-54252400-d309-11ed-97de-b7062e02194f",
70+
"type": "tag"
71+
}
72+
],
73+
"type": "dashboard"
74+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"attributes": {
3+
"color": "#207038",
4+
"description": "",
5+
"name": "foo"
6+
},
7+
"coreMigrationVersion": "8.7.0",
8+
"created_at": "2023-04-04T16:54:13.824Z",
9+
"id": "elastic_package_registry-54252400-d309-11ed-97de-b7062e02194f",
10+
"migrationVersion": {
11+
"tag": "8.0.0"
12+
},
13+
"references": [],
14+
"type": "tag"
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"attributes": {
3+
"color": "#FFFFFF",
4+
"description": "",
5+
"name": "Managed"
6+
},
7+
"coreMigrationVersion": "8.7.0",
8+
"created_at": "2023-04-04T16:50:46.882Z",
9+
"id": "elastic_package_registry-fleet-managed-default",
10+
"migrationVersion": {
11+
"tag": "8.0.0"
12+
},
13+
"references": [],
14+
"type": "tag"
15+
}
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
2+
// or more contributor license agreements. Licensed under the Elastic License;
3+
// you may not use this file except in compliance with the Elastic License.
4+
5+
package export
6+
7+
import (
8+
"encoding/json"
9+
"os"
10+
"testing"
11+
12+
"github.com/stretchr/testify/assert"
13+
"github.com/stretchr/testify/require"
14+
15+
"github.com/elastic/elastic-package/internal/common"
16+
)
17+
18+
func TestRemoveFleetTagsDashboard(t *testing.T) {
19+
b, err := os.ReadFile("./testdata/elastic_package_registry.dashboard.json")
20+
require.NoError(t, err)
21+
22+
var given common.MapStr
23+
err = json.Unmarshal(b, &given)
24+
require.NoError(t, err)
25+
26+
ctx := &transformationContext{
27+
packageName: "elastic_package_registry",
28+
}
29+
30+
result, err := removeFleetManagedTags(ctx, given)
31+
require.NoError(t, err)
32+
33+
resultJson, err := json.MarshalIndent(&result, "", " ")
34+
require.NoError(t, err)
35+
36+
expected, err := os.ReadFile("./test/elastic_package_registry.dashboard.json-expected.json")
37+
require.NoError(t, err)
38+
39+
require.Equal(t, string(expected), string(resultJson))
40+
}
41+
42+
func TestRemoveFleetTagsObjects(t *testing.T) {
43+
cases := []struct {
44+
title string
45+
objectFile string
46+
expectedRemoved bool
47+
}{
48+
{
49+
title: "Tag managed by fleet",
50+
objectFile: "./testdata/elastic_package_registry.tag_managed_by_fleet.json",
51+
expectedRemoved: true,
52+
},
53+
{
54+
title: "Random tag",
55+
objectFile: "./testdata/elastic_package_registry.random_tag.json",
56+
expectedRemoved: false,
57+
},
58+
}
59+
60+
for _, c := range cases {
61+
t.Run(c.title, func(t *testing.T) {
62+
b, err := os.ReadFile(c.objectFile)
63+
require.NoError(t, err)
64+
65+
var given common.MapStr
66+
err = json.Unmarshal(b, &given)
67+
require.NoError(t, err)
68+
69+
ctx := &transformationContext{
70+
packageName: "elastic_package_registry",
71+
}
72+
73+
result, err := removeFleetManagedTags(ctx, given)
74+
require.NoError(t, err)
75+
76+
if c.expectedRemoved {
77+
assert.Nil(t, result)
78+
return
79+
}
80+
81+
resultJson, err := json.MarshalIndent(&result, "", " ")
82+
require.NoError(t, err)
83+
84+
assert.Equal(t, string(b), string(resultJson))
85+
})
86+
}
87+
}

0 commit comments

Comments
 (0)