Skip to content

Commit 1a601ac

Browse files
authored
Merge pull request #379 from Caascad/fix-regexp
diff/report: fix key regexp
2 parents ac48eca + 7e53c9c commit 1a601ac

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

diff/report.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ func setupTemplateReport(r *Report) {
191191
// report with template output will only have access to ReportTemplateSpec.
192192
// This function reverts parsedMetadata.String()
193193
func (t *ReportTemplateSpec) loadFromKey(key string) error {
194-
pattern := regexp.MustCompile(`(?P<namespace>[a-z0-9-]+), (?P<name>[a-z0-9-]+), (?P<kind>\w+) \((?P<api>[a-z0-9.]+)\)`)
194+
pattern := regexp.MustCompile(`(?P<namespace>[a-z0-9-]+), (?P<name>[a-z0-9.-]+), (?P<kind>\w+) \((?P<api>[^)]+)\)`)
195195
matches := pattern.FindStringSubmatch(key)
196196
if len(matches) > 1 {
197197
t.Namespace = matches[1]

diff/report_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package diff
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestLoadFromKey(t *testing.T) {
10+
keyToReportTemplateSpec := map[string]ReportTemplateSpec{
11+
"default, nginx, Deployment (apps)": {
12+
Namespace: "default",
13+
Name: "nginx",
14+
Kind: "Deployment",
15+
API: "apps",
16+
},
17+
"default, probes.monitoring.coreos.com, CustomResourceDefinition (apiextensions.k8s.io)": {
18+
Namespace: "default",
19+
Name: "probes.monitoring.coreos.com",
20+
Kind: "CustomResourceDefinition",
21+
API: "apiextensions.k8s.io",
22+
},
23+
"default, my-cert, Certificate (cert-manager.io/v1)": {
24+
Namespace: "default",
25+
Name: "my-cert",
26+
Kind: "Certificate",
27+
API: "cert-manager.io/v1",
28+
},
29+
}
30+
31+
for key, expectedTemplateSpec := range keyToReportTemplateSpec {
32+
templateSpec := &ReportTemplateSpec{}
33+
require.NoError(t, templateSpec.loadFromKey(key))
34+
require.Equal(t, expectedTemplateSpec, *templateSpec)
35+
}
36+
}

0 commit comments

Comments
 (0)