@@ -60,3 +60,175 @@ spec: {}
6060
6161 os .Remove (testFile )
6262}
63+
64+ func TestResolveImageWithGHCR (t * testing.T ) {
65+ expectedRedisImageName := "ghcr.io/dapr/3rdparty/redis"
66+ expectedZipkinImageName := "ghcr.io/dapr/3rdparty/zipkin"
67+ expectedPlacementImageName := "ghcr.io/dapr/dapr"
68+
69+ redisImageInfo := daprImageInfo {
70+ ghcrImageName : redisGhcrImageName ,
71+ dockerHubImageName : redisDockerImageName ,
72+ imageRegistryURL : "" ,
73+ imageRegistryName : "ghcr" ,
74+ }
75+ zipkinImageInfo := daprImageInfo {
76+ ghcrImageName : zipkinGhcrImageName ,
77+ dockerHubImageName : zipkinDockerImageName ,
78+ imageRegistryURL : "" ,
79+ imageRegistryName : "ghcr" ,
80+ }
81+ placementImageInfo := daprImageInfo {
82+ ghcrImageName : daprGhcrImageName ,
83+ dockerHubImageName : daprDockerImageName ,
84+ imageRegistryURL : "" ,
85+ imageRegistryName : "ghcr" ,
86+ }
87+
88+ tests := []struct {
89+ name string
90+ args daprImageInfo
91+ expect string
92+ expectErr bool
93+ }{
94+ {"Test Redis image name" , redisImageInfo , expectedRedisImageName , false },
95+ {"Test Zipkin image name" , zipkinImageInfo , expectedZipkinImageName , false },
96+ {"Test Dapr image name" , placementImageInfo , expectedPlacementImageName , false },
97+ }
98+
99+ for _ , test := range tests {
100+ t .Run (test .name , func (t * testing.T ) {
101+ got , err := resolveImageURI (test .args )
102+ assert .Equal (t , test .expectErr , err != nil )
103+ assert .Equal (t , test .expect , got )
104+ })
105+ }
106+ }
107+
108+ func TestResolveImageWithDockerHub (t * testing.T ) {
109+ expectedRedisImageName := "redis"
110+ expectedZipkinImageName := "openzipkin/zipkin"
111+ expectedPlacementImageName := "daprio/dapr"
112+
113+ redisImageInfo := daprImageInfo {
114+ ghcrImageName : redisGhcrImageName ,
115+ dockerHubImageName : redisDockerImageName ,
116+ imageRegistryURL : "" ,
117+ imageRegistryName : "dockerhub" ,
118+ }
119+ zipkinImageInfo := daprImageInfo {
120+ ghcrImageName : zipkinGhcrImageName ,
121+ dockerHubImageName : zipkinDockerImageName ,
122+ imageRegistryURL : "" ,
123+ imageRegistryName : "dockerhub" ,
124+ }
125+ placementImageInfo := daprImageInfo {
126+ ghcrImageName : daprGhcrImageName ,
127+ dockerHubImageName : daprDockerImageName ,
128+ imageRegistryURL : "" ,
129+ imageRegistryName : "dockerhub" ,
130+ }
131+
132+ tests := []struct {
133+ name string
134+ args daprImageInfo
135+ expect string
136+ expectErr bool
137+ }{
138+ {"Test Redis image name" , redisImageInfo , expectedRedisImageName , false },
139+ {"Test Zipkin image name" , zipkinImageInfo , expectedZipkinImageName , false },
140+ {"Test Dapr image name" , placementImageInfo , expectedPlacementImageName , false },
141+ }
142+
143+ for _ , test := range tests {
144+ t .Run (test .name , func (t * testing.T ) {
145+ got , err := resolveImageURI (test .args )
146+ assert .Equal (t , test .expectErr , err != nil )
147+ assert .Equal (t , test .expect , got )
148+ })
149+ }
150+ }
151+
152+ func TestResolveImageWithPrivateRegistry (t * testing.T ) {
153+ expectedRedisImageName := "docker.io/username/dapr/3rdparty/redis"
154+ expectedZipkinImageName := "docker.io/username/dapr/3rdparty/zipkin"
155+ expectedPlacementImageName := "docker.io/username/dapr/dapr"
156+
157+ redisImageInfo := daprImageInfo {
158+ ghcrImageName : redisGhcrImageName ,
159+ dockerHubImageName : redisDockerImageName ,
160+ imageRegistryURL : "docker.io/username" ,
161+ imageRegistryName : "" ,
162+ }
163+ zipkinImageInfo := daprImageInfo {
164+ ghcrImageName : zipkinGhcrImageName ,
165+ dockerHubImageName : zipkinDockerImageName ,
166+ imageRegistryURL : "docker.io/username" ,
167+ imageRegistryName : "" ,
168+ }
169+ placementImageInfo := daprImageInfo {
170+ ghcrImageName : daprGhcrImageName ,
171+ dockerHubImageName : daprDockerImageName ,
172+ imageRegistryURL : "docker.io/username" ,
173+ imageRegistryName : "" ,
174+ }
175+
176+ tests := []struct {
177+ name string
178+ args daprImageInfo
179+ expect string
180+ expectErr bool
181+ }{
182+ {"Test Redis image name" , redisImageInfo , expectedRedisImageName , false },
183+ {"Test Zipkin image name" , zipkinImageInfo , expectedZipkinImageName , false },
184+ {"Test Dapr image name" , placementImageInfo , expectedPlacementImageName , false },
185+ }
186+
187+ for _ , test := range tests {
188+ t .Run (test .name , func (t * testing.T ) {
189+ got , err := resolveImageURI (test .args )
190+ assert .Equal (t , test .expectErr , err != nil )
191+ assert .Equal (t , test .expect , got )
192+ })
193+ }
194+ }
195+
196+ func TestResolveImageErr (t * testing.T ) {
197+ redisImageInfo := daprImageInfo {
198+ ghcrImageName : redisGhcrImageName ,
199+ dockerHubImageName : redisDockerImageName ,
200+ imageRegistryURL : "docker.io" ,
201+ imageRegistryName : "" ,
202+ }
203+ zipkinImageInfo := daprImageInfo {
204+ ghcrImageName : zipkinGhcrImageName ,
205+ dockerHubImageName : zipkinDockerImageName ,
206+ imageRegistryURL : ghcrURI ,
207+ imageRegistryName : "" ,
208+ }
209+ placementImageInfo := daprImageInfo {
210+ ghcrImageName : daprGhcrImageName ,
211+ dockerHubImageName : daprDockerImageName ,
212+ imageRegistryURL : "" ,
213+ imageRegistryName : "value_other_than_dockerhub_or_ghcr" ,
214+ }
215+
216+ tests := []struct {
217+ name string
218+ args daprImageInfo
219+ expect string
220+ expectErr bool
221+ }{
222+ {"Test Redis image name" , redisImageInfo , "" , true },
223+ {"Test Zipkin image name" , zipkinImageInfo , "" , true },
224+ {"Test Dapr image name" , placementImageInfo , "" , true },
225+ }
226+
227+ for _ , test := range tests {
228+ t .Run (test .name , func (t * testing.T ) {
229+ got , err := resolveImageURI (test .args )
230+ assert .Equal (t , test .expectErr , err != nil )
231+ assert .Equal (t , test .expect , got )
232+ })
233+ }
234+ }
0 commit comments