36 lines
1.4 KiB
Go
36 lines
1.4 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package discovery_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
discovery "github.com/hyperledger/fabric/discovery/cmd"
|
|
"github.com/hyperledger/fabric/discovery/cmd/mocks"
|
|
"github.com/stretchr/testify/mock"
|
|
"github.com/stretchr/testify/require"
|
|
"gopkg.in/alecthomas/kingpin.v2"
|
|
)
|
|
|
|
func TestAddCommands(t *testing.T) {
|
|
app := kingpin.New("foo", "bar")
|
|
cli := &mocks.CommandRegistrar{}
|
|
configFunc := mock.AnythingOfType("common.CLICommand")
|
|
cli.On("Command", discovery.PeersCommand, mock.Anything, configFunc).Return(app.Command(discovery.PeersCommand, ""))
|
|
cli.On("Command", discovery.ConfigCommand, mock.Anything, configFunc).Return(app.Command(discovery.ConfigCommand, ""))
|
|
cli.On("Command", discovery.EndorsersCommand, mock.Anything, configFunc).Return(app.Command(discovery.EndorsersCommand, ""))
|
|
discovery.AddCommands(cli)
|
|
// Ensure that serve and channel flags are were configured for the sub-commands
|
|
for _, cmd := range []string{discovery.PeersCommand, discovery.ConfigCommand, discovery.EndorsersCommand} {
|
|
require.NotNil(t, app.GetCommand(cmd).GetFlag("server"))
|
|
require.NotNil(t, app.GetCommand(cmd).GetFlag("channel"))
|
|
}
|
|
// Ensure that chaincode and collection flags were called for the endorsers
|
|
require.NotNil(t, app.GetCommand(discovery.EndorsersCommand).GetFlag("chaincode"))
|
|
require.NotNil(t, app.GetCommand(discovery.EndorsersCommand).GetFlag("collection"))
|
|
}
|