v1.27.0-a #10
@ -101,6 +101,21 @@ func EnsembleOneTwo(t *testing.T, opts ...interface{}) (*TestFullNode, *TestMine
|
|||||||
return &full, &one, &two, ens
|
return &full, &one, &two, ens
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EnsembleProvider creates and starts an Ensemble with a single full node and a single provider.
|
||||||
|
// It does not interconnect nodes nor does it begin mining.
|
||||||
|
func EnsembleProvider(t *testing.T, opts ...interface{}) (*TestFullNode, *TestProviderNode, *Ensemble) {
|
||||||
|
opts = append(opts, WithAllSubsystems())
|
||||||
|
|
||||||
|
eopts, nopts := siftOptions(t, opts)
|
||||||
|
|
||||||
|
var (
|
||||||
|
full TestFullNode
|
||||||
|
provider TestProviderNode
|
||||||
|
)
|
||||||
|
ens := NewEnsemble(t, eopts...).FullNode(&full, nopts...).Provider(&provider, &full, nopts...).Start()
|
||||||
|
return &full, &provider, ens
|
||||||
|
}
|
||||||
|
|
||||||
func siftOptions(t *testing.T, opts []interface{}) (eopts []EnsembleOpt, nopts []NodeOpt) {
|
func siftOptions(t *testing.T, opts []interface{}) (eopts []EnsembleOpt, nopts []NodeOpt) {
|
||||||
for _, v := range opts {
|
for _, v := range opts {
|
||||||
switch o := v.(type) {
|
switch o := v.(type) {
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
"github.com/filecoin-project/lotus/chain/wallet/key"
|
"github.com/filecoin-project/lotus/chain/wallet/key"
|
||||||
cliutil "github.com/filecoin-project/lotus/cli/util"
|
cliutil "github.com/filecoin-project/lotus/cli/util"
|
||||||
|
"github.com/filecoin-project/lotus/cmd/lotus-provider/deps"
|
||||||
"github.com/filecoin-project/lotus/gateway"
|
"github.com/filecoin-project/lotus/gateway"
|
||||||
"github.com/filecoin-project/lotus/node"
|
"github.com/filecoin-project/lotus/node"
|
||||||
)
|
)
|
||||||
@ -54,6 +55,17 @@ type TestFullNode struct {
|
|||||||
options nodeOpts
|
options nodeOpts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestProviderNode represents a Provider node enrolled in an Ensemble.
|
||||||
|
type TestProviderNode struct {
|
||||||
|
v1api.LotusProviderStruct
|
||||||
|
|
||||||
|
t *testing.T
|
||||||
|
|
||||||
|
*deps.Deps
|
||||||
|
|
||||||
|
options nodeOpts
|
||||||
|
}
|
||||||
|
|
||||||
func MergeFullNodes(fullNodes []*TestFullNode) *TestFullNode {
|
func MergeFullNodes(fullNodes []*TestFullNode) *TestFullNode {
|
||||||
var wrappedFullNode TestFullNode
|
var wrappedFullNode TestFullNode
|
||||||
var fns api.FullNodeStruct
|
var fns api.FullNodeStruct
|
||||||
|
Loading…
Reference in New Issue
Block a user