@@ -47,7 +47,7 @@ func Test_RequestForMetadata(t *testing.T) {
4747 }
4848
4949 mustParseURI := func (t * testing.T , uri string ) * url.URL {
50- puri , err := url .Parse (uri )
50+ puri , err := url .ParseRequestURI (uri )
5151 assert .NoError (t , err )
5252 return puri
5353 }
@@ -138,9 +138,9 @@ func Test_RequestForMetadata(t *testing.T) {
138138 "csi.cert-manager.io/issuer-group" : "joshvanl.com" ,
139139 "csi.cert-manager.io/duration" : "1h" ,
140140 "csi.cert-manager.io/common-name" : "${POD_NAME}.$POD_NAMESPACE" ,
141- "csi.cert-manager.io/dns-names" : "${POD_NAME}-my-dns-$POD_NAMESPACE-$POD_UID,$POD_NAME,${POD_NAME}.${POD_NAMESPACE},$POD_NAME.$POD_NAMESPACE.svc,$POD_UID" ,
142- "csi.cert-manager.io/uri-sans" : "spiffe://foo.bar/${POD_NAMESPACE}/${POD_NAME}/$POD_UID,file://foo-bar,${POD_UID}" ,
143- "csi.cert-manager.io/ip-sans" : "1.2.3.4,5.6.7.8" ,
141+ "csi.cert-manager.io/dns-names" : "${POD_NAME}-my-dns-$POD_NAMESPACE-$POD_UID,$POD_NAME,\n ${POD_NAME}.${POD_NAMESPACE},$POD_NAME.$POD_NAMESPACE.svc,$POD_UID" ,
142+ "csi.cert-manager.io/uri-sans" : "spiffe://foo.bar/${POD_NAMESPACE}/${POD_NAME}/$POD_UID,file://foo-bar, foo:// ${POD_UID}" ,
143+ "csi.cert-manager.io/ip-sans" : "1.2.3.4,\n \t 5.6.7.8" ,
144144 "csi.cert-manager.io/is-ca" : "true" ,
145145 "csi.cert-manager.io/key-usages" : "server auth,client auth" ,
146146 }}),
@@ -156,7 +156,7 @@ func Test_RequestForMetadata(t *testing.T) {
156156 URIs : []* url.URL {
157157 mustParseURI (t , "spiffe://foo.bar/my-namespace/my-pod-name/my-pod-uuid" ),
158158 mustParseURI (t , "file://foo-bar" ),
159- mustParseURI (t , "my-pod-uuid" ),
159+ mustParseURI (t , "foo:// my-pod-uuid" ),
160160 },
161161 },
162162 IsCA : true ,
@@ -263,26 +263,26 @@ func Test_URIs(t *testing.T) {
263263 expErr : nil ,
264264 },
265265 "a csv with multiple entries should expect those entries returned" : {
266- csv : "spiffe://foo.bar,file://hello-world/1234,1234" ,
266+ csv : "spiffe://foo.bar,file://hello-world/1234,foo:// 1234" ,
267267 expURIs : func (t * testing.T ) []* url.URL {
268268 return []* url.URL {
269269 mustParse (t , "spiffe://foo.bar" ),
270270 mustParse (t , "file://hello-world/1234" ),
271- mustParse (t , "1234" ),
271+ mustParse (t , "foo:// 1234" ),
272272 }
273273 },
274274 expErr : nil ,
275275 },
276276 "a csv with a bad URI should return an error" : {
277- csv : "spiffe://foo.bar,\n ,file://hello-world/1234,1234" ,
277+ csv : "spiffe://foo.bar,\n \n x \n ,foo://foo \n bar ,file://hello-world/1234,1234" ,
278278 expURIs : nil ,
279- expErr : errors .New (`parse "\n ": net/url: invalid control character in URL` ),
279+ expErr : errors .New (`parse "x": invalid URI for request, parse "foo://foo\nbar ": net/url: invalid control character in URL, parse "1234": invalid URI for request ` ),
280280 },
281281 "a single csv which uses variables should be substituted correctly" : {
282- csv : `$POD_NAME-my-dns-${POD_NAMESPACE}-${POD_UID}` ,
282+ csv : `foo:// $POD_NAME-my-dns-${POD_NAMESPACE}-${POD_UID}` ,
283283 expURIs : func (t * testing.T ) []* url.URL {
284284 return []* url.URL {
285- mustParse (t , "my-pod-name-my-dns-my-namespace-my-pod-uuid" ),
285+ mustParse (t , "foo:// my-pod-name-my-dns-my-namespace-my-pod-uuid" ),
286286 }
287287 },
288288 expErr : nil ,
@@ -293,13 +293,13 @@ func Test_URIs(t *testing.T) {
293293 expErr : errors .New (`undefined variable "Foo", known variables: [POD_NAME POD_NAMESPACE POD_UID SERVICE_ACCOUNT_NAME]` ),
294294 },
295295 "a csv containing multiple entries which uses variables should be substituted correctly" : {
296- csv : `spiffe://$POD_NAME-my-dns-${POD_NAMESPACE}-$POD_UID,spiffe://$POD_NAME,file://${POD_NAME}.$POD_NAMESPACE,$POD_NAME.$POD_NAMESPACE.svc,spiffe://$POD_UID` ,
296+ csv : `spiffe://$POD_NAME-my-dns-${POD_NAMESPACE}-$POD_UID,spiffe://$POD_NAME,file://${POD_NAME}.$POD_NAMESPACE,foo:// $POD_NAME.$POD_NAMESPACE.svc,spiffe://$POD_UID` ,
297297 expURIs : func (t * testing.T ) []* url.URL {
298298 return []* url.URL {
299299 mustParse (t , "spiffe://my-pod-name-my-dns-my-namespace-my-pod-uuid" ),
300300 mustParse (t , "spiffe://my-pod-name" ),
301301 mustParse (t , "file://my-pod-name.my-namespace" ),
302- mustParse (t , "my-pod-name.my-namespace.svc" ),
302+ mustParse (t , "foo:// my-pod-name.my-namespace.svc" ),
303303 mustParse (t , "spiffe://my-pod-uuid" ),
304304 }
305305 },
0 commit comments