|
1 | 1 | /*
|
2 |
| -Copyright IBM Corp. 2016 All Rights Reserved. |
| 2 | +Copyright IBM Corp. All Rights Reserved. |
3 | 3 |
|
4 |
| -Licensed under the Apache License, Version 2.0 (the "License"); |
5 |
| -you may not use this file except in compliance with the License. |
6 |
| -You may obtain a copy of the License at |
7 |
| -
|
8 |
| - http://www.apache.org/licenses/LICENSE-2.0 |
9 |
| -
|
10 |
| -Unless required by applicable law or agreed to in writing, software |
11 |
| -distributed under the License is distributed on an "AS IS" BASIS, |
12 |
| -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 |
| -See the License for the specific language governing permissions and |
14 |
| -limitations under the License. |
| 4 | +SPDX-License-Identifier: Apache-2.0 |
15 | 5 | */
|
16 | 6 |
|
17 | 7 | package dockercontroller
|
@@ -46,7 +36,7 @@ import (
|
46 | 36 | func TestRealPath(t *testing.T) {
|
47 | 37 | coreutil.SetupTestConfig()
|
48 | 38 | ctxt := context.Background()
|
49 |
| - dc := NewDockerVM() |
| 39 | + dc := NewDockerVM("", "") |
50 | 40 | ccid := ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "simple"}}}
|
51 | 41 | reader := getCodeChainBytesInMem()
|
52 | 42 |
|
@@ -249,27 +239,73 @@ func Test_Destroy(t *testing.T) {
|
249 | 239 |
|
250 | 240 | type testCase struct {
|
251 | 241 | name string
|
| 242 | + vm *DockerVM |
252 | 243 | ccid ccintf.CCID
|
253 | 244 | formatFunc func(string) (string, error)
|
254 | 245 | expectedOutput string
|
255 | 246 | }
|
256 | 247 |
|
257 | 248 | func TestGetVMName(t *testing.T) {
|
258 |
| - dvm := DockerVM{} |
259 |
| - var tc []testCase |
260 |
| - |
261 |
| - tc = append(tc, |
262 |
| - testCase{"mycc", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, NetworkID: "dev", PeerID: "peer0", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-peer0-mycc-1.0"))))}, |
263 |
| - testCase{"mycc-nonetworkid", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, PeerID: "peer1", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "peer1-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("peer1-mycc-1.0"))))}, |
264 |
| - testCase{"myCC-UCids", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, NetworkID: "Dev", PeerID: "Peer0", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("Dev-Peer0-myCC-1.0"))))}, |
265 |
| - testCase{"myCC-idsWithSpecialChars", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, NetworkID: "Dev$dev", PeerID: "Peer*0", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "dev-dev-peer-0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("Dev$dev-Peer*0-myCC-1.0"))))}, |
266 |
| - testCase{"mycc-nopeerid", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, NetworkID: "dev", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "dev-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-mycc-1.0"))))}, |
267 |
| - testCase{"myCC-LCids", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, NetworkID: "dev", PeerID: "peer0", Version: "1.0"}, formatImageName, fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-peer0-myCC-1.0"))))}, |
268 |
| - testCase{"myCC-preserveCase", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, NetworkID: "Dev", PeerID: "Peer0", Version: "1.0"}, nil, fmt.Sprintf("%s", "Dev-Peer0-myCC-1.0")}, |
269 |
| - testCase{"invalidCharsFormatFunction", ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, NetworkID: "Dev", PeerID: "Peer0", Version: "1.0"}, formatInvalidChars, fmt.Sprintf("%s", "inv-lid-character--")}) |
| 249 | + tc := []testCase{ |
| 250 | + { |
| 251 | + name: "mycc", |
| 252 | + vm: &DockerVM{NetworkID: "dev", PeerID: "peer0"}, |
| 253 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, Version: "1.0"}, |
| 254 | + formatFunc: formatImageName, |
| 255 | + expectedOutput: fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-peer0-mycc-1.0")))), |
| 256 | + }, |
| 257 | + { |
| 258 | + name: "mycc-nonetworkid", |
| 259 | + vm: &DockerVM{PeerID: "peer1"}, |
| 260 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, Version: "1.0"}, |
| 261 | + formatFunc: formatImageName, |
| 262 | + expectedOutput: fmt.Sprintf("%s-%s", "peer1-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("peer1-mycc-1.0")))), |
| 263 | + }, |
| 264 | + { |
| 265 | + name: "myCC-UCids", |
| 266 | + vm: &DockerVM{NetworkID: "Dev", PeerID: "Peer0"}, |
| 267 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, Version: "1.0"}, |
| 268 | + formatFunc: formatImageName, |
| 269 | + expectedOutput: fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("Dev-Peer0-myCC-1.0")))), |
| 270 | + }, |
| 271 | + { |
| 272 | + name: "myCC-idsWithSpecialChars", |
| 273 | + vm: &DockerVM{NetworkID: "Dev$dev", PeerID: "Peer*0"}, |
| 274 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, Version: "1.0"}, |
| 275 | + formatFunc: formatImageName, |
| 276 | + expectedOutput: fmt.Sprintf("%s-%s", "dev-dev-peer-0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("Dev$dev-Peer*0-myCC-1.0")))), |
| 277 | + }, |
| 278 | + { |
| 279 | + name: "mycc-nopeerid", |
| 280 | + vm: &DockerVM{NetworkID: "dev"}, |
| 281 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "mycc"}}, Version: "1.0"}, |
| 282 | + formatFunc: formatImageName, |
| 283 | + expectedOutput: fmt.Sprintf("%s-%s", "dev-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-mycc-1.0")))), |
| 284 | + }, |
| 285 | + { |
| 286 | + name: "myCC-LCids", |
| 287 | + vm: &DockerVM{NetworkID: "dev", PeerID: "peer0"}, |
| 288 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, Version: "1.0"}, |
| 289 | + formatFunc: formatImageName, |
| 290 | + expectedOutput: fmt.Sprintf("%s-%s", "dev-peer0-mycc-1.0", hex.EncodeToString(util.ComputeSHA256([]byte("dev-peer0-myCC-1.0")))), |
| 291 | + }, |
| 292 | + { |
| 293 | + name: "myCC-preserveCase", |
| 294 | + vm: &DockerVM{NetworkID: "Dev", PeerID: "Peer0"}, |
| 295 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, Version: "1.0"}, |
| 296 | + formatFunc: nil, |
| 297 | + expectedOutput: fmt.Sprintf("%s", "Dev-Peer0-myCC-1.0")}, |
| 298 | + { |
| 299 | + name: "invalidCharsFormatFunction", |
| 300 | + vm: &DockerVM{NetworkID: "Dev", PeerID: "Peer0"}, |
| 301 | + ccid: ccintf.CCID{ChaincodeSpec: &pb.ChaincodeSpec{ChaincodeId: &pb.ChaincodeID{Name: "myCC"}}, Version: "1.0"}, |
| 302 | + formatFunc: formatInvalidChars, |
| 303 | + expectedOutput: fmt.Sprintf("%s", "inv-lid-character--"), |
| 304 | + }, |
| 305 | + } |
270 | 306 |
|
271 | 307 | for _, test := range tc {
|
272 |
| - name, err := dvm.GetVMName(test.ccid, test.formatFunc) |
| 308 | + name, err := test.vm.GetVMName(test.ccid, test.formatFunc) |
273 | 309 | assert.Nil(t, err, "Expected nil error")
|
274 | 310 | assert.Equal(t, test.expectedOutput, name, "Unexpected output for test case name: %s", test.name)
|
275 | 311 | }
|
|
0 commit comments