github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/protos/common/configtx_test.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package common 8 9 import ( 10 "testing" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestConfigGroup(t *testing.T) { 16 var cg *ConfigGroup 17 18 cg = nil 19 20 assert.Equal(t, uint64(0), cg.GetVersion()) 21 assert.Equal(t, "", cg.GetModPolicy()) 22 assert.Nil(t, cg.GetGroups()) 23 assert.Nil(t, cg.GetValues()) 24 assert.Nil(t, cg.GetPolicies()) 25 26 cg = &ConfigGroup{ 27 Version: uint64(1), 28 ModPolicy: "ModPolicy", 29 Groups: make(map[string]*ConfigGroup), 30 Values: make(map[string]*ConfigValue), 31 Policies: make(map[string]*ConfigPolicy), 32 } 33 assert.Equal(t, uint64(1), cg.GetVersion()) 34 assert.Equal(t, "ModPolicy", cg.GetModPolicy()) 35 assert.NotNil(t, cg.GetGroups()) 36 assert.NotNil(t, cg.GetValues()) 37 assert.NotNil(t, cg.GetPolicies()) 38 39 cg = NewConfigGroup() 40 cg.Groups["test"] = NewConfigGroup() 41 cg.Values["test"] = &ConfigValue{} 42 cg.Policies["test"] = &ConfigPolicy{} 43 _, ok := cg.GetGroups()["test"] 44 assert.Equal(t, true, ok) 45 _, ok = cg.GetValues()["test"] 46 assert.Equal(t, true, ok) 47 _, ok = cg.GetPolicies()["test"] 48 assert.Equal(t, true, ok) 49 50 cg.Reset() 51 assert.Nil(t, cg.GetGroups()) 52 53 _ = cg.String() 54 _, _ = cg.Descriptor() 55 cg.ProtoMessage() 56 } 57 58 func TestConfigValue(t *testing.T) { 59 var cv *ConfigValue 60 cv = nil 61 assert.Equal(t, uint64(0), cv.GetVersion()) 62 assert.Equal(t, "", cv.GetModPolicy()) 63 assert.Nil(t, cv.GetValue()) 64 cv = &ConfigValue{ 65 Version: uint64(1), 66 ModPolicy: "ModPolicy", 67 Value: []byte{}, 68 } 69 assert.Equal(t, uint64(1), cv.GetVersion()) 70 assert.Equal(t, "ModPolicy", cv.GetModPolicy()) 71 assert.NotNil(t, cv.GetValue()) 72 cv.Reset() 73 _ = cv.String() 74 _, _ = cv.Descriptor() 75 cv.ProtoMessage() 76 } 77 78 func TestConfigEnvelope(t *testing.T) { 79 var env *ConfigEnvelope 80 81 env = nil 82 assert.Nil(t, env.GetConfig()) 83 assert.Nil(t, env.GetLastUpdate()) 84 85 env = &ConfigEnvelope{ 86 Config: &Config{}, 87 LastUpdate: &Envelope{}, 88 } 89 assert.NotNil(t, env.GetConfig()) 90 assert.NotNil(t, env.GetLastUpdate()) 91 92 env.Reset() 93 assert.Nil(t, env.GetConfig()) 94 95 _ = env.String() 96 _, _ = env.Descriptor() 97 env.ProtoMessage() 98 } 99 100 func TestConfigGroupSchema(t *testing.T) { 101 var cgs *ConfigGroupSchema 102 103 cgs = nil 104 assert.Nil(t, cgs.GetGroups()) 105 assert.Nil(t, cgs.GetPolicies()) 106 assert.Nil(t, cgs.GetValues()) 107 108 cgs = &ConfigGroupSchema{ 109 Groups: make(map[string]*ConfigGroupSchema), 110 Values: make(map[string]*ConfigValueSchema), 111 Policies: make(map[string]*ConfigPolicySchema), 112 } 113 assert.NotNil(t, cgs.GetGroups()) 114 assert.NotNil(t, cgs.GetPolicies()) 115 assert.NotNil(t, cgs.GetValues()) 116 117 cgs.Reset() 118 assert.Nil(t, cgs.GetGroups()) 119 120 _ = cgs.String() 121 _, _ = cgs.Descriptor() 122 cgs.ProtoMessage() 123 } 124 125 func TestGenericSchema(t *testing.T) { 126 cvs := &ConfigValueSchema{} 127 cvs.Reset() 128 _ = cvs.String() 129 _, _ = cvs.Descriptor() 130 cvs.ProtoMessage() 131 132 cps := &ConfigPolicySchema{} 133 cps.Reset() 134 _ = cps.String() 135 _, _ = cps.Descriptor() 136 cps.ProtoMessage() 137 } 138 139 func TestConfig(t *testing.T) { 140 var c *Config 141 142 c = nil 143 assert.Nil(t, c.GetChannelGroup()) 144 assert.Equal(t, uint64(0), c.GetSequence()) 145 146 c = &Config{ 147 ChannelGroup: &ConfigGroup{}, 148 Sequence: uint64(1), 149 } 150 assert.NotNil(t, c.GetChannelGroup()) 151 assert.Equal(t, uint64(1), c.GetSequence()) 152 153 c.Reset() 154 assert.Nil(t, c.GetChannelGroup()) 155 156 _ = c.String() 157 _, _ = c.Descriptor() 158 c.ProtoMessage() 159 } 160 161 func TestConfigUpdateEnvelope(t *testing.T) { 162 var env *ConfigUpdateEnvelope 163 164 env = nil 165 assert.Nil(t, env.GetSignatures()) 166 assert.Nil(t, env.GetConfigUpdate()) 167 168 env = &ConfigUpdateEnvelope{ 169 Signatures: []*ConfigSignature{ 170 &ConfigSignature{}, 171 }, 172 ConfigUpdate: []byte("configupdate"), 173 } 174 assert.NotNil(t, env.GetSignatures()) 175 assert.NotNil(t, env.GetConfigUpdate()) 176 177 env.Reset() 178 assert.Nil(t, env.GetSignatures()) 179 180 _ = env.String() 181 _, _ = env.Descriptor() 182 env.ProtoMessage() 183 } 184 185 func TestConfigUpdate(t *testing.T) { 186 var c *ConfigUpdate 187 188 c = nil 189 assert.Equal(t, "", c.GetChannelId()) 190 assert.Nil(t, c.GetReadSet()) 191 assert.Nil(t, c.GetWriteSet()) 192 193 c = &ConfigUpdate{ 194 ChannelId: "ChannelId", 195 ReadSet: &ConfigGroup{}, 196 WriteSet: &ConfigGroup{}, 197 } 198 assert.Equal(t, "ChannelId", c.GetChannelId()) 199 assert.NotNil(t, c.GetReadSet()) 200 assert.NotNil(t, c.GetWriteSet()) 201 202 c.Reset() 203 assert.Nil(t, c.GetReadSet()) 204 205 _ = c.String() 206 _, _ = c.Descriptor() 207 c.ProtoMessage() 208 } 209 210 func TestConfigPolicy(t *testing.T) { 211 var cp *ConfigPolicy 212 213 cp = nil 214 assert.Equal(t, uint64(0), cp.GetVersion()) 215 assert.Nil(t, cp.GetPolicy()) 216 assert.Equal(t, "", cp.GetModPolicy()) 217 218 cp = &ConfigPolicy{ 219 Version: uint64(1), 220 Policy: &Policy{}, 221 ModPolicy: "ModPolicy", 222 } 223 assert.Equal(t, uint64(1), cp.GetVersion()) 224 assert.NotNil(t, cp.GetPolicy()) 225 assert.Equal(t, "ModPolicy", cp.GetModPolicy()) 226 227 cp.Reset() 228 assert.Nil(t, cp.GetPolicy()) 229 230 _ = cp.String() 231 _, _ = cp.Descriptor() 232 cp.ProtoMessage() 233 } 234 235 func TestConfigSignature(t *testing.T) { 236 var cs *ConfigSignature 237 238 cs = nil 239 assert.Nil(t, cs.GetSignature()) 240 assert.Nil(t, cs.GetSignatureHeader()) 241 cs = &ConfigSignature{ 242 Signature: []byte{}, 243 SignatureHeader: []byte{}, 244 } 245 assert.NotNil(t, cs.GetSignature()) 246 assert.NotNil(t, cs.GetSignatureHeader()) 247 248 cs.Reset() 249 assert.Nil(t, cs.GetSignature()) 250 _ = cs.String() 251 _, _ = cs.Descriptor() 252 cs.ProtoMessage() 253 }