@@ -5,41 +5,52 @@ import (
5
5
"testing"
6
6
)
7
7
8
- func Test_parseApplyError (t * testing.T ) {
9
- filtered := parseApplyError ([]byte (`
8
+ func TestParseApply (t * testing.T ) {
9
+ tests := []struct {
10
+ name string
11
+ in []byte
12
+ filtered string
13
+ }{
14
+ {
15
+ "apply" ,
16
+ []byte (`
10
17
gitrepository.source.toolkit.fluxcd.io/flux-workspaces unchanged
11
18
ingressroute.traefik.containo.us/flux-receiver configured
12
19
service/notification-controller created
13
- The Service "webhook-receiver" is invalid: spec.clusterIP: Invalid value: "10.200.133.61": field is immutable` ))
14
- filtered = strings .TrimSpace (filtered )
15
- numLines := len (strings .Split (filtered , "\n " ))
16
- if numLines != 1 {
17
- t .Errorf ("Should filter out all but one line from the error output, but got %d lines" , numLines )
18
- }
19
- }
20
-
21
- func Test_parseApplyError_dryRun (t * testing.T ) {
22
- filtered := parseApplyError ([]byte (`
20
+ The Service "webhook-receiver" is invalid: spec.clusterIP: Invalid value: "10.200.133.61": field is immutable
21
+ ` ),
22
+ `The Service "webhook-receiver" is invalid: spec.clusterIP: Invalid value: "10.200.133.61": field is immutable` ,
23
+ },
24
+ {
25
+ "client dry-run" ,
26
+ []byte (`
23
27
gitrepository.source.toolkit.fluxcd.io/flux-workspaces unchanged (dry run)
24
28
ingressroute.traefik.containo.us/flux-receiver configured (dry run)
25
29
service/notification-controller created (dry run)
26
- error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container` ))
27
- filtered = strings .TrimSpace (filtered )
28
- numLines := len (strings .Split (filtered , "\n " ))
29
- if numLines != 1 {
30
- t .Errorf ("Should filter out all but one line from the error output, but got %d lines" , numLines )
31
- }
32
- }
33
-
34
- func Test_parseApplyError_serverDryRun (t * testing.T ) {
35
- filtered := parseApplyError ([]byte (`
30
+ error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container
31
+ ` ),
32
+ `error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container` ,
33
+ },
34
+ {
35
+ "server dry-run" ,
36
+ []byte (`
36
37
gitrepository.source.toolkit.fluxcd.io/flux-workspaces unchanged (server dry run)
37
38
ingressroute.traefik.containo.us/flux-receiver configured (server dry run)
38
39
service/notification-controller created (server dry run)
39
- error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container` ))
40
- filtered = strings .TrimSpace (filtered )
41
- numLines := len (strings .Split (filtered , "\n " ))
42
- if numLines != 1 {
43
- t .Errorf ("Should filter out all but one line from the error output, but got %d lines" , numLines )
40
+ error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container
41
+ ` ),
42
+ `error: error validating data: unknown field "ima ge" in io.k8s.api.core.v1.Container` ,
43
+ },
44
+ }
45
+
46
+ for _ , tt := range tests {
47
+ t .Run (tt .name , func (t * testing.T ) {
48
+ filtered := parseApplyError (tt .in )
49
+ filtered = strings .TrimSpace (filtered )
50
+
51
+ if tt .filtered != filtered {
52
+ t .Errorf ("expected %q, but actual %q" , tt .filtered , filtered )
53
+ }
54
+ })
44
55
}
45
56
}
0 commit comments