Skip to content

Commit 305c5ad

Browse files
author
Jason Yellick
committed
FAB-10976 Move lifecycle to its own package
Because of some errors with cyclical imports for the chaincode package tests which are not written as _test packages, we need to define a structure to represent a chaincode which is not the ChaincodeDeploymentSpec but which is also not inside of the chaincode package. Defining this in the lifecycle portion makes sense, so as a prerequisite, moving lifecycle from the chaincode package, to a subpackage called lifecycle. Note: This introduces some stuttering, that will be remedied in a later CR. Change-Id: I8883b9fc39d7b23d42ba6df31389e5a9df248457 Signed-off-by: Jason Yellick <jyellick@us.ibm.com>
1 parent 5918252 commit 305c5ad

File tree

9 files changed

+155
-12
lines changed

9 files changed

+155
-12
lines changed

core/chaincode/chaincode_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package chaincode_test
99
import (
1010
commonledger "github.com/hyperledger/fabric/common/ledger"
1111
"github.com/hyperledger/fabric/core/chaincode"
12+
"github.com/hyperledger/fabric/core/chaincode/lifecycle"
1213
"github.com/hyperledger/fabric/core/common/ccprovider"
1314
"github.com/hyperledger/fabric/core/container/ccintf"
1415
"github.com/hyperledger/fabric/core/ledger"
@@ -55,7 +56,7 @@ type processor interface {
5556

5657
//go:generate counterfeiter -o mock/executor.go --fake-name Executor . executor
5758
type executor interface {
58-
chaincode.Executor
59+
lifecycle.Executor
5960
}
6061

6162
//go:generate counterfeiter -o mock/invoker.go --fake-name Invoker . invoker

core/chaincode/chaincode_support.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
"github.com/golang/protobuf/proto"
1414
"github.com/hyperledger/fabric/common/util"
15+
"github.com/hyperledger/fabric/core/chaincode/lifecycle"
1516
"github.com/hyperledger/fabric/core/chaincode/platforms"
1617
"github.com/hyperledger/fabric/core/common/ccprovider"
1718
"github.com/hyperledger/fabric/core/common/sysccprovider"
@@ -90,7 +91,7 @@ func NewChaincodeSupport(
9091
Runtime: cs.Runtime,
9192
Registry: cs.HandlerRegistry,
9293
PackageProvider: packageProvider,
93-
Lifecycle: &Lifecycle{Executor: cs},
94+
Lifecycle: &lifecycle.Lifecycle{Executor: cs},
9495
StartupTimeout: config.StartupTimeout,
9596
}
9697

@@ -155,7 +156,7 @@ func (cs *ChaincodeSupport) HandleChaincodeStream(ctxt context.Context, stream c
155156

156157
handler := &Handler{
157158
Invoker: cs,
158-
DefinitionGetter: &Lifecycle{Executor: cs},
159+
DefinitionGetter: &lifecycle.Lifecycle{Executor: cs},
159160
Keepalive: cs.Keepalive,
160161
Registry: cs.HandlerRegistry,
161162
ACLProvider: cs.ACLProvider,

core/chaincode/lifecycle.go renamed to core/chaincode/lifecycle/lifecycle.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Copyright IBM Corp. All Rights Reserved.
44
SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
package chaincode
7+
package lifecycle
88

99
import (
1010
"github.com/golang/protobuf/proto"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
Copyright IBM Corp. All Rights Reserved.
3+
4+
SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
package lifecycle_test
8+
9+
import (
10+
"github.com/hyperledger/fabric/core/chaincode/lifecycle"
11+
12+
. "github.com/onsi/ginkgo"
13+
. "github.com/onsi/gomega"
14+
15+
"testing"
16+
)
17+
18+
//go:generate counterfeiter -o mock/executor.go --fake-name Executor . executor
19+
type executor interface {
20+
lifecycle.Executor
21+
}
22+
23+
func TestLifecycle(t *testing.T) {
24+
RegisterFailHandler(Fail)
25+
RunSpecs(t, "Lifecycle Suite")
26+
}

core/chaincode/lifecycle_test.go renamed to core/chaincode/lifecycle/lifecycle_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ Copyright IBM Corp. All Rights Reserved.
44
SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
package chaincode_test
7+
package lifecycle_test
88

99
import (
1010
"github.com/golang/protobuf/proto"
1111
"github.com/hyperledger/fabric/common/util"
12-
"github.com/hyperledger/fabric/core/chaincode"
13-
"github.com/hyperledger/fabric/core/chaincode/mock"
12+
lc "github.com/hyperledger/fabric/core/chaincode/lifecycle"
13+
"github.com/hyperledger/fabric/core/chaincode/lifecycle/mock"
1414
"github.com/hyperledger/fabric/core/chaincode/shim"
1515
"github.com/hyperledger/fabric/core/common/ccprovider"
1616
pb "github.com/hyperledger/fabric/protos/peer"
@@ -26,14 +26,14 @@ var _ = Describe("Lifecycle", func() {
2626
signedProp *pb.SignedProposal
2727
proposal *pb.Proposal
2828

29-
lifecycle *chaincode.Lifecycle
29+
lifecycle *lc.Lifecycle
3030
)
3131

3232
BeforeEach(func() {
3333
fakeExecutor = &mock.Executor{}
3434
signedProp = &pb.SignedProposal{ProposalBytes: []byte("some-proposal-bytes")}
3535
proposal = &pb.Proposal{Payload: []byte("some-payload-bytes")}
36-
lifecycle = &chaincode.Lifecycle{
36+
lifecycle = &lc.Lifecycle{
3737
Executor: fakeExecutor,
3838
}
3939
})

core/chaincode/lifecycle/mock/executor.go

Lines changed: 112 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/chaincode/runtime_launcher.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package chaincode
99
import (
1010
"time"
1111

12+
"github.com/hyperledger/fabric/core/chaincode/lifecycle"
1213
"github.com/hyperledger/fabric/core/common/ccprovider"
1314
pb "github.com/hyperledger/fabric/protos/peer"
1415
"github.com/pkg/errors"
@@ -31,7 +32,7 @@ type RuntimeLauncher struct {
3132
Runtime Runtime
3233
Registry LaunchRegistry
3334
PackageProvider PackageProvider
34-
Lifecycle *Lifecycle
35+
Lifecycle *lifecycle.Lifecycle
3536
StartupTimeout time.Duration
3637
}
3738

core/chaincode/runtime_launcher_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/hyperledger/fabric/common/util"
1414
"github.com/hyperledger/fabric/core/chaincode"
1515
"github.com/hyperledger/fabric/core/chaincode/fake"
16+
lc "github.com/hyperledger/fabric/core/chaincode/lifecycle"
1617
"github.com/hyperledger/fabric/core/chaincode/mock"
1718
"github.com/hyperledger/fabric/core/chaincode/shim"
1819
"github.com/hyperledger/fabric/core/common/ccprovider"
@@ -74,7 +75,7 @@ var _ = Describe("RuntimeLauncher", func() {
7475
}
7576
fakeExecutor = &mock.Executor{}
7677
fakeExecutor.ExecuteReturns(cdsResponse, nil, nil)
77-
lifecycle := &chaincode.Lifecycle{
78+
lifecycle := &lc.Lifecycle{
7879
Executor: fakeExecutor,
7980
}
8081

core/endorser/support.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/hyperledger/fabric/core/aclmgmt"
1515
"github.com/hyperledger/fabric/core/aclmgmt/resources"
1616
"github.com/hyperledger/fabric/core/chaincode"
17+
lc "github.com/hyperledger/fabric/core/chaincode/lifecycle"
1718
"github.com/hyperledger/fabric/core/common/ccprovider"
1819
"github.com/hyperledger/fabric/core/handlers/decoration"
1920
. "github.com/hyperledger/fabric/core/handlers/endorsement/api/identities"
@@ -148,7 +149,7 @@ func (s *SupportImpl) GetChaincodeDefinition(ctx context.Context, chainID string
148149
if txsim != nil {
149150
ctxt = context.WithValue(ctx, chaincode.TXSimulatorKey, txsim)
150151
}
151-
lifecycle := &chaincode.Lifecycle{
152+
lifecycle := &lc.Lifecycle{
152153
Executor: s.ChaincodeSupport,
153154
}
154155
return lifecycle.GetChaincodeDefinition(ctxt, txid, signedProp, prop, chainID, chaincodeID)

0 commit comments

Comments
 (0)