@@ -407,6 +407,60 @@ var _ = Describe("HelmChartReconciler", func() {
407407 Expect (chart .Status .Artifact .Revision ).Should (Equal ("0.1.1" ))
408408 })
409409
410+ It ("Cross namespace" , func () {
411+ Expect (helmServer .PackageChart (path .Join ("testdata/charts/helmchart" ))).Should (Succeed ())
412+ Expect (helmServer .GenerateIndex ()).Should (Succeed ())
413+
414+ repositoryKey := types.NamespacedName {
415+ Name : "helmrepository-sample-" + randStringRunes (5 ),
416+ Namespace : namespace .Name ,
417+ }
418+ Expect (k8sClient .Create (context .Background (), & sourcev1.HelmRepository {
419+ ObjectMeta : metav1.ObjectMeta {
420+ Name : repositoryKey .Name ,
421+ Namespace : repositoryKey .Namespace ,
422+ },
423+ Spec : sourcev1.HelmRepositorySpec {
424+ URL : helmServer .URL (),
425+ Interval : metav1.Duration {Duration : indexInterval },
426+ },
427+ })).Should (Succeed ())
428+
429+ key := types.NamespacedName {
430+ Name : "helmchart-sample-" + randStringRunes (5 ),
431+ Namespace : "default" ,
432+ }
433+ created := & sourcev1.HelmChart {
434+ ObjectMeta : metav1.ObjectMeta {
435+ Name : key .Name ,
436+ Namespace : key .Namespace ,
437+ },
438+ Spec : sourcev1.HelmChartSpec {
439+ Chart : "helmchart" ,
440+ Version : "" ,
441+ SourceRef : sourcev1.LocalHelmChartSourceReference {
442+ Kind : sourcev1 .HelmRepositoryKind ,
443+ Name : repositoryKey .Name ,
444+ },
445+ Interval : metav1.Duration {Duration : pullInterval },
446+ },
447+ }
448+ Expect (k8sClient .Create (context .Background (), created )).Should (Succeed ())
449+
450+ got := & sourcev1.HelmChart {}
451+ Eventually (func () bool {
452+ _ = k8sClient .Get (context .Background (), key , got )
453+ for _ , c := range got .Status .Conditions {
454+ if strings .Contains (c .Message , "failed to retrieve source" ) {
455+ return true
456+ }
457+ }
458+ return false
459+ }, timeout , interval ).Should (BeTrue ())
460+
461+ Expect (k8sClient .Delete (context .Background (), created )).Should (Succeed ())
462+ })
463+
410464 It ("Authenticates when credentials are provided" , func () {
411465 helmServer .Stop ()
412466 var username , password = "john" , "doe"
0 commit comments