@@ -53,7 +53,68 @@ func TestEventHandler(t *testing.T) {
53
53
t .Fatalf ("failed to create memory storage" )
54
54
}
55
55
56
+ httpScheme := "http"
57
+
58
+ eventServerTests := []struct {
59
+ name string
60
+ isHttpEnabled bool
61
+ url string
62
+ }{
63
+ {
64
+ name : "http scheme is enabled" ,
65
+ isHttpEnabled : true ,
66
+ }, {
67
+ name : "http scheme is disabled" ,
68
+ isHttpEnabled : false ,
69
+ },
70
+ }
71
+ for _ , eventServerTest := range eventServerTests {
72
+
73
+ t .Run (eventServerTest .name , func (t * testing.T ) {
74
+
75
+ eventServer := server .NewEventServer ("127.0.0.1:56789" , logf .Log , k8sClient , true , eventServerTest .isHttpEnabled )
76
+
77
+ stopCh := make (chan struct {})
78
+ go eventServer .ListenAndServe (stopCh , eventMdlw , store )
79
+
80
+ rcvServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
81
+ req = r
82
+ w .WriteHeader (200 )
83
+ }))
84
+ defer rcvServer .Close ()
85
+ defer close (stopCh )
86
+
87
+ providerKey := types.NamespacedName {
88
+ Name : fmt .Sprintf ("provider-%s" , randStringRunes (5 )),
89
+ Namespace : namespace ,
90
+ }
91
+ provider = & notifyv1.Provider {
92
+ ObjectMeta : metav1.ObjectMeta {
93
+ Name : providerKey .Name ,
94
+ Namespace : providerKey .Namespace ,
95
+ },
96
+ Spec : notifyv1.ProviderSpec {
97
+ Type : "generic" ,
98
+ Address : rcvServer .URL ,
99
+ },
100
+ }
101
+
102
+ webhook_url , err := url .Parse (provider .Spec .Address )
103
+ if err != nil {
104
+
105
+ if eventServerTest .isHttpEnabled {
106
+ g .Expect (webhook_url .Scheme ).To (Equal (httpScheme ))
107
+ } else {
108
+ g .Expect (webhook_url .Scheme ).ToNot (Equal (httpScheme ))
109
+ }
110
+
111
+ }
112
+
113
+ })
114
+ }
115
+
56
116
eventServer := server .NewEventServer ("127.0.0.1:56789" , logf .Log , k8sClient , true , true )
117
+
57
118
stopCh := make (chan struct {})
58
119
go eventServer .ListenAndServe (stopCh , eventMdlw , store )
59
120
@@ -79,9 +140,8 @@ func TestEventHandler(t *testing.T) {
79
140
},
80
141
}
81
142
82
- webhook_url , err := url .Parse (provider .Spec .Address )
83
143
g .Expect (err ).ToNot (HaveOccurred ())
84
- g . Expect ( webhook_url . Scheme ). To ( Equal ( "http" ))
144
+
85
145
g .Expect (k8sClient .Create (context .Background (), provider )).To (Succeed ())
86
146
g .Eventually (func () bool {
87
147
var obj notifyv1.Provider
@@ -178,6 +238,7 @@ func TestEventHandler(t *testing.T) {
178
238
res , err := http .Post ("http://localhost:56789/" , "application/json" , buf )
179
239
g .Expect (err ).ToNot (HaveOccurred ())
180
240
g .Expect (res .StatusCode ).To (Equal (202 )) // event_server responds with 202 Accepted
241
+
181
242
}
182
243
183
244
testForwarded := func () {
@@ -299,4 +360,5 @@ func TestEventHandler(t *testing.T) {
299
360
req = nil
300
361
})
301
362
}
363
+
302
364
}
0 commit comments