github.com/IBM-Blockchain/fabric-operator@v1.0.4/version/version_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 version_test 20 21 import ( 22 . "github.com/onsi/ginkgo/v2" 23 . "github.com/onsi/gomega" 24 25 "github.com/IBM-Blockchain/fabric-operator/version" 26 ) 27 28 var _ = Describe("Version", func() { 29 30 Context("get fabric version from", func() { 31 It("returns version from image tag", func() { 32 fabricVersion := version.GetFabricVersionFrom("1.4.3-12345-amd64") 33 Expect(fabricVersion).To(Equal("1.4.3")) 34 }) 35 36 It("returns empty string if image tag is a sha256 digest", func() { 37 fabricVersion := version.GetFabricVersionFrom("sha256:2037c532f6c823667baed5af248c01c941b2344c2a939e451b81ea0e03938243") 38 Expect(fabricVersion).To(Equal("")) 39 }) 40 }) 41 42 Context("get old fabric version from", func() { 43 It("returns version from image tag", func() { 44 fabricVersion := version.GetOldFabricVersionFrom("1.4.3-12345-amd64") 45 Expect(fabricVersion).To(Equal("1.4.3")) 46 }) 47 48 It("returns 'unsupported' if an old image tag with a version not found in the lookup table", func() { 49 fabricVersion := version.GetOldFabricVersionFrom("1.4.1-12345-amd64") 50 Expect(fabricVersion).To(Equal("unsupported")) 51 }) 52 }) 53 54 Context("is migrated fabric version", func() { 55 It("return true if version is found in old fabric versions lookup map", func() { 56 migrated := version.IsMigratedFabricVersion("1.4.6") 57 Expect(migrated).To(Equal(true)) 58 }) 59 60 It("returns true if version is 'unsupported''", func() { 61 migrated := version.IsMigratedFabricVersion("unsupported") 62 Expect(migrated).To(Equal(true)) 63 }) 64 65 It("returns false if version not found in old fabric versions lookup map", func() { 66 migrated := version.IsMigratedFabricVersion("1.4.9-4") 67 Expect(migrated).To(Equal(false)) 68 }) 69 }) 70 71 Context("version string", func() { 72 var ( 73 V147 version.String 74 V147_2 version.String 75 V225_5 version.String 76 V241_1 version.String 77 ) 78 79 BeforeEach(func() { 80 V147 = version.String("1.4.7") 81 V147_2 = version.String("1.4.7-2") 82 V225_5 = version.String("2.2.5-5") 83 V241_1 = version.String("2.4.1-1") 84 }) 85 86 Context("equal", func() { 87 It("returns 1.4.7 == 1.4.7 as true", func() { 88 equal := V147.Equal("1.4.7") 89 Expect(equal).To(Equal(true)) 90 }) 91 92 It("returns 1.4.7 == 1.4.6 as false", func() { 93 equal := V147.Equal("1.4.6") 94 Expect(equal).To(Equal(false)) 95 }) 96 97 It("returns 1.4.7 == 1.4.7-1 as false", func() { 98 equal := V147.Equal("1.4.7-1") 99 Expect(equal).To(Equal(false)) 100 }) 101 }) 102 103 Context("greater than", func() { 104 It("returns 1.4.7 > 1.4.7 as false", func() { 105 equal := V147.GreaterThan("1.4.7") 106 Expect(equal).To(Equal(false)) 107 }) 108 109 It("returns 1.4.7 > 1.4.6 as true", func() { 110 equal := V147.GreaterThan("1.4.6") 111 Expect(equal).To(Equal(true)) 112 }) 113 114 It("returns 1.4.7 > 1.4.7-1 as false", func() { 115 equal := V147.GreaterThan("1.4.7-1") 116 Expect(equal).To(Equal(false)) 117 }) 118 119 It("returns 1.4.7-2 > 1.4.7-1 as true", func() { 120 equal := V147_2.GreaterThan("1.4.7-1") 121 Expect(equal).To(Equal(true)) 122 }) 123 124 It("returns 2.2.5-5 > 2.4.1-1 as false", func() { 125 equal := V225_5.GreaterThan("2.4.1-1") 126 Expect(equal).To(Equal(false)) 127 }) 128 129 It("returns 2.4.1-1 > 2.2.5-5 as true", func() { 130 equal := V241_1.GreaterThan("2.2.5-5") 131 Expect(equal).To(Equal(true)) 132 }) 133 }) 134 135 Context("less than", func() { 136 It("returns 1.4.7 < 1.4.7 as false", func() { 137 equal := V147.LessThan("1.4.7") 138 Expect(equal).To(Equal(false)) 139 }) 140 141 It("returns 1.4.7 < 1.4.6 as false", func() { 142 equal := V147.LessThan("1.4.6") 143 Expect(equal).To(Equal(false)) 144 }) 145 146 It("returns 1.4.7 < 1.4.7-1 as true", func() { 147 equal := V147.LessThan("1.4.7-1") 148 Expect(equal).To(Equal(true)) 149 }) 150 151 It("returns 1.4.7-2 < 1.4.7-1 as false", func() { 152 equal := V147_2.LessThan("1.4.7-1") 153 Expect(equal).To(Equal(false)) 154 }) 155 156 It("returns 2.4.1-1 < 2.2.5-5 as false", func() { 157 equal := V241_1.LessThan("2.4.1-1") 158 Expect(equal).To(Equal(false)) 159 }) 160 161 It("returns 2.2.5-5 < 2.4.1-1 as true", func() { 162 equal := V225_5.LessThan("2.4.1-1") 163 Expect(equal).To(Equal(true)) 164 }) 165 }) 166 }) 167 })