github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/offering/common/reconcilechecks/images/images_test.go (about) 1 /* 2 * Copyright contributors to the Hyperledger Fabric Operator project 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at: 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package images_test 20 21 import ( 22 . "github.com/onsi/ginkgo/v2" 23 . "github.com/onsi/gomega" 24 25 current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1" 26 config "github.com/IBM-Blockchain/fabric-operator/operatorconfig" 27 "github.com/IBM-Blockchain/fabric-operator/pkg/apis/deployer" 28 "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common/reconcilechecks/images" 29 "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common/reconcilechecks/images/mocks" 30 ) 31 32 var _ = Describe("default images", func() { 33 var ( 34 operatorCfg *config.Operator 35 ) 36 37 BeforeEach(func() { 38 operatorCfg = &config.Operator{ 39 Versions: &deployer.Versions{ 40 CA: map[string]deployer.VersionCA{ 41 "1.4.9-0": { 42 Default: false, 43 Version: "1.4.9-0", 44 Image: deployer.CAImages{ 45 CAImage: "caimage", 46 CATag: "catag", 47 CAInitImage: "cainitimage", 48 CAInitTag: "cainittag", 49 EnrollerImage: "enrolleriamge", 50 EnrollerTag: "enrollertag", 51 }, 52 }, 53 "1.4.9-1": { 54 Default: true, 55 Version: "1.4.9-1", 56 Image: deployer.CAImages{ 57 CAImage: "caimage", 58 CATag: "newcatag", 59 CAInitImage: "cainitimage", 60 CAInitTag: "cainittag", 61 EnrollerImage: "enrolleriamge", 62 EnrollerTag: "enrollertag", 63 }, 64 }, 65 }, 66 Peer: map[string]deployer.VersionPeer{ 67 "1.4.9-0": { 68 Default: true, 69 Version: "1.4.9-0", 70 Image: deployer.PeerImages{ 71 PeerInitImage: "ibp-init", 72 PeerInitTag: "2.5.1-2511004-amd64", 73 PeerImage: "ibp-peer", 74 PeerTag: "1.4.9-2511004-amd64", 75 DindImage: "ibp-dind", 76 DindTag: "noimages-amd64", 77 CouchDBImage: "ibp-couchdb", 78 CouchDBTag: "2.3.1-2511004-amd64", 79 GRPCWebImage: "ibp-grpcweb", 80 GRPCWebTag: "2.5.1-2511004-amd64", 81 FluentdImage: "ibp-fluentd", 82 FluentdTag: "2.5.1-2511004-amd64", 83 EnrollerImage: "ibp-enroller", 84 EnrollerTag: "1.0.0-amd64", 85 }, 86 }, 87 "2.2.1-0": { 88 Default: false, 89 Version: "2.2.1-0", 90 Image: deployer.PeerImages{ 91 PeerInitImage: "ibp-init", 92 PeerInitTag: "2.5.1-2511004-amd64", 93 PeerImage: "ibp-peer", 94 PeerTag: "2.2.1-2511004-amd64", 95 DindImage: "ibp-dind", 96 DindTag: "noimages-amd64", 97 CouchDBImage: "ibp-couchdb", 98 CouchDBTag: "2.3.1-2511004-amd64", 99 GRPCWebImage: "ibp-grpcweb", 100 GRPCWebTag: "2.5.1-2511004-amd64", 101 FluentdImage: "ibp-fluentd", 102 FluentdTag: "2.5.1-2511004-amd64", 103 EnrollerImage: "ibp-enroller", 104 EnrollerTag: "1.0.0-amd64", 105 }, 106 }, 107 "2.2.1-1": { 108 Default: true, 109 Version: "2.2.1-1", 110 Image: deployer.PeerImages{ 111 PeerInitImage: "ibp-init", 112 PeerInitTag: "2.5.1-2511004-amd64", 113 PeerImage: "ibp-peer", 114 PeerTag: "2.2.1-2511204-amd64", 115 DindImage: "ibp-dind", 116 DindTag: "noimages-amd64", 117 CouchDBImage: "ibp-couchdb", 118 CouchDBTag: "2.3.1-2511004-amd64", 119 GRPCWebImage: "ibp-grpcweb", 120 GRPCWebTag: "2.5.1-2511004-amd64", 121 FluentdImage: "ibp-fluentd", 122 FluentdTag: "2.5.1-2511004-amd64", 123 EnrollerImage: "ibp-enroller", 124 EnrollerTag: "1.0.0-amd64", 125 }, 126 }, 127 }, 128 Orderer: map[string]deployer.VersionOrderer{ 129 "1.4-9-0": { 130 Default: true, 131 Version: "1.4.9-0", 132 Image: deployer.OrdererImages{ 133 OrdererInitImage: "ibp-init", 134 OrdererInitTag: "2.5.1-2511004-amd64", 135 OrdererImage: "ibp-orderer", 136 OrdererTag: "1.4.9-2511004-amd64", 137 GRPCWebImage: "ibp-grpcweb", 138 GRPCWebTag: "2.5.1-2511004-amd64", 139 EnrollerImage: "ibp-enroller", 140 EnrollerTag: "1.0.0-amd64", 141 }, 142 }, 143 "2.2.1-0": { 144 Default: false, 145 Version: "2.2.1-0", 146 Image: deployer.OrdererImages{ 147 OrdererInitImage: "ibp-init", 148 OrdererInitTag: "2.5.1-2511004-amd64", 149 OrdererImage: "ibp-orderer", 150 OrdererTag: "2.2.1-2511004-amd64", 151 GRPCWebImage: "ibp-grpcweb", 152 GRPCWebTag: "2.5.1-2511004-amd64", 153 EnrollerImage: "ibp-enroller", 154 EnrollerTag: "1.0.0-amd64", 155 }, 156 }, 157 "2.2.1-1": { 158 Default: true, 159 Version: "2.2.1-0", 160 Image: deployer.OrdererImages{ 161 OrdererInitImage: "ibp-init", 162 OrdererInitTag: "2.5.1-2511004-amd64", 163 OrdererImage: "ibp-orderer", 164 OrdererTag: "2.2.1-2511204-amd64", 165 GRPCWebImage: "ibp-grpcweb", 166 GRPCWebTag: "2.5.1-2511004-amd64", 167 EnrollerImage: "ibp-enroller", 168 EnrollerTag: "1.0.0-amd64", 169 }, 170 }, 171 }, 172 }, 173 } 174 }) 175 176 Context("images", func() { 177 var image *images.Image 178 179 BeforeEach(func() { 180 image = &images.Image{ 181 Versions: operatorCfg.Versions, 182 DefaultArch: "amd64", 183 // DefaultRegistryURL: "", 184 } 185 }) 186 187 It("returns an error if fabric version is not in correct format", func() { 188 instance := &mocks.Instance{} 189 instance.GetFabricVersionReturns("1.4.9") 190 err := image.SetDefaults(instance) 191 Expect(err).To(MatchError("fabric version format '1.4.9' is not valid, must pass hyphenated version (e.g. 2.2.1-1)")) 192 }) 193 194 Context("update required", func() { 195 var update *mocks.Update 196 197 BeforeEach(func() { 198 update = &mocks.Update{} 199 }) 200 201 It("returns false if images updated", func() { 202 update.ImagesUpdatedReturns(true) 203 required := image.UpdateRequired(update) 204 Expect(required).To(Equal(false)) 205 }) 206 207 It("returns false if neither images nor fabric version updated", func() { 208 required := image.UpdateRequired(update) 209 Expect(required).To(Equal(false)) 210 }) 211 212 It("returns true if fabric version updated and images not updated", func() { 213 update.FabricVersionUpdatedReturns(true) 214 required := image.UpdateRequired(update) 215 Expect(required).To(Equal(true)) 216 }) 217 }) 218 219 Context("ca", func() { 220 var ( 221 instance *current.IBPCA 222 ) 223 224 BeforeEach(func() { 225 instance = ¤t.IBPCA{ 226 Spec: current.IBPCASpec{ 227 RegistryURL: "ghcr.io/ibm-blockchain/", 228 FabricVersion: "1.4.9-1", 229 }, 230 } 231 }) 232 233 Context("registry url", func() { 234 When("is not set", func() { 235 BeforeEach(func() { 236 instance.Spec.RegistryURL = "" 237 }) 238 239 It("sets default images based on operator's config with registry of blank", func() { 240 err := image.SetDefaults(instance) 241 Expect(err).NotTo(HaveOccurred()) 242 caImages := deployer.CAImages{ 243 CAImage: "caimage", 244 CATag: "newcatag", 245 CAInitImage: "cainitimage", 246 CAInitTag: "cainittag", 247 EnrollerImage: "enrolleriamge", 248 EnrollerTag: "enrollertag", 249 } 250 Expect(instance.Spec.Images.CAImage).To(Equal(caImages.CAImage)) 251 Expect(instance.Spec.Images.CATag).To(Equal(caImages.CATag)) 252 Expect(instance.Spec.Images.CAInitImage).To(Equal(caImages.CAInitImage)) 253 Expect(instance.Spec.Images.CAInitTag).To(Equal(caImages.CAInitTag)) 254 Expect(instance.Spec.Images.EnrollerImage).To(Equal(caImages.EnrollerImage)) 255 Expect(instance.Spec.Images.EnrollerTag).To(Equal(caImages.EnrollerTag)) 256 }) 257 }) 258 259 When("is set", func() { 260 It("sets default images based on operator's config", func() { 261 err := image.SetDefaults(instance) 262 Expect(err).NotTo(HaveOccurred()) 263 caImages := deployer.CAImages{ 264 CAImage: "ghcr.io/ibm-blockchain/caimage", 265 CATag: "newcatag", 266 CAInitImage: "ghcr.io/ibm-blockchain/cainitimage", 267 CAInitTag: "cainittag", 268 EnrollerImage: "ghcr.io/ibm-blockchain/enrolleriamge", 269 EnrollerTag: "enrollertag", 270 } 271 272 Expect(instance.Spec.Images.CAImage).To(Equal(caImages.CAImage)) 273 Expect(instance.Spec.Images.CATag).To(Equal(caImages.CATag)) 274 Expect(instance.Spec.Images.CAInitImage).To(Equal(caImages.CAInitImage)) 275 Expect(instance.Spec.Images.CAInitTag).To(Equal(caImages.CAInitTag)) 276 Expect(instance.Spec.Images.EnrollerImage).To(Equal(caImages.EnrollerImage)) 277 Expect(instance.Spec.Images.EnrollerTag).To(Equal(caImages.EnrollerTag)) 278 }) 279 }) 280 }) 281 282 When("using normalized fabric version", func() { 283 BeforeEach(func() { 284 instance.Spec.FabricVersion = "1.4.9-0" 285 }) 286 287 It("returns default images for the base fabric version", func() { 288 err := image.SetDefaults(instance) 289 Expect(err).NotTo(HaveOccurred()) 290 291 caImages := deployer.CAImages{ 292 CAImage: "ghcr.io/ibm-blockchain/caimage", 293 CATag: "catag", 294 CAInitImage: "ghcr.io/ibm-blockchain/cainitimage", 295 CAInitTag: "cainittag", 296 EnrollerImage: "ghcr.io/ibm-blockchain/enrolleriamge", 297 EnrollerTag: "enrollertag", 298 } 299 300 Expect(instance.Spec.Images.CAImage).To(Equal(caImages.CAImage)) 301 Expect(instance.Spec.Images.CATag).To(Equal(caImages.CATag)) 302 Expect(instance.Spec.Images.CAInitImage).To(Equal(caImages.CAInitImage)) 303 Expect(instance.Spec.Images.CAInitTag).To(Equal(caImages.CAInitTag)) 304 Expect(instance.Spec.Images.EnrollerImage).To(Equal(caImages.EnrollerImage)) 305 Expect(instance.Spec.Images.EnrollerTag).To(Equal(caImages.EnrollerTag)) 306 }) 307 }) 308 309 It("returns error if requested version not found", func() { 310 instance.Spec.FabricVersion = "5.1.0-1" 311 err := image.SetDefaults(instance) 312 Expect(err).To(HaveOccurred()) 313 }) 314 }) 315 316 Context("peer", func() { 317 var ( 318 instance *current.IBPPeer 319 ) 320 321 BeforeEach(func() { 322 instance = ¤t.IBPPeer{ 323 Spec: current.IBPPeerSpec{ 324 RegistryURL: "ghcr.io/ibm-blockchain/", 325 FabricVersion: "2.2.1-1", 326 }, 327 } 328 }) 329 330 Context("registy URL", func() { 331 When("is not set", func() { 332 BeforeEach(func() { 333 instance.Spec.RegistryURL = "" 334 }) 335 336 It("sets registry URL to blank", func() { 337 err := image.SetDefaults(instance) 338 Expect(err).NotTo(HaveOccurred()) 339 peerImages := deployer.PeerImages{ 340 PeerInitImage: "ibp-init", 341 PeerInitTag: "2.5.1-2511004-amd64", 342 PeerImage: "ibp-peer", 343 PeerTag: "2.2.1-2511204-amd64", 344 DindImage: "ibp-dind", 345 DindTag: "noimages-amd64", 346 CouchDBImage: "ibp-couchdb", 347 CouchDBTag: "2.3.1-2511004-amd64", 348 GRPCWebImage: "ibp-grpcweb", 349 GRPCWebTag: "2.5.1-2511004-amd64", 350 FluentdImage: "ibp-fluentd", 351 FluentdTag: "2.5.1-2511004-amd64", 352 EnrollerImage: "ibp-enroller", 353 EnrollerTag: "1.0.0-amd64", 354 } 355 356 Expect(instance.Spec.Images.PeerInitImage).To(Equal(peerImages.PeerInitImage)) 357 Expect(instance.Spec.Images.PeerInitTag).To(Equal(peerImages.PeerInitTag)) 358 Expect(instance.Spec.Images.PeerImage).To(Equal(peerImages.PeerImage)) 359 Expect(instance.Spec.Images.PeerTag).To(Equal(peerImages.PeerTag)) 360 Expect(instance.Spec.Images.DindImage).To(Equal(peerImages.DindImage)) 361 Expect(instance.Spec.Images.DindTag).To(Equal(peerImages.DindTag)) 362 Expect(instance.Spec.Images.CouchDBImage).To(Equal(peerImages.CouchDBImage)) 363 Expect(instance.Spec.Images.CouchDBTag).To(Equal(peerImages.CouchDBTag)) 364 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(peerImages.GRPCWebImage)) 365 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(peerImages.GRPCWebTag)) 366 Expect(instance.Spec.Images.FluentdImage).To(Equal(peerImages.FluentdImage)) 367 Expect(instance.Spec.Images.FluentdTag).To(Equal(peerImages.FluentdTag)) 368 Expect(instance.Spec.Images.EnrollerImage).To(Equal(peerImages.EnrollerImage)) 369 Expect(instance.Spec.Images.EnrollerTag).To(Equal(peerImages.EnrollerTag)) 370 }) 371 }) 372 373 When("is set", func() { 374 It("sets the requested registry URL", func() { 375 err := image.SetDefaults(instance) 376 Expect(err).NotTo(HaveOccurred()) 377 peerImages := deployer.PeerImages{ 378 PeerInitImage: "ghcr.io/ibm-blockchain/ibp-init", 379 PeerInitTag: "2.5.1-2511004-amd64", 380 PeerImage: "ghcr.io/ibm-blockchain/ibp-peer", 381 PeerTag: "2.2.1-2511204-amd64", 382 DindImage: "ghcr.io/ibm-blockchain/ibp-dind", 383 DindTag: "noimages-amd64", 384 CouchDBImage: "ghcr.io/ibm-blockchain/ibp-couchdb", 385 CouchDBTag: "2.3.1-2511004-amd64", 386 GRPCWebImage: "ghcr.io/ibm-blockchain/ibp-grpcweb", 387 GRPCWebTag: "2.5.1-2511004-amd64", 388 FluentdImage: "ghcr.io/ibm-blockchain/ibp-fluentd", 389 FluentdTag: "2.5.1-2511004-amd64", 390 EnrollerImage: "ghcr.io/ibm-blockchain/ibp-enroller", 391 EnrollerTag: "1.0.0-amd64", 392 } 393 394 Expect(instance.Spec.Images.PeerInitImage).To(Equal(peerImages.PeerInitImage)) 395 Expect(instance.Spec.Images.PeerInitTag).To(Equal(peerImages.PeerInitTag)) 396 Expect(instance.Spec.Images.PeerImage).To(Equal(peerImages.PeerImage)) 397 Expect(instance.Spec.Images.PeerTag).To(Equal(peerImages.PeerTag)) 398 Expect(instance.Spec.Images.DindImage).To(Equal(peerImages.DindImage)) 399 Expect(instance.Spec.Images.DindTag).To(Equal(peerImages.DindTag)) 400 Expect(instance.Spec.Images.CouchDBImage).To(Equal(peerImages.CouchDBImage)) 401 Expect(instance.Spec.Images.CouchDBTag).To(Equal(peerImages.CouchDBTag)) 402 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(peerImages.GRPCWebImage)) 403 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(peerImages.GRPCWebTag)) 404 Expect(instance.Spec.Images.FluentdImage).To(Equal(peerImages.FluentdImage)) 405 Expect(instance.Spec.Images.FluentdTag).To(Equal(peerImages.FluentdTag)) 406 Expect(instance.Spec.Images.EnrollerImage).To(Equal(peerImages.EnrollerImage)) 407 Expect(instance.Spec.Images.EnrollerTag).To(Equal(peerImages.EnrollerTag)) 408 }) 409 }) 410 411 }) 412 413 When("using normalized fabric version", func() { 414 BeforeEach(func() { 415 instance.Spec.FabricVersion = "2.2.1-0" 416 }) 417 418 It("returns images for the requested fabric version", func() { 419 err := image.SetDefaults(instance) 420 Expect(err).NotTo(HaveOccurred()) 421 peerImages := deployer.PeerImages{ 422 PeerInitImage: "ghcr.io/ibm-blockchain/ibp-init", 423 PeerInitTag: "2.5.1-2511004-amd64", 424 PeerImage: "ghcr.io/ibm-blockchain/ibp-peer", 425 PeerTag: "2.2.1-2511004-amd64", 426 DindImage: "ghcr.io/ibm-blockchain/ibp-dind", 427 DindTag: "noimages-amd64", 428 CouchDBImage: "ghcr.io/ibm-blockchain/ibp-couchdb", 429 CouchDBTag: "2.3.1-2511004-amd64", 430 GRPCWebImage: "ghcr.io/ibm-blockchain/ibp-grpcweb", 431 GRPCWebTag: "2.5.1-2511004-amd64", 432 FluentdImage: "ghcr.io/ibm-blockchain/ibp-fluentd", 433 FluentdTag: "2.5.1-2511004-amd64", 434 EnrollerImage: "ghcr.io/ibm-blockchain/ibp-enroller", 435 EnrollerTag: "1.0.0-amd64", 436 } 437 438 Expect(instance.Spec.Images.PeerInitImage).To(Equal(peerImages.PeerInitImage)) 439 Expect(instance.Spec.Images.PeerInitTag).To(Equal(peerImages.PeerInitTag)) 440 Expect(instance.Spec.Images.PeerImage).To(Equal(peerImages.PeerImage)) 441 Expect(instance.Spec.Images.PeerTag).To(Equal(peerImages.PeerTag)) 442 Expect(instance.Spec.Images.DindImage).To(Equal(peerImages.DindImage)) 443 Expect(instance.Spec.Images.DindTag).To(Equal(peerImages.DindTag)) 444 Expect(instance.Spec.Images.CouchDBImage).To(Equal(peerImages.CouchDBImage)) 445 Expect(instance.Spec.Images.CouchDBTag).To(Equal(peerImages.CouchDBTag)) 446 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(peerImages.GRPCWebImage)) 447 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(peerImages.GRPCWebTag)) 448 Expect(instance.Spec.Images.FluentdImage).To(Equal(peerImages.FluentdImage)) 449 Expect(instance.Spec.Images.FluentdTag).To(Equal(peerImages.FluentdTag)) 450 Expect(instance.Spec.Images.EnrollerImage).To(Equal(peerImages.EnrollerImage)) 451 Expect(instance.Spec.Images.EnrollerTag).To(Equal(peerImages.EnrollerTag)) 452 }) 453 }) 454 455 It("returns error if requested version not found", func() { 456 instance.Spec.FabricVersion = "5.1.0-1" 457 err := image.SetDefaults(instance) 458 Expect(err).To(HaveOccurred()) 459 }) 460 }) 461 462 Context("orderer", func() { 463 var ( 464 instance *current.IBPOrderer 465 ) 466 467 BeforeEach(func() { 468 instance = ¤t.IBPOrderer{ 469 Spec: current.IBPOrdererSpec{ 470 RegistryURL: "ghcr.io/ibm-blockchain/", 471 FabricVersion: "2.2.1-1", 472 }, 473 } 474 }) 475 476 Context("registry URL", func() { 477 When("is not set", func() { 478 BeforeEach(func() { 479 instance.Spec.RegistryURL = "" 480 }) 481 482 It("sets default images based on operator's config with registry of blank", func() { 483 err := image.SetDefaults(instance) 484 Expect(err).NotTo(HaveOccurred()) 485 ordererImages := deployer.OrdererImages{ 486 OrdererInitImage: "ibp-init", 487 OrdererInitTag: "2.5.1-2511004-amd64", 488 OrdererImage: "ibp-orderer", 489 OrdererTag: "2.2.1-2511204-amd64", 490 GRPCWebImage: "ibp-grpcweb", 491 GRPCWebTag: "2.5.1-2511004-amd64", 492 EnrollerImage: "ibp-enroller", 493 EnrollerTag: "1.0.0-amd64", 494 } 495 496 Expect(instance.Spec.Images.OrdererInitImage).To(Equal(ordererImages.OrdererInitImage)) 497 Expect(instance.Spec.Images.OrdererInitTag).To(Equal(ordererImages.OrdererInitTag)) 498 Expect(instance.Spec.Images.OrdererImage).To(Equal(ordererImages.OrdererImage)) 499 Expect(instance.Spec.Images.OrdererTag).To(Equal(ordererImages.OrdererTag)) 500 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(ordererImages.GRPCWebImage)) 501 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(ordererImages.GRPCWebTag)) 502 Expect(instance.Spec.Images.EnrollerImage).To(Equal(ordererImages.EnrollerImage)) 503 Expect(instance.Spec.Images.EnrollerTag).To(Equal(ordererImages.EnrollerTag)) 504 }) 505 }) 506 507 When("is set", func() { 508 It("sets default images based on operator's config", func() { 509 err := image.SetDefaults(instance) 510 Expect(err).NotTo(HaveOccurred()) 511 ordererImages := deployer.OrdererImages{ 512 OrdererInitImage: "ghcr.io/ibm-blockchain/ibp-init", 513 OrdererInitTag: "2.5.1-2511004-amd64", 514 OrdererImage: "ghcr.io/ibm-blockchain/ibp-orderer", 515 OrdererTag: "2.2.1-2511204-amd64", 516 GRPCWebImage: "ghcr.io/ibm-blockchain/ibp-grpcweb", 517 GRPCWebTag: "2.5.1-2511004-amd64", 518 EnrollerImage: "ghcr.io/ibm-blockchain/ibp-enroller", 519 EnrollerTag: "1.0.0-amd64", 520 } 521 522 Expect(instance.Spec.Images.OrdererInitImage).To(Equal(ordererImages.OrdererInitImage)) 523 Expect(instance.Spec.Images.OrdererInitTag).To(Equal(ordererImages.OrdererInitTag)) 524 Expect(instance.Spec.Images.OrdererImage).To(Equal(ordererImages.OrdererImage)) 525 Expect(instance.Spec.Images.OrdererTag).To(Equal(ordererImages.OrdererTag)) 526 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(ordererImages.GRPCWebImage)) 527 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(ordererImages.GRPCWebTag)) 528 Expect(instance.Spec.Images.EnrollerImage).To(Equal(ordererImages.EnrollerImage)) 529 Expect(instance.Spec.Images.EnrollerTag).To(Equal(ordererImages.EnrollerTag)) 530 }) 531 }) 532 }) 533 534 When("using normalized fabric version", func() { 535 BeforeEach(func() { 536 instance.Spec.FabricVersion = "2.2.1-0" 537 }) 538 539 It("returns default images for the base fabric version", func() { 540 err := image.SetDefaults(instance) 541 Expect(err).NotTo(HaveOccurred()) 542 ordererImages := deployer.OrdererImages{ 543 OrdererInitImage: "ghcr.io/ibm-blockchain/ibp-init", 544 OrdererInitTag: "2.5.1-2511004-amd64", 545 OrdererImage: "ghcr.io/ibm-blockchain/ibp-orderer", 546 OrdererTag: "2.2.1-2511004-amd64", 547 GRPCWebImage: "ghcr.io/ibm-blockchain/ibp-grpcweb", 548 GRPCWebTag: "2.5.1-2511004-amd64", 549 EnrollerImage: "ghcr.io/ibm-blockchain/ibp-enroller", 550 EnrollerTag: "1.0.0-amd64", 551 } 552 553 Expect(instance.Spec.Images.OrdererInitImage).To(Equal(ordererImages.OrdererInitImage)) 554 Expect(instance.Spec.Images.OrdererInitTag).To(Equal(ordererImages.OrdererInitTag)) 555 Expect(instance.Spec.Images.OrdererImage).To(Equal(ordererImages.OrdererImage)) 556 Expect(instance.Spec.Images.OrdererTag).To(Equal(ordererImages.OrdererTag)) 557 Expect(instance.Spec.Images.GRPCWebImage).To(Equal(ordererImages.GRPCWebImage)) 558 Expect(instance.Spec.Images.GRPCWebTag).To(Equal(ordererImages.GRPCWebTag)) 559 Expect(instance.Spec.Images.EnrollerImage).To(Equal(ordererImages.EnrollerImage)) 560 Expect(instance.Spec.Images.EnrollerTag).To(Equal(ordererImages.EnrollerTag)) 561 }) 562 }) 563 564 It("returns error if requested version not found", func() { 565 instance.Spec.FabricVersion = "5.1.0-1" 566 err := image.SetDefaults(instance) 567 Expect(err).To(HaveOccurred()) 568 }) 569 }) 570 }) 571 })