56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package dispatcher_test
|
|
|
|
import (
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
|
|
lc "github.com/hyperledger/fabric-protos-go/peer/lifecycle"
|
|
"github.com/hyperledger/fabric/core/dispatcher"
|
|
|
|
"github.com/golang/protobuf/proto"
|
|
)
|
|
|
|
var _ = Describe("ProtobufImpl", func() {
|
|
var (
|
|
pi *dispatcher.ProtobufImpl
|
|
sampleMsg *lc.InstallChaincodeArgs
|
|
)
|
|
|
|
BeforeEach(func() {
|
|
pi = &dispatcher.ProtobufImpl{}
|
|
sampleMsg = &lc.InstallChaincodeArgs{
|
|
ChaincodeInstallPackage: []byte("install-package"),
|
|
}
|
|
})
|
|
|
|
Describe("Marshal", func() {
|
|
It("passes through to the proto implementation", func() {
|
|
res, err := pi.Marshal(sampleMsg)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
msg := &lc.InstallChaincodeArgs{}
|
|
err = proto.Unmarshal(res, msg)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
Expect(proto.Equal(msg, sampleMsg)).To(BeTrue())
|
|
})
|
|
})
|
|
|
|
Describe("Unmarshal", func() {
|
|
It("passes through to the proto implementation", func() {
|
|
res, err := proto.Marshal(sampleMsg)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
|
|
msg := &lc.InstallChaincodeArgs{}
|
|
err = pi.Unmarshal(res, msg)
|
|
Expect(err).NotTo(HaveOccurred())
|
|
Expect(proto.Equal(msg, sampleMsg)).To(BeTrue())
|
|
})
|
|
})
|
|
})
|