8
8
fakeFlagger "github.com/stefanprodan/flagger/pkg/client/clientset/versioned/fake"
9
9
informers "github.com/stefanprodan/flagger/pkg/client/informers/externalversions"
10
10
"github.com/stefanprodan/flagger/pkg/logging"
11
+ "github.com/stefanprodan/flagger/pkg/router"
11
12
"go.uber.org/zap"
12
13
appsv1 "k8s.io/api/apps/v1"
13
14
hpav1 "k8s.io/api/autoscaling/v1"
@@ -33,10 +34,10 @@ type Mocks struct {
33
34
istioClient istioclientset.Interface
34
35
flaggerClient clientset.Interface
35
36
deployer CanaryDeployer
36
- router CanaryRouter
37
37
observer CanaryObserver
38
38
ctrl * Controller
39
39
logger * zap.SugaredLogger
40
+ router router.Interface
40
41
}
41
42
42
43
func SetupMocks () Mocks {
@@ -70,12 +71,6 @@ func SetupMocks() Mocks {
70
71
flaggerClient : flaggerClient ,
71
72
},
72
73
}
73
- router := CanaryRouter {
74
- flaggerClient : flaggerClient ,
75
- kubeClient : kubeClient ,
76
- istioClient : istioClient ,
77
- logger : logger ,
78
- }
79
74
observer := CanaryObserver {
80
75
metricsServer : "fake" ,
81
76
}
@@ -96,22 +91,26 @@ func SetupMocks() Mocks {
96
91
canaries : new (sync.Map ),
97
92
flaggerWindow : time .Second ,
98
93
deployer : deployer ,
99
- router : router ,
100
94
observer : observer ,
101
95
recorder : NewCanaryRecorder (false ),
102
96
}
103
97
ctrl .flaggerSynced = alwaysReady
104
98
99
+ // init router
100
+ rf := router .NewFactory (kubeClient , flaggerClient , logger , istioClient )
101
+ var meshRouter router.Interface
102
+ meshRouter = rf .IstioRouter ()
103
+
105
104
return Mocks {
106
105
canary : canary ,
107
106
observer : observer ,
108
- router : router ,
109
107
deployer : deployer ,
110
108
logger : logger ,
111
109
flaggerClient : flaggerClient ,
112
110
istioClient : istioClient ,
113
111
kubeClient : kubeClient ,
114
112
ctrl : ctrl ,
113
+ router : meshRouter ,
115
114
}
116
115
}
117
116
0 commit comments