v1.27.0-a #10
@ -101,6 +101,21 @@ func EnsembleOneTwo(t *testing.T, opts ...interface{}) (*TestFullNode, *TestMine
|
||||
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) {
|
||||
for _, v := range opts {
|
||||
switch o := v.(type) {
|
||||
|
@ -22,6 +22,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/chain/types"
|
||||
"github.com/filecoin-project/lotus/chain/wallet/key"
|
||||
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/node"
|
||||
)
|
||||
@ -54,6 +55,17 @@ type TestFullNode struct {
|
||||
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 {
|
||||
var wrappedFullNode TestFullNode
|
||||
var fns api.FullNodeStruct
|
||||
|
Loading…
Reference in New Issue
Block a user